Parabéns e uh-oh. Você se deparou com uma das melhores coisas sobre o ZFS, mas também cometeu um pecado de configuração.
Primeiro, como você está usando o raidz1, você só tem um disco com dados de paridade. No entanto, você tinha dois discos falharem contemporaneamente. O único resultado possível aqui é perda de dados . Nenhuma quantidade de resilvering vai consertar isso.
Suas peças ajudaram você um pouquinho aqui e salvaram você de uma falha completamente catastrófica. Eu vou sair em um membro aqui e dizer que as duas unidades que falharam não falharam ao mesmo tempo e que a primeira sobressalente apenas parcialmente resilvered antes da segunda unidade falhou.
Isso parece difícil de seguir. Aqui está uma foto:
Isso é realmente bom porque se este fosse um array RAID tradicional, toda a sua matriz teria ficado offline assim que a segunda unidade falhasse e você NÃO teria chance de entrar colocar a recuperação. Mas como esse é o ZFS, ele ainda pode ser executado usando as partes que possui e simplesmente retorna erros em nível de bloco ou de arquivo para as partes que ele não possui.
Veja como você o corrige: Curto prazo, obtenha uma lista de arquivos danificados em zpool status -v
e copie esses arquivos do backup para os locais originais. Ou apague os arquivos. Isso permitirá que o resilver seja retomado e concluído.
Aqui está o seu pecado de configuração: você tem muitos drives em um grupo raidz.
A longo prazo: você precisa reconfigurar suas unidades. Uma configuração mais apropriada seria organizar as unidades em pequenos grupos de 5 unidades ou mais em raidz1. O ZFS será automaticamente segmentado nesses pequenos grupos. Isso reduz significativamente o tempo de recuperação quando uma unidade falha porque apenas 5 unidades precisam participar, em vez de todas elas. O comando para fazer isso seria algo como:
zpool create tank raidz da0 da1 da2 da3 da4 \
raidz da5 da6 da7 da8 da9 \
raidz da10 da11 da12 da13 da14 \
spare da15 spare da16