Guia de administração do ZFS Oracle Solaris

Identificando falhas do ZFS

Por ser uma combinação de um sistema de arquivos e um gerenciador de volumes, o ZFS pode exibir diferentes falhas. Este capítulo começa delineando as várias falhas e, em seguida, discute como identificá-las em um sistema em execução. E finalmente termina tratando o tema de como reparar os problemas. O ZFS pode encontrar três tipos básicos de erros:

Observe que um único pool pode sofrer os três tipos de erros, de modo que o procedimento completo de reparação implica em encontrar e corrigir o erro, passar para o próximo erro, e assim por diante.

Ausência de dispositivos em um pool de armazenamento do ZFS

Se um dispositivo for completamente removido do sistema, o ZFS detecta que o dispositivo não pode ser aberto e o coloca no estado REMOVIDO. Dependendo do nível de replicação dos dados do conjunto, essa remoção pode ou não fazer com que todo o conjunto se torne indisponível. Se, em um dispositivo RAID-Z ou espelhado, um disco for removido, o pool continua acessível. Um conjunto pode se tornar FAULTED, o que significa que nenhum dado é acessível até que o dispositivo seja desanexado, sob as condições a seguir:

Dispositivos danificados em um pool de armazenamento do ZFS

O termo “danificado” abrange uma ampla variedade de possíveis erros. Os exemplos incluem o seguinte:

Em alguns casos, estes erros são transitórios, como um erro de E/S aleatório durante problemas com o controlador. Em outros casos, o problema pode ser permanente, como a corrupção em disco. Ainda assim, se o problema for permanente, isso não significa necessariamente que o erro ocorrerá novamente. Por exemplo, se um administrador substitui acidentalmente parte de um disco, e nenhum tipo de falha de hardware ocorre, o dispositivo não precisa ser trocado. Identificar exatamente o problema com o dispositivo não é uma tarefa fácil, por isso esse tema é abordado mais detalhadamente em uma seção posterior.

Dados corrompidos do ZFS

A corrupção de dados ocorre quando um ou mais erros no dispositivo (indicando um ou mais dispositivos ausentes ou danificados) afetam o dispositivo virtual de nível superior. Por exemplo, a metade de um espelho pode sofrer milhares de erros de dispositivo sem jamais causar corrupção de dados. Haverá corrupção de dados se for encontrado um erro no outro lado do espelho no mesmo exato local.

A corrupção de dados é sempre permanente e requer cuidados especiais durante a reparação. Mesmo que os dispositivos subjacentes forem reparados ou substituídos, os dados originais não poderão ser recuperados. Frequentemente, esse tipo de situação requer a recuperação dos dados a partir de backups. Os erros dos dados são registrados à medida que vão sendo encontrados e podem ser controlados através de scrubbing rotineira do conjunto, como explicado na seção seguinte. Quando um bloco corrompido é removido, o próximo ciclo de limpeza reconhece que a corrupção já não existe e remove qualquer vestígio de erro do sistema.