Como uma varredura completa da superfície de leitura / gravação por 'badblocks' difere do autoteste integrado do SMART Extended ?
Parece que ambas são varreduras de superfície total, então por que leva badblocks -vws
três dias para testar uma unidade de 1 TB, enquanto a SMART faz isso em duas horas e meia (pelo menos foi a estimativa de tempo que a smartmon me forneceu)?
hard-drive
bad-blocks
Robert S. Barnes
fonte
fonte
badblocks
parâmetros "last-block" "first-block" e executar os testes um pouco por dia?Respostas:
O teste de superfície SMART é quase certamente um passe de leitura único e certamente não destrutivo. Como foi apontado, também é interno ao inversor; com a possível exceção de dados de controle menores, nenhum dado está sendo passado para ou a partir do host durante o teste.
Por outro lado,
badblocks -w
faz quatro passagens pela unidade, cada uma com uma gravação e uma leitura. Isso por si só é responsável por uma diferença de 8 vezes no tempo gasto no teste, além de latência rotacional. Como o software está sendo executado no host, todos esses dados precisam ser embaralhados pela interface do disco para a RAM e manipulados pelo software (badblocks, no nosso caso).Se tomarmos uma latência rotacional da pior das hipóteses de 1 × (o disco precisa fazer uma revolução completa depois de gravar os dados para lê-los novamente, que é praticamente o que você verá se gostar de badblocks primeiro preenche todo o disco e, em seguida, leia tudo de volta, em vez de fazer uma faixa física de E / S por vez que com o LBA é quase impossível), terminamos com o pior caso (1 + 1) × 8 × = 16 × o tempo necessário para complete a operação. 16 × 2,5h = 40h, o que certamente está alinhado com seus números e ainda pressupõe que estamos lidando apenas com armazenamento de dados na unidade e que isso está acontecendo tão rápido quanto a unidade pode suportar E / S sequenciais.
fonte
Os testes curtos e longos SMART executam apenas leituras (localizadas) dos setores; também não é destrutivo para os dados. Os dados lidos são transferidos apenas para o controlador de bordo, não para o PC host. A interface SATA está essencialmente ociosa durante o teste, e a luz de atividade do disco rígido no PC não deve acender.
badblocks -vws
está solicitando um setor de gravação e, em seguida, leia e verifique a operação. Cada gravação e leitura adiciona uma rotação de disco por operação, mais tempo para transferências de dados pela interface SATA e processamento de PC host. A luz de atividade do disco rígido deve estar acesa a maior parte do tempo.fonte
https://wiki.archlinux.org/index.php/badblocks#Comparisons_with_Other_Programs
Portanto, use os testes completos destrutivos dos badblocks sempre que possível.
Edit: Por destrutivo, quis dizer que muitos discos rígidos modernos têm uma carga de trabalho de 180 TB / ano, ou seja, em um HD de 12 TB, você levaria 96 TB de carga de trabalho, se executar o conjunto completo de testes de badblocks apenas para testá-lo. Pode ser de 48 TB, se por carga de trabalho eles apenas significam gravações, o que pode ser o caso, mas não está bem documentado.
fonte