O termo dispositivo danificado é um tanto vago e pode descrever vários tipos de situações possíveis:
Bit rot: com o tempo, eventos aleatórios, como influências magnéticas e raios cósmicos, podem fazer com que os bits armazenados no disco se invertam. Estes eventos são relativamente raros, mas comuns o suficiente para provocar corrupção de dados em sistemas grandes ou que estão em funcionamento durante longos períodos de tempo.
Leituras ou gravações mal endereçadas – Erros de firmware ou falhas de hardware podem fazer com que leituras e gravações de blocos inteiros façam referência a locais incorretos no disco. Esses erros são normalmente transitórios, embora uma grande quantidade pode indicar um drive defeituosa.
Erro do administrador: os administradores podem substituir involuntariamente partes do disco por dados ruins (como copiar /dev/zero sobre partes do disco) que provocam a corrupção permanente deste. Estes erros são sempre transitórios.
Interrupções temporárias – Um disco pode não estar disponível durante um período de tempo, causando falhas de E/S. Esta situação está associada geralmente a dispositivos anexados à rede, embora os discos locais também possam sofrer interrupções temporárias. Estes erros podem ou não ser transitórios.
Hardware defeituoso ou anormal: essa situação é um resumo de todos os vários problemas que hardware defeituoso exibe, incluindo erros de E/S de consistência, transportes causando corrupção aleatória ou alguns números de falhas. Estes erros são normalmente permanentes.
Dispositivo off-line: se um dispositivo estiver off-line, supõe-se que o administrador o colocou nesse estado porque estava defeituoso. O administrador que colocou o dispositivo nesse estado pode determinar se esta suposição é precisa.
A determinação exata do problema pode ser um processo difícil. A primeira etapa é examinar as contagens de erros na saída zpool status. Por exemplo:
# zpool status -v tpool pool: tpool state: ONLINE status: One or more devices has experienced an error resulting in data corruption. Applications may be affected. action: Restore the file in question if possible. Otherwise restore the entire pool from backup. see: http://www.sun.com/msg/ZFS-8000-8A scrub: scrub completed after 0h0m with 2 errors on Tue Jul 13 11:08:37 2010 config: NAME STATE READ WRITE CKSUM tpool ONLINE 2 0 0 c1t1d0 ONLINE 2 0 0 c1t3d0 ONLINE 0 0 0 errors: Permanent errors have been detected in the following files: /tpool/words |
Os erros estão divididos em erros de E/S e erros de soma de verificação, e ambos podem indicar o possível tipo de falha. As operações normais prevêem uma pequena quantidade de erros (apenas alguns erros em longos períodos de tempo). Se você estiver vendo uma grande quantidade de erros, então essa situação provavelmente indica uma falha completa do dispositivo ou iminente. No entanto, um erro de administrador pode também resultar em uma grande contagem de erros. Outra fonte de informações é o log do sistema syslog. Se o registro mostrar um grande número de mensagens de driver de Fibre Channel ou de SCSI, então essa situação provavelmente indica sérios problemas de hardware. Se não for gerada nenhuma mensagem no syslog, então o dano é provavelmente transiente.
O objetivo é responder à seguinte pergunta:
É provável que ocorra outro erro neste dispositivo?
Os erros que acontecem somente uma vez são considerados transiente e não indicam falhas potenciais. Os erros que são persistentes ou suficientemente graves para indicar possível falha de hardware são considerados fatais. A ação de determinar o tipo de erro não está dentro do âmbito de nenhum software automatizado disponível atualmente com ZFS e muitas ações devem ser realizadas manualmente por você, o administrador. Depois de determinar o erro, a ação apropriada pode ser realizada. Apague os erros transitórios ou substitua o dispositivo devido aos erros fatais. Estes procedimentos de reparação estão descritos nas próximas seções.
Mesmo que os erros de dispositivo sejam considerados transientes, eles ainda podem ter provocado erros de dados incorrigíveis dentro do conjunto. Estes erros requerem procedimentos de reparação especiais, mesmo se o dispositivo estiver em boas condições ou tiver sido reparado. Para mais informações sobre a reparação de erros dos dados, consulte Reparando dados danificados.