A mágica parece ser mdadm -A --force
e, em seguida, apenas os dispositivos conhecidos são bons + o último dispositivo com falha. Para o cenário de teste, seria:
mdadm -A --force /dev/md$PRE /dev/loop${PRE}[125]
Isso inicia o dispositivo RAID. xfs_check
diz para você montar o disco para reproduzir o log:
mount /dev/md$PRE /mnt/disk2
Neste ponto, não usa o diretório: No cenário de teste, eu pelo menos uma vez tive o xfs reclamando e travando. Então, ao invés disso:
umount /mnt/disk2
e depois:
xfs_check /dev/md$PRE
Isso levou 20 minutos em um sistema de arquivos de 50 TB. Curiosamente, a maior parte do tempo era tempo de CPU e não esperava por E / S de disco. É usado na ordem de 100 GB de RAM.
Agora, o sistema de arquivos pode ser usado novamente:
mount /dev/md$PRE /mnt/disk2
Tudo até o último sync
está OK. Somente as coisas escritas depois da última sincronização são exibidas.
Adicione algumas peças de reposição e faça a reconstrução.
Quando a cópia dos discos existentes terminar amanhã, testarei o que precede. Se funcionar, então o acima é uma resposta. Caso contrário, uma nova cópia do conjunto original será iniciada e novas ideias serão bem-vindas (mas, por favor, teste-as no cenário de teste).
==
As peças sobressalentes agora são adicionadas e a reconstrução é iniciada. Cada milésimo arquivo foi copiado para um diretório no sistema de arquivos e isso não causou problemas nos registros. Então parece que o sistema de arquivos está OK. Resta ver se os usuários perdem alguns arquivos.
==
Nenhum usuário informou arquivos ausentes até o momento, então parece funcionar.