O que é mais rápido, dd 1.5TB ou rsync 500GB?

6

Eu preciso salvar os dados de um disco rígido com falha.

Soa como ddrescue ou myrescue (ou talvez clonezilla ?) serão meus melhores amigos aqui, mas estou apenas imaginando o que provavelmente será mais rápido:

  1. usando dd / ddrescue / myrescue / clonezilla para simplesmente clonar a unidade com falha em uma nova unidade de capacidade idêntica
  2. usando rsync / tar / cp para mover arquivos da unidade com falha para uma nova unidade

?

As opções dd-ish evitam mover dados entre o espaço do kernel e o espaço do usuário, certo? Mas rsync e outros evitam mover espaço vazio, certo?

Outro bit estranhamente feliz se eu escolher uma solução dd-ish: a unidade com falha está atualmente montada somente leitura (parte do processo de falha, eu acho) então eu não preciso me preocupar com a mudança de dados enquanto eu estou dd'ing.

Esta é a partição raiz, então dd seria útil, pois eu deveria ser capaz de inicializar a nova unidade depois que ela for concluída.

    
por Adam Monsen 14.03.2012 / 19:20

1 resposta

11

Sem dúvida, o rsync será mais rápido. O dd terá que ler e escrever todo o 1.5TB e ele irá acertar todos os blocos defeituosos, desencadeando múltiplas tentativas de leitura que retardarão ainda mais um longo processo. O rsync só terá que ler blocos que importam, e como é improvável que todos os blocos ruins ocorram em arquivos ou diretórios existentes, o rsync encontrará menos deles.

A coisa ruim sobre o uso do rsync para o resgate de disco é que se ele encontrar um bloco defeituoso, ele desiste do arquivo ou diretório que o contém. Se um diretório contiver muitos subdiretórios e o rsync desistir de lê-lo, sua cópia poderá estar perdendo muito do que você deseja salvar. O problema é que o rsync depende das estruturas do sistema de arquivos para dizer o que copiar e o próprio sistema de arquivos não é mais confiável.

Por esse motivo, primeiro usaria o rsync para copiar arquivos da unidade, mas eu ficaria muito atento à saída para ver o que foi perdido. Se você não pode viver sem o que o rsync não copiou, use o dd ou um dos outros métodos de cópia de bloco de baixo nível. Você pode então fsck a cópia, montá-lo e ver se você pode recuperar mais de seus arquivos.

    
por 14.03.2012 / 19:48