22.3. Mécanismes de traitement des erreurs dans le système XFS
Cette section décrit la manière dont XFS gère différents types d'erreurs dans le système de fichiers.
Démontages sauvages
La journalisation maintient un enregistrement transactionnel des changements de métadonnées qui se produisent sur le système de fichiers.
En cas de panne du système, de coupure de courant ou de tout autre démontage non conforme, XFS utilise le journal (également appelé log) pour récupérer le système de fichiers. Le noyau effectue la récupération du journal lors du montage du système de fichiers XFS.
Corruption
Dans ce contexte, corruption désigne les erreurs sur le système de fichiers causées, par exemple, par les éléments suivants
- Défauts matériels
- Bogues dans le micrologiciel de stockage, les pilotes de périphériques, la pile logicielle ou le système de fichiers lui-même
- Problèmes entraînant l'écrasement de certaines parties du système de fichiers par un élément extérieur au système de fichiers
Lorsque XFS détecte une corruption dans le système de fichiers ou dans les métadonnées du système de fichiers, il peut arrêter le système de fichiers et signaler l'incident dans le journal du système. Notez que si la corruption s'est produite sur le système de fichiers hébergeant le répertoire /var
, ces journaux ne seront pas disponibles après un redémarrage.
Exemple 22.1. Entrée du journal système signalant une corruption XFS
# dmesg --notime | tail -15 XFS (loop0): Mounting V5 Filesystem XFS (loop0): Metadata CRC error detected at xfs_agi_read_verify+0xcb/0xf0 [xfs], xfs_agi block 0x2 XFS (loop0): Unmount and run xfs_repair XFS (loop0): First 128 bytes of corrupted metadata buffer: 00000000027b3b56: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 000000005f9abc7a: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 000000005b0aef35: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 00000000da9d2ded: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 000000001e265b07: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 000000006a40df69: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 000000000b272907: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 00000000e484aac5: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ XFS (loop0): metadata I/O error in "xfs_trans_read_buf_map" at daddr 0x2 len 1 error 74 XFS (loop0): xfs_imap_lookup: xfs_ialloc_read_agi() returned error -117, agno 0 XFS (loop0): Failed to read root inode 0x80, error 11
Les utilitaires de l'espace utilisateur affichent généralement le message Input/output error lorsqu'ils tentent d'accéder à un système de fichiers XFS corrompu. Le montage d'un système de fichiers XFS dont le journal est corrompu entraîne l'échec du montage et le message d'erreur suivant :
mount : /mount-point: l'appel système mount(2) a échoué : La structure doit être nettoyée.
Vous devez utiliser manuellement l'utilitaire xfs_repair
pour réparer la corruption.
Ressources supplémentaires
-
xfs_repair(8)
page de manuel.