A melhor maneira de testar novos HDDs para um servidor de armazenamento barato

29

Eu quero construir um servidor de armazenamento e comprei 10 x 2 TB WD RED. O disco rígido acabou de chegar.

Existe alguma ferramenta que você usa para checar o disco ruim ou para melhor defender contra a mortalidade infantil antes de copiar os dados reais para os seus discos?

É melhor verificar cada disco rígido ou testar o array (ZFS raid-z2) copiando muitos dados nele?

Obrigado por seu conselho antecipadamente!

    
por s1lv3r 23.04.2013 / 11:47

7 respostas

14

Eu tive a mesma pergunta há dois meses. Depois de enviar um disco com falha, o disco de substituição falhou no meu NAS após 3 dias. Então decidi testar agora o novo substituto antes de colocá-lo em produção. Eu não testo todos os novos discos que compro, apenas em discos 'recondicionados', nos quais não confio completamente.

Se você decidir testar esses discos, recomendo executar uma verificação badblocks e um teste SMART estendido no novo disco rígido.

Em um disco de 2 TB, isso leva até 48 horas O comando badblock escreve o disco completo com um padrão, depois lê os blocos novamente para ver se o padrão está realmente lá e repetirá isso com 4 padrões diferentes.

Este comando provavelmente não mostrará blocos ruins em um novo disco, discos realocam blocos ruins nos dias de hoje.

Então, antes e depois disso, fiz um teste inteligente e verifiquei a contagem real e real do setor pendente. Se algum desses itens tiver subido, seu disco já terá alguns blocos defeituosos e, portanto, poderá ser indigno de confiança.

Depois disso, executo novamente um teste SMART estendido.

Você pode querer instalar smartctl ou smartmontools primeiro.

Aviso , o sinalizador -w badblocks sobrescreverá todos os dados no disco, se você quiser apenas fazer uma verificação de leitura, sem sobrescrever o disco, use badblocks -vs /dev/sdX

sudo smartctl -a /dev/sdX
# record these numbers
sudo badblocks -wvs /dev/sdX
# let it run for 48 hours
sudo smartctl -a /dev/sdX
# compare numbers
sudo smartctl -t long /dev/sdX
# this might take another hour or 2, check results periodically with
sudo smartctl -a /dev/sdX

Se depois disso, seus valores inteligentes parecem ok, eu confiaria no disco.

Para saber o que cada valor inteligente significa, você pode começar a procurar aqui

link

    
por 26.04.2013 / 14:37
23

Estes são novos discos. Ou eles vão falhar ou não. Você já está dando um grande passo à frente usando o sistema de arquivos ZFS, que lhe dará uma ótima visão sobre sua saúde de raid e sistema de arquivos.

Eu não faria nada além de apenas construir o array. Esse é o ponto da redundância. Você não será capaz de induzir uma falha na unidade com os outros métodos listados.

    
por 23.04.2013 / 14:04
10

Você pode usar o Bonnie ++ para testes. Ele pode emular perfeitamente o padrão de comportamento do servidor de arquivos.

Por exemplo:

# bonnie++ -u nobody -d /home/tmp -n 100:150000:200:100 -x 300

O teste será executado como usuário 'nobody' e criar / reescrever / excluir arquivos 100 * 1024, de 200 a 150000 bytes por arquivo, dentro de 100 diretórios criados automaticamente, abaixo de / home / tmp. E número de testes = 300. Você pode brincar com a contagem de arquivos / tamanho e o número de repetições de teste.

    
por 23.04.2013 / 12:10
9

Normalmente, faço apenas um init RAID completo e, quando aplicável, começo a preencher o sistema de arquivos durante esse tempo todo, sabendo que pode haver um problema devido a unidades inativas. Desta forma, eu não perco tempo para algum tipo de testes que são pouco confiáveis de qualquer maneira e eu pegaria os verdadeiros drives fracos imediatamente. Depois disso, pode haver ainda alguma chance elevada de falhas no drive devido à "mortalidade infantil", mas não há maneira prática de eliminar isso.

Na prática, nenhum dos últimos cem discos que usei em um RAID teve problemas durante o primeiro ano de operação.

    
por 23.04.2013 / 13:16
8

Eu trabalho para uma empresa que faz esse tipo de teste todos os dias. E sim, testamos todos os discos rígidos que compramos. Nosso processo começa com a execução das unidades por meio de um programa baseado em DOS gratuito chamado HDAT2. Seu livre para download. Ele pode acessar o SMART e alguns outros recursos da unidade inacessíveis de um ambiente Windows. Dependendo dos resultados lá, nós os rodaremos através de uma das várias linhas diferentes de hardware especializado, mas no núcleo eles apenas executam o autoteste rápido SMART, o Teste Longo, um apagamento seguro e uma Leitura Completa para verificar os setores. Minha sugestão é executar um apagamento seguro do disco inteiro, depois executar um auto-teste curto todo lido e, em seguida, um SMART. Essa ordem é importante, pois um autoteste curto pode não encontrar nada se for executado no início de seu teste, mas depois de uma gravação e leitura completa do disco, ele pode captar alguma coisa. Espero que isso ajude.

    
por 23.04.2013 / 19:32
4

Você poderia usar o pacote de testes do fabricante, ou algo como SpinRite para varrer todo o disco. Também seria uma boa ideia analisar os valores SMART , procurando setores defeituosos e outros antigos sinais de idade / falha.

    
por 23.04.2013 / 12:03
3

Se você realmente quiser testar, use badblocks write test. Ele gravará os padrões de dados no disco e os lerá para verificar. Durante isso, você irá enfatizar seu disco um pouco. Na minha opinião, se for executado com sucesso, você pode confiar no disco.

Mas acho que o ZFS e um bom backup são suficientes.

    
por 23.04.2013 / 21:08