Como devo gravar em discos rígidos?

41

O Google fez um estudo muito completo sobre falhas no disco rígido, que descobriu que uma parcela significativa dos discos rígidos falha nos primeiros 3 meses de uso intenso.

Meus colegas de trabalho e eu estamos pensando que poderíamos implementar um processo de burn-in para todos os nossos novos discos rígidos, o que potencialmente poderia nos salvar de uma dor de cabeça por perder tempo em unidades novas e não testadas. Porém, antes de implementarmos um processo de gravação, gostaríamos de obter algumas dicas de outras pessoas mais experientes:

  • Quão importante é gravar no disco rígido antes de começar a usá-lo?
  • Como você implementa um processo de gravação?
    • Quanto tempo você queima em um disco rígido?
    • Qual software você usa para gravar em unidades?
  • Quanto estresse é demais para um processo de queima?

EDIT: Devido à natureza dos negócios, os RAIDs são impossíveis de usar na maioria das vezes. Temos que confiar em unidades únicas que são enviadas por todo o país com bastante frequência. Fazemos backup dos discos o mais rápido possível, mas ainda encontramos falhas aqui e ali antes de termos a oportunidade de fazer backup dos dados.

ATUALIZAR

Minha empresa já implementou um processo de burn-in por um tempo e provou ser extremamente útil. Gravamos imediatamente todas as novas unidades que temos em estoque, permitindo encontrar muitos erros antes que a garantia expire e antes de instalá-los em novos sistemas de computador. Também se mostrou útil para verificar se uma unidade falhou. Quando um de nossos computadores começa a encontrar erros e o disco rígido é o principal suspeito, executaremos novamente o processo de gravação nessa unidade e verificaremos os erros para garantir que a unidade realmente foi o problema antes de iniciar o processo de RMA ou lançar no lixo.

Nosso processo de gravação é simples. Temos um sistema Ubuntu designado com muitas portas SATA e executamos badblocks no modo de leitura / gravação com 4 passagens em cada unidade. Para simplificar, escrevemos um script que imprime um aviso "OS DADOS SERÃO EXCLUÍDOS DE TODAS AS SUAS DRIVES" e, em seguida, executa badblocks em todas as unidades, exceto a unidade do sistema.

Phil
fonte
15
Curiosamente, por que você envia as unidades pelo país? Parece que é mais provável que você encontre falhas na unidade como resultado de falhas de choque e manuseio geral pelo serviço postal do que por razões que um burn-in detectaria.
precisa saber é o seguinte
6
@ Ryan Ryan: O hardware de armazenamento para correspondência ainda é a maneira mais rápida de transferir dados. A internet é muito lenta e, se você precisar passar por redes institucionais e firewalls, fica ainda pior.
Jonas
4
@ Ryan Ryan: Se você está lidando com dados secretos classificados pelo governo, o SSH não funciona . Em geral, um computador que contém esses dados pode não estar conectado à Internet pública. Se você tem gigabytes de dados classificados para transferir, enviar uma unidade criptografada é a opção mais eficiente.
benzado
3
@ Ryan Ryan: Exatamente. Mesmo com uma conexão muito rápida à Internet, você leva um mês para fornecer 7 TB (e isso se você tiver o luxo de ter controle sobre a taxa de transferência do seu e do destinatário). Com a UPS, os 7 TB estão disponíveis no dia seguinte.
Jonas
5
Isso é legal e tudo, exceto quando você tem equipes móveis na estrada coletando grandes quantidades de dados. Isso significa que você precisa confiar em conexões de Internet móveis ou de hotéis e nunca fica em um local por mais de 8 horas.
Phil

Respostas:

36

Quão importante é gravar no disco rígido antes de começar a usá-lo?

Se você possui um bom backup e bons sistemas de alta disponibilidade, não muito. Como restaurar de uma falha deve ser bastante fácil.

Como você implementa um processo de gravação? Qual software você usa para gravar em unidades? Quanto estresse é demais para um processo de queima?

Normalmente executarei badblocks em uma unidade ou em um novo sistema quando obtê-lo. Vou executá-lo sempre que ressuscitar um computador da pilha de peças de reposição. Um comando como este ( badblocks -c 2048 -sw /dev/sde) gravará todos os blocos 4 vezes de cada vez com um padrão diferente (0xaa, 0x55, 0xff, 0x00). Este teste não faz nada para testar várias leituras / gravações aleatórias, mas deve provar que todos os blocos também podem ser gravados e lidos.

Você também pode executar o bonnie ++ ou o iometer, que são ferramentas de benchmarking. Eles devem tentar estressar um pouco suas unidades. As unidades não devem falhar, mesmo se você tentar maximizá-las. Então você também pode tentar ver o que eles podem fazer. Eu não faço isso embora. Obter um benchmark de E / S do seu sistema de armazenamento no momento da instalação / configuração pode ser muito útil no futuro quando você estiver olhando para problemas de desempenho.

Quanto tempo você queima em um disco rígido?

Uma única execução de badblocks é suficiente na minha opinião, mas acredito que tenho um sistema de backup muito forte e minhas necessidades de HA não são tão altas. Eu posso permitir algum tempo de inatividade para restaurar o serviço na maioria dos sistemas que eu suporte. Se você está tão preocupado, que acha que uma configuração de várias passagens pode ser necessária, provavelmente deve ter RAID, bons backups e uma boa configuração de HA de qualquer maneira.

Se estou com pressa, posso pular uma queima. Meus backups e RAID devem estar bem.

Zoredache
fonte
49

Na IMNSHO, você não deve confiar em um processo de burn-in para eliminar unidades ruins e "proteger" seus dados. Desenvolver esse procedimento e implementá-lo levará um tempo que poderá ser melhor utilizado em outros lugares e, mesmo que uma unidade seja aprovada, ainda poderá falhar meses depois.

Você deve usar RAID e backups para proteger seus dados. Uma vez instalado, deixe-se preocupar com as unidades. Os bons controladores RAID e subsistemas de armazenamento terão processos de "limpeza" que examinam os dados de vez em quando e garantem que tudo está bom.

Uma vez que tudo esteja resolvido, não há necessidade de fazer a limpeza do disco, embora, como outros tenham mencionado, não faça mal um teste de carga do sistema para garantir que tudo esteja funcionando conforme o esperado. Eu não me preocuparia com discos individuais.


Como foi mencionado nos comentários, não faz muito sentido usar discos rígidos para seu caso de uso específico. Enviá-los por aí é muito mais provável que causem erros de dados que não aparecerão quando você fez a gravação.

A mídia de fita foi projetada para ser enviada ao redor. Você pode obter 250MBps (ou até 650MBps compactados) com uma única unidade IBM TS1140, que deve ser mais rápida que o seu disco rígido. E maior também - um único cartucho pode oferecer até 4 TB (sem compressão).

Se você não quiser usar fita, use SSDs. Eles podem ser tratados muito mais difíceis do que os HDDs e satisfazer todos os requisitos que você forneceu até o momento.


Depois de tudo isso, aqui estão minhas respostas para suas perguntas:

  • Quão importante é gravar no disco rígido antes de começar a usá-lo?
    De modo nenhum.
  • Como você implementa um processo de gravação?
    • Quanto tempo você queima em um disco rígido?
      Uma ou duas corridas.
    • Qual software você usa para gravar em unidades?
      Uma simples execução, digamos, shrede badblocksservirá. Verifique os dados SMART posteriormente.
  • Quanto estresse é demais para um processo de queima?
    Nenhum estresse é demais. Você poderá jogar qualquer coisa em um disco sem que ele exploda.
MikeyB
fonte
1
Meu único arrependimento sobre este post é que eu posso apenas votar uma vez. @ Phil, você está reinventando a roda lá. A maneira de garantir que você não perca dados em falhas aleatórias na unidade (ou em outro hardware relacionado) são backups e matrizes RAID.
Rob Moir
8
Concordo que você não deve confiar nisso, mas a execução de uma verificação em um sistema antes que ele seja colocado em produção identificou um problema em potencial para mim algumas vezes. Se você não está com muita pressa, deixar o computador varrer a si próprio por um dia ou dois normalmente não prejudica nada.
Zoredache
7
Esta resposta tem os votos mais altos, mas não conseguiu responder a pergunta mais. O OP declarou que os RAIDs são impossíveis. Se "unidades individuais estão sendo enviadas por todo o país", não é possível criar um ataque. Existe um processo de backup, mas parece que o OP está querendo encontrar tudo e qualquer coisa para ajudar a economizar tempo, no caso de uma unidade falhar. (Nota: trabalho na mesma empresa que o OP, portanto, conheço a situação, os dados são copiados para um RAID assim que são entregues.) Se você tivesse que gravar em unidades, hipoteticamente, como faria?
jsmith
3
Nesse caso, a pergunta deve fornecer esse contexto. Pelo que você está dizendo, a pergunta deve ser "Precisamos enviar discos rígidos via correio / frete. Como devemos fazer um teste de burn-in antes de enviá-los para minimizar falhas?" Curiosamente, a resposta não muda. Envie um par de unidades! Ou melhor, use fitas. As fitas são projetadas para serem usadas dessa maneira, os HDDs não. Mais informações levam a uma resposta diferente.
MikeyB
2
As fitas não conseguem gravar dados tão rápido quanto os discos rígidos? 250 MBps (descompactado) não é bom o suficiente para você? Eu diria que um processo de burn-in não ajudará a proteger contra falhas no seu caso de uso.
MikeyB
8

Dado o seu esclarecimento, não parece que nenhum processo de gravação possa ser útil para você. As unidades falham principalmente devido a fatores mecânicos, geralmente calor e vibração; não por causa de qualquer tipo de bomba-relógio escondida. Um processo "burn-in" testa o ambiente de instalação tanto quanto qualquer outra coisa. Depois de mover a coisa, você volta ao ponto em que começou.

Mas aqui estão algumas dicas que podem ajudá-lo:

As unidades de laptop geralmente são projetadas para suportar mais vibrações e vibrações do que as unidades de desktop. Meus amigos que trabalham em lojas de recuperação de dados sempre enviam dados para clientes em unidades de laptop por esse motivo. Eu nunca testei esse fato, mas parece ser "conhecimento comum" em setores selecionados.

As unidades flash (por exemplo, pen drives USB) são as mais resistentes a choques de qualquer mídia encontrada. Deve ser ainda menos provável que você perca dados em trânsito se usar mídia flash.

Se você enviar uma unidade Winchester, faça uma varredura de superfície antes de colocá-la em uso. Ou melhor ainda, apenas não o coloque em uso. Em vez disso, convém designar determinadas unidades como unidades "remetidas", que veem todos os abusos, mas nas quais você não confia para a integridade dos dados. (Ou seja: copie os dados para a unidade para envio, copie após o envio, somas de verificação muito de ambos os lados, esse tipo de coisa).

tylerl
fonte
"Depois de mover a coisa, você volta ao ponto em que começou." - Não é verdade. é assim que um gráfico MTTF para um disco se parece: cs.cmu.edu/~bianca/fast/img13.png cs.ucla.edu/classes/spring09/cs111/scribe/16/… os testes no período inicial podem filtrar Em muitas unidades problemáticas, os fabricantes realmente fazem esses testes de estresse para tornar o produto mais confiável, mas é claro que não é econômico fazer o teste até que o gráfico seja nivelado.
Karoly Horvath
3
@yi_H: Eu acho que Tylerl está implicando que provavelmente a causa da falha antecipada se deva ao próprio processo de remessa (o que não é implausível, eu gostaria de ver um gráfico plotando a falha da unidade versus a frequência de envio), portanto, se você enviar o disco rígido em todo o país, o MTTF será redefinido; portanto, se você enviar uma unidade a cada três meses, estará sempre na zona de falha inicial.
Lie Ryan
5

Seu processo está errado. Você deve usar matrizes de ataque. Onde trabalho, criamos matrizes de ataque robustas, projetadas para serem transportadas. Não é ciência de foguetes. A montagem de choque das unidades em gabinetes de tamanho grande com grandes isoladores de vibração de borracha melhorará enormemente a confiabilidade. (As unidades Seagate constellation-es são um exemplo classificado para choque de 300G, mas apenas vibração de 2G, não operacional: portanto, o estojo de remessa precisa isolar a unidade de vibração. Http://www.novibes.com/Products&productID=62 ou http : //www.novibes.com/Products&productId=49 [peça # 50178])

No entanto, você realmente deseja gravar em discos rígidos de teste, então aqui vai.

Eu trabalhei em sistemas como discos rígidos e queimei em alguns problemas, mas ...

Para testes de ciclo de vida acelerado de PCBs para eliminar falhas, nada supera alguns ciclos de quente / frio. (operar ciclos de frio-quente funciona ainda melhor ... mas é mais difícil, especialmente em bancos de HDs)

Arranje uma grande câmara ambiental para o número de unidades que você adquire por vez. (Estes são muito caros, seria mais barato enviar matrizes de ataque). Você não pode economizar nas câmaras de teste, pois precisará de controle de umidade e rampas programáveis.

Programe em duas rampas de temperatura repetidas, até a temperatura mínima de armazenamento e até a temperatura máxima de armazenamento, torne as rampas íngremes o suficiente para incomodar o engenheiro de aplicação do fabricante do disco rígido. 3 ciclos de frio e calor em 12 horas devem ver as unidades falhando rapidamente. Execute as unidades pelo menos 12 horas assim. Se algum trabalho depois ficarei surpreso.

Eu não pensei nisso: um lugar onde trabalhei, onde um engenheiro de produção fez isso, para obter mais produtos enviados com o mesmo equipamento de teste, houve um enorme aumento de falhas no teste, mas a taxa de mortos na chegada caiu para praticamente zero.

Tim Williscroft
fonte
5

Discordo de todas as respostas que basicamente dizem "Não se preocupe com burn-in, tenha bons backups".

Embora você deva sempre ter backups, passei 9 horas ontem (além do meu turno habitual de 10 horas) restaurando os backups porque o sistema estava funcionando com unidades que não haviam sido queimadas.

Havia 6 unidades em uma configuração RAIDZ2 (ZFS equivalente a RAID-6) e tivemos três unidades morrendo ao longo de 18 horas em uma caixa que estava em execução por aproximadamente 45 dias.

A melhor solução que encontrei é comprar unidades de um fabricante específico (não misturar e combinar) e executar a ferramenta fornecida para exercitar as unidades.

No nosso caso, compramos a Western Digital e usamos seus diagnósticos de unidade baseados em DOS a partir de um ISO inicializável. Iniciamos o processo, executamos a opção de gravar lixo aleatório em todo o disco e, em seguida, executamos o teste SMART curto seguido do teste SMART longo. Geralmente, é o suficiente para eliminar todos os setores defeituosos, realocações de leitura / gravação, etc.

Ainda estou tentando encontrar uma maneira decente de agrupá-lo para que eu possa executá-lo em 8 unidades por vez. Pode apenas usar 'dd if = / dev / urandom de = / dev / Whatever' no Linux ou 'badblocks'.

Edição: Encontrei uma maneira melhor de 'lote'. Finalmente, comecei a configurar um servidor de inicialização PXE em nossa rede para atender a uma necessidade específica e notei que o Ultimate Boot CD pode ser inicializado por PXE. Agora temos um punhado de máquinas indesejadas espalhadas que podem ser inicializadas pelo PXE para executar diagnósticos de unidades.

Aaron C. de Bruyn
fonte
3
Oque você sabe? Uma resposta que responde à pergunta e não prega no OP. 1
elBradford 29/07
3
Se você deseja que dados aleatórios sejam gravados na unidade, não leia em / dev / urandom; não é tão lento quanto seu primo bloqueador / dev / random, mas ainda é lento, e realmente não ganha nada. Em vez disso, configure um mapeamento dm-crypt simples com uma chave aleatória (que você pode obter em / dev / urandom ou / dev / random) e, em seguida, apenas dd / dev / zero no dispositivo mapeado. Provavelmente será duas vezes mais rápido e uma ordem de magnitude mais rápida. gitlab.com/cryptsetup/cryptsetup/wikis/FrequentlyAskedQuestions "Como posso limpar um dispositivo com aleatoriedade de nível de criptografia?" tem um exemplo de como fazer isso.
um CVn
Excelente sugestão @ MichaelKjörling
Aaron C. de Bruyn
3

Quão importante é gravar no disco rígido antes de começar a usá-lo?

Depende.
Se você o estiver usando em um RAID que fornece redundância (1, 5, 6, 10)? Não muito.
Se você estiver usando autônomo? Um pouco, mas é melhor você rodar smartd ou algo para monitorá-lo, pelo menos na minha opinião.

Isso naturalmente leva à minha resposta para " Como você implementa um processo de gravação? " - Eu não.
Em vez de tentar "queimar" discos, eu os executo em pares redundantes e uso o monitoramento preditivo (como o SMART) para me dizer quando uma unidade está ficando instável. Descobri que o tempo extra necessário para realizar uma gravação completa (realmente exercitando todo o disco) é substancialmente mais caro do que lidar com uma falha e troca de disco.
Combinando RAID e backups bons, seus dados devem ser muito seguros, mesmo ao lidar com a mortalidade infantil (ou a outra extremidade da cura da banheira quando você começa a deixar as unidades morrerem de velhice)

voretaq7
fonte
1
E se a unidade não puder ser monitorada porque não está em um local constante? :)
jsmith
2
@jsmith - você recebe notificações em vez de pesquisar em um host de monitoramento - quase não há situações em que você realmente não possa monitorar algo, há apenas aquelas que requerem um pouco de pensamento criativo :)
voretaq7
2

O Spinrite (grc.com) lê e grava de volta todos os dados na unidade. É uma coisa boa a fazer para uma nova unidade, mesmo que você não esteja tentando fazer com que ela falhe. Demora muito tempo para ser executado no nível 4, geralmente alguns dias para as unidades de tamanho atual. Devo acrescentar também que não é destrutivo. De fato, se houver dados em pontos ruins, ele será movido e recuperado. É claro que você nunca o executaria em um SSD.

Charlie
fonte
1

Tenho certeza de que uma comparação semanal e uma verificação de erro serão suficientes para "gravar em" discos rígidos. Embora desde o seu post eu nunca tenha ouvido falar disso.

Citado de "6_6_6" em Stroagereview.com

1. Connect the drive to a running system. Read SMART values.

2. Do a SMART short self test. Do a SMART long self-test.

3. Zero fill / Wipe the drive with the manufacturer's utility. Entire drive.

4. Run HDTach full read/write. Everest / Sandra, etc all have stress tests. Run hard drive part continously for hours.

5. Run Victoria for Windows Read/Write test and make sure no slow sectors.

6. Drop to DOS. Run MHDD, run a LBA test and see check for slow sectors. Run Read/Write/Verify test. Run drive internal ATA secure erase command.

7. Do a full format.

8. Compare SMART values. If no anomalies, all good to go. Install your OS and continue.

No total, eu pessoalmente acho que é uma má ideia.

EDIT: Fonte: http://forums.storagereview.com/index.php/topic/27398-new-hdd-burn-in-routines/

U4iK_HaZe
fonte
0

Primeiro, concordo com outros pôsteres de que seu caso de uso sugere que as unidades de fita serão a melhor opção.

Se isso não for possível, se você precisar percorrer unidades em todo o país, um verdadeiro RAID não parece ser uma opção, pois você precisará ter muito mais unidades transportadas, aumentando o risco de falha. No entanto, que tal um esquema de espelhamento simples, enviando uma unidade e mantendo a outra no site de origem?

Então, se a unidade falhar na chegada, uma nova cópia poderá ser feita e enviada. Se a unidade estiver boa na chegada, o sobressalente poderá ser reutilizado - para enviar ou fazer backup dos dados originais.


fonte
0

Você realmente não disse por que as unidades estão sendo enviadas - essa é apenas uma maneira de enviar dados, elas têm imagens completas de aplicativos / SO prontas para serem inicializadas em um PC ou algo mais?

Concordo com as outras respostas de que o RAID ou os backups são melhores do que a digitalização, devido aos riscos de enviar uma unidade causando problemas mecânicos.

Uma maneira mais geral de colocar isso seria "confiar em dados redundantes para capturar e corrigir erros" - enviar 2 unidades para cada conjunto de dados ou enviar dados redundantes em uma única unidade. Algo como o Parchive permite adicionar um nível definido de redundância aos dados, permitindo a recuperação mesmo que uma grande parte dos dados esteja corrompida. Como os discos hoje em dia são muito baratos, apenas comprar um disco maior do que o estritamente necessário costuma ser mais barato do que verificar a unidade, enviar uma unidade de reposição ou enviar 2 unidades.

Isso protegeria contra falhas não catastróficas da unidade - no entanto, ainda é melhor não reutilizar uma unidade enviada, exceto a remessa, como sugerido anteriormente, ou seja, visualizá-la como uma fita que deve ser extraída para uma unidade 'real' permanentemente instalado e não enviado para lugar nenhum.

Isso permitirá que você envie uma grande quantidade de dados (ou mesmo imagens de aplicativos / SO) e reduza o impacto dos erros de disco para qualquer nível econômico.

RichVel
fonte