Este artigo fornece as etapas de solução de problemas para (punção d)os blocos defeituosos em discos rígidos em servidores PowerEdge com controladores PERC. Especialmente quando não é possível fazer backup, as informações a seguir podem ajudar a trazer uma unidade virtual impactada de volta para um estado ideal.
O OpenManage Server Administrator (OMSA) mostra uma cruz vermelha na frente de um disco virtual (Figura 1).
Figura 1: Disco virtual com cruz vermelha no status (por exemplo, H800)
O log do sistema do Windows mostra erros de bloco defeituosos (Figura 2).
Figura 2: Erro de bloco defeituoso acusado no log do sistema do Windows
O log do controlador RAID (TTYLOG) mostra erros como:
02/26/15 13:43:39: EVT#131878-02/26/15 13:43:39: 97=Puncturing bad block on PD XX(e0x20/s2) at 180ca4a1f
Obtenha mais informações sobre como receber esses logs específicos em nosso artigo sobre como coletar logs.
Os arrays RAID não estão imunes aos erros de dados. O controlador RAID e o firmware do disco rígido contêm funcionalidades para detectar e corrigir muitos tipos de erros de dados antes que eles sejam gravados em um array/disco. Usar firmware desatualizado pode fazer com que dados incorretos sejam gravados em um array/disco porque ele pode não ter os recursos de gerenciamento/correção de erros disponíveis em versões mais recentes de firmware.
Erros de dados também podem ser causados por blocos físicos defeituosos. Por exemplo, isso pode ocorrer quando a cabeça de leitura/gravação bate no prato giratório (conhecido como "Head Crash"). Os blocos também podem apresentar defeitos com o passar do tempo devido à degradação da capacidade do prato de armazenar bits magneticamente em um local específico. Em geral, os blocos defeituosos devido à degradação do prato podem ser lidos com sucesso. Esse bloco defeituoso pode ser detectado apenas de forma intermitente ou com um diagnóstico estendido dos discos.
Um bloco defeituoso, também conhecido como um Endereço de Bloco Lógico (LBA) defeituoso, também pode ser causado por erros de dados lógicos. Isso ocorre quando os dados são gravados incorretamente em um disco, mesmo que a gravação seja relatada como bem-sucedida. Além disso, dados em bom estado armazenados em um disco podem ser alterados acidentalmente. Um exemplo é um "bit flip", que pode ocorrer quando a cabeça de leitura/gravação passa ou grava em um local próximo e faz com que os dados na forma de zeros e uns mudem para um valor diferente. Tal condição faz com que a consistência dos dados seja corrompida. O valor dos dados em um bloco específico é diferente dos dados originais e pode não corresponder mais à soma de verificação (checksum) dos dados. O LBA físico está em boas condições e pode ser gravado com sucesso, mas atualmente contém dados incorretos e pode ser interpretado como um bloco defeituoso.
Para obter mais informações, leia o artigo sobre Falhas duplas e perfurações em arrays RAID.
Crie um backup de dados validado em nível de arquivo
Certifique-se de que todas as unidades com falha mostrando falhas preditivas sejam substituídas
Excluir e recriar o disco virtual
Realize uma inicialização completa do DV
Realize uma verificação de consistência no novo DV criado
Os dados podem agora ser restaurados para o VD íntegro
Recomendação: Faça upgrade de todos os firmwares de discos rígidos para a versão mais recente
O OMSA oferece a capacidade de limpar os avisos de blocos defeituosos. Para limpar os blocos defeituosos, recomenda-se o seguinte procedimento:
Ao realizar um backup do disco virtual com a opção Verificar selecionada, dois cenários podem ocorrer:
Execute o Patrol Read (em Tarefas de disco virtual no OMSA) e verifique o log de eventos do sistema para garantir que nenhum novo bloco defeituoso foi encontrado. Se os blocos defeituosos ainda existirem, prossiga para a próxima etapa. Caso contrário, haverá a limpeza da condição.
Para limpar esses blocos defeituosos, execute a tarefa limpar discos defeituosos do disco virtual . Isso pode ser feito na GUI do OMSA ou com o uso o comando cli:
omconfig storage vdisk action=clearvdbadblocks controller=id vdisk=id
omreport storage controller
para exibir os IDs do controlador e, em seguida, digite omreport storage vdisk controller=ID
para exibir os IDs dos discos virtuais