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

31

Eu quero construir um servidor de armazenamento e comprei 10 x 2TB WD RED's. O HDD'srecém-chegado.

Existe alguma ferramenta que vocês usam para verificar se há discos defeituosos ou para se defender melhor contra a mortalidade infantil antes de copiar dados reais para seus discos?

É melhor verificar cada uma delas HDDou testar a matriz ( ZFS raid-z2) copiando muitos dados nela?

s1lv3r
fonte
11
Sei que existem algumas ferramentas específicas do fornecedor, como "WD Data LifeGuard Diagnostics". Mas eu me pergunto o que os caras fazem, que compram muitos discos rígidos. Duvido que eles verifiquem todos os discos rígidos (isso leva muito tempo ...), por isso me pergunto se existe uma ferramenta que possa executar um teste SMART completo em todos os discos rígidos de uma só vez?
precisa saber é o seguinte
3
Praticamente qualquer coisa que grava nas unidades pode ser usada como teste; um golpe completo ou dois da matriz deve ser suficiente para detectar a mortalidade infantil. É realmente uma boa ideia comprar unidades de diferentes fornecedores / lotes quando você estiver adquirindo mais de um par - diminui significativamente as chances de várias unidades falharem ao mesmo tempo (devido a defeitos de fabricação semelhantes).
Chris S

Respostas:

14

Eu tive a mesma pergunta 2 meses atrás. Após o envio de um disco com falha, o disco de substituição falhou no meu NAS após 3 dias. Decidi agora testar a nova substituição antes de colocá-la em produção. Não testo todos os discos novos que compro, apenas em discos 'recondicionados', nos quais não confio completamente.

Se você decidir testar esses discos, recomendo executar uma verificação de 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 grava o disco cheio com um padrão, depois lê os blocos novamente para ver se o padrão está realmente lá e o repetirá com 4 padrões diferentes.

Esse comando provavelmente não mostrará nenhum bloco defeituoso em um novo disco, pois os discos realocam os blocos defeituosos atualmente.

Portanto, antes e depois disso, executei um teste inteligente e verifico a contagem do setor pendente realocado e atual. Se alguma dessas opções foi ativada, seu disco já possui alguns blocos defeituosos e, portanto, pode não ser confiável.

Depois disso, eu executo um teste SMART estendido novamente.

Você pode instalar o smartctl ou smartmontools primeiro.

Atenção , o sinalizador badwocks -w substituirá todos os dados no seu disco; se você quiser apenas fazer uma verificação de leitura, sem sobrescrever o disco, usebadblocks -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 parecerem bons, eu confiaria no disco.

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

http://en.wikipedia.org/wiki/Self-Monitoring,_Analysis,_and_Reporting_Technology

Jens Timmerman
fonte
Como os outros supuseram que isso pode estar fazendo muito, mas como eu só tenho 10 discos e certamente não pode fazer nada mal, estou apenas verificando todos os discos da maneira que você sugeriu agora. Obrigado pela sua resposta abrangente.
precisa saber é o seguinte
23

Estes são novos discos. Ou eles vão falhar ou não. Você já está um grande passo à frente ao usar o sistema de arquivos ZFS, que fornecerá uma excelente visão sobre a saúde dos ataques e do sistema de arquivos ...

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

ewwhite
fonte
11
Concordo com isso - você está construindo uma matriz. Se uma unidade falhar quando você começa a colocar dados, isso não importa, você a substitui e a matriz se recupera automaticamente. Testar as unidades quanto a problemas antes de usá-las não dará uma idéia adequada sobre se elas falharão na vida real - a vida real não é como testes!
26713 Ashley
11
Eu concordo que "a vida real não é como testes", mas também encontrei duas falhas na unidade via badblocks. Se eu colocasse ambos na mesma parte de um RAID 1, 5 ou 10, teria perdido todo o RAID.
Rjt
11
@rjt provavelmente não. Os setores defeituosos seriam realocados e as unidades provavelmente não teriam falhado ao mesmo tempo. Além disso, nem todas as falhas de unidade são mídia ou resultado de blocos defeituosos. E se o rolamento da unidade estiver desgastado ou com mau funcionamento?
Ewwhite
provavelmente não tomo decisões sobre dados críticos . O Estudo do disco rígido do Google diz que as unidades se desgastam nos primeiros 90 dias ou após 3 anos. os badblocks ajudam a eliminar as frutas baixas.
Rjt
11
@rjt É claro que você toma decisões sobre dados de missão crítica em "provavelmente" - Se não o fizesse, não seria capaz de armazenar dados em qualquer unidade, independentemente de quantos testes fizer.
precisa saber é o seguinte
10

Você pode usar o Bonnie ++ para testar. 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 'ninguém' e criará / reescreverá / excluirá 100 * 1024 arquivos, 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 reproduzir a contagem / tamanho do arquivo e o número de repetições de teste.

Shtlzut
fonte
9

Normalmente, faço apenas um init completo de RAID e, quando aplicável, começo a preencher o sistema de arquivos durante isso, sabendo o tempo todo que pode haver um problema devido a unidades mortas. Dessa forma, eu não perco tempo com algum tipo de teste que não é confiável, e eu pegaria os discos fracos reais imediatamente. Depois disso, ainda pode haver uma chance elevada de falhas na unidade devido à "mortalidade infantil", mas não existe uma 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.

Sven
fonte
8

Eu trabalho para uma empresa que faz esse tipo de teste dia após dia. 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 gratuito baseado no DOS, chamado HDAT2. É grátis para download. Ele pode acessar o SMART e alguns outros recursos da unidade inacessíveis em um ambiente Windows. Dependendo dos resultados, nós os executaremos em uma de várias linhas diferentes de hardware especializado, mas, no essencial, eles executam o autoteste curto SMART, o Long Test, um apagamento seguro e o All Read para verificar os setores. Minha sugestão é: executar uma exclusão segura do disco completo, executar um auto-teste breve e tudo lido. Essa ordem é importante, pois um autoteste curto pode não encontrar nada se executado no início do teste, mas após uma gravação e leitura completas do disco, ele pode pegar alguma coisa. Espero que isto ajude.

usuario
fonte
11
serverfault.com/a/501870/117546 faz mais sentido para mim, mas não sou especialista. Por que sua empresa testa os discos rígidos. Eu pensaria que o teste mais eficaz seria realmente usar o drive.
Emory 24/04
4

Você pode usar o conjunto de testes dos fabricantes ou algo como o SpinRite para varrer todo o disco. Também seria uma boa ideia examinar os valores SMART , procurando setores defeituosos e outros sinais de velhice / falha.

virtualmente
fonte
3

Se você realmente deseja testar, use o badblocksteste de gravação. Ele gravará padrões de dados no disco e os lerá para verificação. Durante isso, ele estressará um pouco o seu disco. 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.

Pedra
fonte