Operação paralela DDrescue

1

Estou usando o ddrescue para recuperar dados de um disco Seagate Barracuda de 3TB. A unidade está falhando, mas até agora cada setor que eu tento ler retorna os dados corretos, mas pode levar alguns testes (isso significa que o ddrescue tem que fazer várias passagens no último estágio, onde setores defeituosos são lidos).

A operação normal é muito lenta, no entanto. Eu tenho alguns trechos no disco que são lidos em velocidade máxima (60MB / s), mas depois de obter com sucesso ~ 2.5TB de dados, os 500GB restantes estão espalhados pelo disco e são lidos em uma velocidade de ~ 2KB / s, com uma estimativa de alguns milhares de dias para completar.

No entanto, posso executar várias instâncias do ddrescue simultaneamente na mesma unidade, o que aumenta a taxa de transferência, mas não sei como combinar os dados em uma única imagem, principalmente acompanhando o arquivo do mapa. Múltiplos processos significam vários arquivos de mapa, suponho.

Além disso, alguém sabe por que o disco é tão lento? Quer dizer, 2KB / s (ou menos, em caso de erros) é extremamente lento, traz de volta memórias do C64. Demorei 3 horas para obter 30MB de dados. Eu teria uma unidade Barracuda 3TB idêntica que poderia funcionar como um doador de órgãos, se, por acaso, a alteração do controlador pudesse mitigar o problema (mas, ao ler isso, é duvidoso que isso funcione).

    
por Ro-ee 01.08.2017 / 23:47

1 resposta

0

Em vez de complicar as coisas com duas imagens, você pode dizer ao GNU ddrescue para pular as partes lentas e voltar para elas mais tarde.

O sinalizador que permite fazer isso é --min-read-bytes= .

No manual do GNU ddrescue :

--min-read-rate=bytes

Minimum read rate of good non-tried areas, in bytes per second. If the read rate falls below this value, ddrescue will skip ahead a variable amount depending on rate and error histories. The skipped blocks are tried in additional passes (before trimming). If bytes is 0 (auto), the minimum read rate is recalculated every second as (average_rate / 10).

Se você insistir em criar várias imagens, o manual também tem um exemplo de como combiná-las:

Example 4: Merge the partially recovered images of 3 identical DVDs using their mapfiles as domain mapfiles.

 ddrescue -m mapfile1 dvdimage1 dvdimage mapfile
 ddrescue -m mapfile2 dvdimage2 dvdimage mapfile
 ddrescue -m mapfile3 dvdimage3 dvdimage mapfile
   (if bad-sector size is zero, dvdimage now contains a complete image
    of the DVD and you can write it to a blank DVD)
    
por 02.08.2017 / 01:10