Um disco rígido externo de 3 ½ "parece estar em risco de falhar - está emitindo sons de tique-taque quando ocioso .
Adquiri uma unidade de substituição e quero conhecer a melhor estratégia para obter os dados da unidade duvidosa com a melhor chance de economizar o máximo possível.
Existem alguns diretórios que são mais importantes que outros. No entanto, acho que escolher e escolher diretórios reduzirá minhas chances de salvar a coisa toda. Eu também teria que montá-lo, despejar uma lista de arquivos e desmontá-la para poder priorizar diretórios com eficiência. Acrescentando que é demorado fazer isso, estou me afastando dessa abordagem.
Eu considerei apenas usar dd
, mas não tenho certeza de como ele lidaria com erros de leitura ou outros problemas que poderiam impedir que apenas certas partes dos dados fossem resgatadas ou que poderiam ser superadas com algumas tentativas, mas não com tantas tentativas. comprometer o salvamento de outras partes da unidade. Eu acho que o ideal seria fazer um único passe para obter o máximo possível e depois voltar a tentar novamente tudo o que foi perdido devido a erros.
É possível que copiar mais lentamente - por exemplo, pausando cada x MB / GB - seja melhor do que apenas executar a operação em full tilt, por exemplo, para evitar problemas de superaquecimento?
Para a multidão "onde está o seu backup": esta é realmente a minha unidade de backup, mas também contém algumas coisas não críticas e volumosas, como música, que não são backups, ou seja, não são copiadas.
O drive não exibiu nenhum sinal claro de falha além desse som um tanto ameaçador. Eu tive que corrigir alguns erros recentemente - inodes órfãos, contagem incorreta de blocos / inodes livres, diferenças de bitmap no inode, zero hora no inodes excluídos; cerca de 20 erros no total.
O sistema de arquivos da partição é ext3.
fonte
Respostas:
Você pode usar
ddrescue
oudd_rescue
oumyrescue
clonar o disco com falha, sem interromper nenhum setor ilegível. (O Myrescue é menos configurável, mas possui uma estratégia padrão melhor ao tentar pular regiões ilegíveis.) Isso copiará tudo, incluindo o espaço em branco, e não permitirá que você defina prioridades. No entanto, tal abordagem de baixo nível tem uma vantagem sobre ferramentas de nível de sistema de arquivos: se um diretório é ilegível, você ainda pode recuperar os arquivos que ele contém, pesquisando a imagem crua com ferramentas comoforemost
,magicrescue
,photorec
incluído no testdisk , etc.fonte
magicrescue
parece estar quebrado; você quis dizer itu.dk/~jobr/magicrescue ?ddrescue
exemplo configurado com osmyrescue
padrões? Obrigado!ddrescue
/dd_rescue
você faz o primeiro passe com tamanho de bloco grande e muda para menor nos passes a seguir (por exemplo, diminuindo pela metade o tamanho de cada vez). Obviamente, isso requer que você use um arquivo de log (consulte a página de manual).ddrescue
vem do pacotegddrescue
;dd_rescue
do pacoteddrescue
; emyrescue
do pacotemyrescue
.Não há como saber o melhor de suas opções sem saber exatamente o que está errado com a unidade. Se for uma falha mecânica, evitar o aquecimento pode ajudar, mas se for devido a erros nos dados do servo, é provável que o calor não importe.
Eu começaria imediatamente a copiar os dados exclusivos para a nova unidade
rsync
.rsync
permitirá pausar, retomar e reiniciar conforme necessário até você obter todos os dados.Então eu executaria uma limpeza de dados na unidade. Presumo que, no
ext3
sistema de arquivos, você esteja executando o Linux, tente o seguinte:(Desmontar a unidade primeiro é importante.)
Isso lerá todos os setores do disco e o gravará sem alterações. Isso forçará o firmware da unidade a verificar todos os setores em busca de erros e a remapear todos os setores defeituosos encontrados. Esta é a parte mais importante do que o caro programa SpinRite faz. Avance para isso apenas se
badblocks
falhar e você ainda não obteve todos os dados exclusivos da unidade: o SpinRite se esforça mais do quebadblocks
faz.fonte
Se o disco estiver acabando, primeiro certifique-se de fazer o melhor clone possível (consulte a resposta de Gilles) e só depois continue jogando com a unidade. Dessa forma, você sempre terá pelo menos alguns dados, caso algo dê errado (o que geralmente pode acontecer com a falha de um hardware).
Se você usar
ddrescue
(oudd_rescue
não tiver certeza dos outros), sempre poderá fazer uma cópia dos dados parcialmente clonados e do arquivo de log associado e tentar melhorá-lo, executandoddrescue
novamente depois de fazer algo que deveria consertar a unidade. Ele tentará ler as partes ausentes, deixando as partes bem clonadas intocadas.fonte