Trouvez les fichiers affectés par des blocs défectueux avec md-raid5 et LVM

8

J'ai fait beaucoup de recherches sur ce sujet au cours des dernières semaines - et je pense que je suis sur le point de terminer ma récupération, autant que possible au moins. Pour faire une longue histoire, je vais simplement décrire le problème sans remplir tous les petits détails techniques.

Supposons que vous disposez de plusieurs baies RAID-5, chacune avec 8 disques, et que vous les avez ensuite réparties ensemble dans un seul volume logique LVM. L'un des disques meurt ensuite dans l'une des baies et lors de la reconstruction, vous rencontrez une erreur de lecture irrécupérable sur un deuxième disque de cette baie. Et bien sûr, il n'y a pas de sauvegardes.

J'ai déjà récupéré les données du lecteur avec l'URE sur un nouveau lecteur, seulement 5K de données sont endommagées, toutes regroupées dans une très petite zone de disque. Je suppose également qu'une fois que j'ai réassemblé ce périphérique MD à l'aide de la copie ddrescue'd, je multiplierai la taille de ma perte de données par le nombre de disques sans parité dans ma baie (donc 35K de perte de données), comme parité les calculs pour les bandes utilisant ces blocs seront incorrects.

J'ai lu et compris la procédure sur http://smartmontools.sourceforge.net/badblockhowto.html pour déterminer quels fichiers seraient corrompus par une situation comme celle-ci, mais mon problème est de savoir exactement quels blocs seront corrompus après la md rebuild à utiliser comme entrée pour debugfs. Comprendre tous les décalages où md et lvm stockent les métadonnées ne sera pas amusant non plus, mais je pense que je peux gérer cette partie.

Puis-je simplement multiplier tous mes numéros de blocs défectueux par 7, puis supposer que les 6 blocs suivants après chacun d'entre eux seront également mauvais, puis suivre les instructions LVM dans le guide lié ci-dessus?

Et pour être clair - je ne suis pas concerné par la réparation ou le remappage des blocs défectueux comme le guide le décrit, j'ai remplacé le disque et je laisserai md gérer ce genre de chose. Je veux juste savoir quels fichiers du système de fichiers ext4 ont été affectés.

Rob
la source

Réponses:

2

Vous cherchez toujours de l'aide à ce sujet? Vous pouvez trouver les fichiers concernés en tarant le système de fichiers vers / dev / null. Tout fichier contenant une erreur sera signalé par tar. Quelque chose comme:

tar cf / dev / null / file / system / to / check

pourrait le faire pour vous.

marc41
la source