Si vous essayez d'exécuter xfs_repair Après avoir reçu le message d'erreur suggérant de monter le système de fichiers pour relire le journal, et après avoir monté le système, vous recevez toujours le même message d'erreur, vous devrez peut-être effectuer une réparation forcée (en utilisant la commande -L
drapeau avec xfs_repair
). Cette option ne doit être envisagée qu'en dernier recours.
Par exemple, je vais utiliser un cas où la partition racine de mon installation CentOS 7 était corrompue. En essayant de monter la partition, je recevais continuellement le message d'erreur ci-dessous :
mount : le montage de /dev/mapper/centos-root sur /mnt/centos-root a échoué : La structure doit être nettoyée
Malheureusement, forcer une réparation impliquerait de mettre à zéro (détruire) le journal avant de tenter une réparation. En utilisant cette méthode, il est possible de se retrouver avec plus de données corrompues que prévu initialement ; cependant, nous pouvons utiliser les outils xfs appropriés pour voir quel type de dommage peut être causé avant de faire des changements permanents.
Utilisation de xfs_metadump y xfs_mdrestore vous pouvez créer une image de métadonnées de la partition affectée et effectuer la réparation forcée sur l'image plutôt que sur la partition elle-même. L'avantage de cette méthode est la possibilité de voir les dommages causés par une réparation forcée avant de l'effectuer sur la partition.
Pour ce faire, vous aurez besoin d'un disque dur externe ou USB de taille décente. Commencez par monter le disque USB - mon USB se trouvait à l'adresse suivante /dev/sdb1
le vôtre peut être nommé différemment.
mkdir -p /mnt/usb
mount /dev/sdb1 /mnt/usb
Une fois monté, exécutez xfs_metadump
pour créer une copie des métadonnées de la partition sur l'USB - encore une fois, votre partition concernée peut être différente. Dans ce cas, la partition racine était corrompue et se trouvait à l'adresse suivante /dev/mapper/centos-root
:
xfs_metadump /dev/mapper/centos-root /mnt/usb/centos-root.metadump
Ensuite, vous voudrez restaurer les métadonnées dans une image afin que nous puissions effectuer une réparation et mesurer les dommages.
xfs_mdrestore /mnt/usb/centos-root.metadump /mnt/usb/centos-root.img
J'ai trouvé ça en mode sauvetage xfs_mdrestore
n'est pas disponible, et à la place vous devrez être en mode de secours d'un CD CentOS vivant.
Enfin, nous pouvons effectuer la réparation sur l'image :
xfs_repair -L /mnt/usb/centos-root.img
Une fois la réparation terminée et après avoir évalué la sortie et les dommages potentiels, vous pouvez déterminer si vous souhaitez effectuer la réparation contre la partition.
Pour exécuter la réparation de la partition, il suffit d'exécuter :
xfs_repair -L /dev/mapper/centos-root
N'oubliez pas de vérifier que les autres partitions ne sont pas corrompues non plus. Après les réparations, redémarrez le système et vous devriez pouvoir démarrer avec succès.
N'oubliez pas que le -L
Le drapeau ne doit être utilisé qu'en dernier recours, lorsqu'il n'y a pas d'autres options possibles pour réparer.
J'ai trouvé que ces articles en ligne m'ont aidé :