Um NAS pode permanecer acessível enquanto zpool status começa a relatar erros de leitura ou de checksum. Antes de concluir que um disco está morto, execute um scrub no pool correto. Essa verificação lê os blocos do pool e verifica suas somas de controle.
Em um servidor que hospeda VMs, backups ou compartilhamentos, eu escolheria uma janela de I/O calma. Um scrub utiliza os discos, e ZFS recusa-se a executar um ao mesmo tempo que um resilver. O objetivo é saber se o pool permanece saudável, não reiniciar um comando para fazer desaparecer um alerta.

Antes do scrub, confirme o nome do pool
Comece lendo o estado atual. Não invente o nome do pool a partir de um montado ou disco visto em lsblk. O comando zpool list fornece os pools importados, e zpool status -v exibe seu estado e os erros conhecidos.
sudo zpool list
sudo zpool status -v tank
Substitua tank pelo nome retornado pela sua máquina. Na saída, observe a linha scan, o estado geral do pool e os contadores READ, WRITE e CKSUM dos vdevs. A variante -v também pode listar os arquivos envolvidos quando o ZFS conhece seu caminho.
Um pool já em resilver reconstrói um disco adicionado ou substituído. Espere essa operação antes de solicitar um scrub: OpenZFS permite apenas uma operação desse tipo por vez. Se os discos estiverem atendendo a um banco de dados ou VMs muito exigentes, adie o controle em vez de criar uma saturação de I/O durante o dia.
Iniciar o scrub durante um período calmo
O comando a seguir inicia um scrub normal em tank :
sudo zpool scrub tank
O scrub percorre os dados e verifica os checksums. Em um espelho, um RAIDZ ou um dRAID, o ZFS pode reparar os blocos danificados se tiver uma cópia válida. Um disco isolado ou uma corrupção sem réplica é um incidente a ser tratado com um backup ou uma substituição de hardware.
O comando retorna quase imediatamente. Isso é normal: o trabalho continua em segundo plano. Se a carga se tornar preocupante, OpenZFS permite pausar o scrub e, em seguida, retomá-lo mais tarde com o mesmo comando.
sudo zpool scrub -p tank
sudo zpool scrub tank
Evite zpool scrub -a para um primeiro controle. Esta opção inicia, pausa ou para a operação em todos os pools e pode sobrecarregar fortemente uma máquina que hospeda vários.
Acompanhar o progresso e ler os erros
Relance zpool status durante o scrub:
sudo zpool status tank
sudo zpool status -v tank
A linha scan indica o início da operação, o volume verificado, o progresso, a taxa e uma estimativa restante. Um progresso superior a 100 % pode aparecer em um pool ativo, pois os dados mudam durante a leitura.
No final, releia os contadores dos discos e a lista detalhada. Um resultado limpo se assemelha a um scrub concluído com 0 errors. Erros reparados ainda merecem uma verificação do histórico do disco, dos cabos e do controlador. As mensagens do kernel são frequentemente úteis nesta fase: o guia dmesg em Linux mostra como isolar os avisos de armazenamento.
- READ ou WRITE que aumenta : verifique o disco, o cabo e o controlador antes de uma nova operação pesada.
- CKSUM que aumenta : busque um erro de transferência ou leitura, mesmo que o ZFS tenha reparado os blocos através de uma cópia saudável.
- Arquivos listados após o scrub : restaure-os de um backup verificado, e substitua o hardware causado se os erros persistirem.
Após um erro permanente, sair do simples controle
Um scrub valida a integridade observável do pool em um determinado momento. Não substitui um backup fora do NAS e não transforma um disco instável em disco confiável. Se zpool status -v tank continuar a listar erros após o fim da verificação, primeiro copie os dados ainda legíveis para um destino saudável.
A documentação OpenZFS sobre zpool scrub especifica que as verificações de checksum percorrem todos os blocos e que as reparações automáticas requerem uma cópia redundante válida. Para um pool sem redundância, a decisão razoável permanece restaurar de um backup e substituir o suporte com falha.