D'accord. Après un nettoyage de routine, mon MDADM RAID5 signale mismatch_cnt = 16. Si je comprends bien, cela signifie que même si aucun périphérique n'a signalé d'erreur de lecture, il y a 16 blocs pour lesquels les données et la parité ne sont pas d'accord.
Question # 1: Peut-on obtenir une liste de ces blocs?
Question # 2: En supposant que # 1 est possible, étant donné que le système de fichiers sous-jacent est EXT4, existe-t-il un moyen d'identifier les fichiers associés à ces blocs?
J'ai des sauvegardes quasi en ligne et, dans un monde idéal, je pourrais simplement faire la différence entre la baie en direct et les données de sauvegarde pour localiser tous les fichiers qui sont devenus silencieusement corrompus. Mais la réalité est que le rappel de 6 To de données de sauvegarde serait à la fois prohibitif et long. Savoir où chercher et quoi récupérer simplifierait grandement les choses.
(Je dois noter que je n'exécute le scrub RAID qu'avec l'option 'check'. Exécuter le scrub avec l'option 'repair' semble terriblement dangereux parce que MDADM sait seulement que les données ou la parité sont incorrectes mais il ne sait pas lesquelles. Il semble donc qu'il y ait 50% de chances que MDADM devine mal et reconstruise des données incorrectes. D'où mon désir de savoir quels fichiers sont potentiellement affectés afin que je puisse les restaurer à partir d'une sauvegarde, si nécessaire)
Toutes suggestions grandement appréciées!
dmesg
ou / var / log / syslog?icheck
+ncheck
dansdebugfs
pour identifier les fichiers en fonction du décalage de secteur.smartctl -a /dev/sda
et ainsi de suite), ou utilisez toute autre méthode dont vous disposez pour exécuter un court test SMART sur chaque disque et imprimer un rapport complet. Il est très probable que l'un d'entre eux soit en train de mourir, et il faut beaucoup de mal pour déclencher une alarme de santé SMART globale.Réponses:
Désolé, 'check' réécrit en effet dans le tableau lorsqu'il rencontre une erreur - voir https://www.apt-browse.org/browse/ubuntu/trusty/main/amd64/mdadm/3.2.5-5ubuntu4/file /usr/share/doc/mdadm/README.checkarray
... il est donc peut-être déjà trop tard pour collecter les données que vous recherchez, désolé.
À plus long terme, il convient de noter que RAID5 (et 6 et 1) n'ont aucune protection contre la pourriture des bits, ce qui est probablement la situation que vous avez rencontrée. Lorsque les données d'un disque se détériorent, elles n'ont aucun moyen de déterminer laquelle des données est bonne ou mauvaise. Je suggérerais de planifier la migration vers un système de fichiers qui additionne chaque disque comme btrfs ou zfs.
(RAID-5 ne devrait vraiment pas être utilisé dans de nouveaux déploiements - et ne devrait vraiment pas l'être lorsque la capacité des disques bruts dépasse chacun 2 To - voir http://www.zdnet.com/article/why-raid-5- cesse de travailler en 2009 / )
la source