Um NAS pode permanecer acessível enquanto zpool status começa a sinalizar 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 verificação.
Em um servidor que hospeda VM, backups ou compartilhamentos, eu escolheria uma janela de I/O tranquila. Um scrub mobiliza os discos, e o ZFS se recusa 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 uma alerta desaparecer.

Antes do scrub, confirme o nome do pool
Comece lendo o estado atual. Não invente o nome do pool a partir de um montador ou de um disco visto no lsblk. O comando zpool list mostra os pools importados, então 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. Aguarde essa operação antes de solicitar um scrub: o OpenZFS permite apenas uma operação desse tipo por vez. Se os discos servirem a um banco de dados ou a VMs muito solicitadas, adie a verificação 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 no 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 corrigir os blocos danificados se tiver uma cópia válida. Um disco isolado ou uma corrupção sem réplica permanece 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 incômoda, o OpenZFS permite pausar o scrub e depois retomar mais tarde com o mesmo comando.
sudo zpool scrub -p tank
sudo zpool scrub tank
Evite zpool scrub -a para uma primeira verificação. Essa opção inicia, pausa ou para a operação em todos os pools e pode sobrecarregar uma máquina que hospeda vários deles.
Monitorar o progresso e ler os erros
Reinicie 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 escaneado, 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 parece com um scrub terminado com 0 errors. Erros corrigidos ainda merecem uma verificação do histórico do disco, dos cabos e do controlador. As mensagens do kernel são frequentemente úteis nesse ponto: o guia dmesg no 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 intensa.
- CKSUM que aumenta: procure um erro de transferência ou de leitura, mesmo que o ZFS tenha corrigido os blocos graças a uma cópia saudável.
- Arquivos listados após o scrub: restaure-os de um backup verificado e depois substitua o hardware problemático 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 instante. Não substitui um backup fora do NAS e não transforma um disco instável em um disco confiável. Se zpool status -v tank continuar listando erros após o final do scan, copie primeiro os dados ainda legíveis para um destino saudável.
A documentação OpenZFS sobre zpool scrub especifica que os controles de checksum percorrem todos os blocos e que as correções automáticas exigem uma cópia redundante válida. Para um pool sem redundância, a decisão razoável é restaurar a partir de um backup e substituir o meio defeituoso.