Manter a unidade de backup USB inativa enquanto estiver montada?

2

Uma vez a cada poucos dias, aparentemente de forma aleatória, nosso backup para um disco rígido USB externo falha em nosso servidor hp DL380 G5 executando o CentOS 6.4 de 64 bits. Se eu cd /mnt/backup e executar ls , ele reclama ls: reading directory .: Input/output error , mas mount -l relatórios /dev/sda1 on /mnt/backup type ext4 (rw) . Quando eu pego alguém no local para verificá-lo, eles invariavelmente relatam que a luz no drive externo está piscando lentamente, o que é aparentemente normal para um estado de sono. Mas eu não peço para entrar em um estado de suspensão até que o rsnapshot seja executado, mas o rsnapshot faz com que meu script falhe antes que isso aconteça. Está tentando economizar energia? Como posso fazer para não fazer isso?

rsnapshot reclama:

/usr/bin/rsnapshot daily: ERROR: /mnt/backup/.snapshots does not exist.

É claro que, se a pessoa no local desconectar e reconectar a unidade, eu posso remontá-la, e .snapshots certamente existe e o rsnapshot será executado sem erros. Por um tempo até a próxima ocorrência aleatória, isto é. BTW, este é um novo disco WD Passport.

Então, como eu digo para ficar acordado?

    
por Kev 20.12.2013 / 15:24

2 respostas

1

Se esse hw poweroff fosse uma função normal do kernel do linux, ele seria manipulado corretamente. Não, acho que é uma surpresa maravilhosa do hardware da HP.

Sugiro uma solução trivial. Coloque em crontab:

* * * * * dd if=/dev/sda of=/dev/null bs=512 count=1

Isto irá ler na tabela de partições do pendrive a cada minuto. Ele não perderá a vida útil do pendrive, porque ele só fez operações de leitura a partir dele, mas impedirá que o modo de suspensão seja ativado.

Nos meus sistemas, nunca lidei com esse problema. Se um pendrive foi montado, ele foi montado, e se eu esqueci e tentei usar sua partição após duas semanas, ele pôde ser ligado, sem um único aviso de kernel.

    
por 20.12.2013 / 15:40
3

Talvez a melhor coisa para evitar o sono em HD e o cache de firmware seja a leitura de um setor aleatório de seu disco:

* * * * * bash -c 'dd if=/dev/sda of=/dev/null count=1 skip=$RANDOM'

Funcionou muito bem para mim.

    
por 30.09.2014 / 14:24