autoteste vs. SMART Extended Self Test

14

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 -vwstrê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)?

Robert S. Barnes
fonte
sendo mais longo, você já pensou em usar os badblocksparâmetros "last-block" "first-block" e executar os testes um pouco por dia?
Poder de Aquário

Respostas:

12

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 -wfaz 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.

um CVn
fonte
5

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 -vwsestá 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.

serragem
fonte
0

https://wiki.archlinux.org/index.php/badblocks#Comparisons_with_Other_Programs

A ressalva aqui é que alguns fabricantes que testam programas não imprimem resultados completos e permitem que um certo número de setores defeituosos diga apenas se eles são aprovados ou não. Programas de fabricantes, no entanto, geralmente são mais rápidos que badblocks, às vezes uma quantidade razoável.

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.

Ray Foss
fonte