Benutzer-Werkzeuge

Webseiten-Werkzeuge


wiki:xfs_error_kernel

XFS Fehler nach Kernel-Update

Fehlerbeschreibung

Nach einem Update auf folgenden Kernel:

  • Linux 4.18.0-553.58.1.el8_10.x86_64

trat beim Booten bzw. Mounten des XFS-Dateisystems folgender Fehler auf:

  • `kernel: XFS (dm-0): Corruption detected. Unmount and run xfs_repair`
  • `kernel: XFS (dm-0): Internal error i != 1 at line 481 of file fs/xfs/libxfs/xfs_alloc.c. Caller xfs_alloc_fixup_trees+0x198/0x3b0 [xfs]`

Änderungen an Kernel-Konfiguration

In der Datei `config-4.18.0-553.58.1.el8_10.x86_64` wurden folgende Optionen aktiviert:

  • CONFIG_XFS_FS=y
  • CONFIG_XFS_QUOTA=y
  • CONFIG_XFS_POSIX_ACL=y
  • CONFIG_XFS_RT=y
  • CONFIG_XFS_ONLINE_SCRUB=y

Analyse & Hintergrundwissen

  • Fehlerursache: Der Fehler `i != 1` in `xfs_alloc.c` deutet auf eine Inkonsistenz in den freien Speicherbaumstrukturen des Dateisystems hin. Dies kann durch eine beschädigte Metastruktur oder durch eine fehlerhafte Kernel-Implementierung ausgelöst werden.
  • xfs_repair: Das Tool `xfs_repair` sollte verwendet werden, um die Dateisystemstruktur zu prüfen und zu reparieren. Wichtig: Das Dateisystem muss vorher ausgehängt werden.
  • CONFIG_XFS_RT: Aktiviert Unterstützung für „Real-Time Subvolumes“, eine selten genutzte Funktion. Falls nicht benötigt, kann sie deaktiviert werden, um Komplexität zu reduzieren.
  • CONFIG_XFS_ONLINE_SCRUB: Ermöglicht die Online-Prüfung von Dateisystemstrukturen. Diese Funktion ist experimentell und kann bei bestimmten Kernel-Versionen instabil sein.
  • Kernel-Kompatibilität: Änderungen an XFS-bezogenen Optionen können zu Inkompatibilitäten mit bestehenden Dateisystemen führen, insbesondere wenn das Dateisystem mit einem älteren Kernel erstellt wurde.

Empfehlung

  • System im Rescue-Modus starten.
  • betroffene Partition aushängen (`umount /dev/dm-0`)
  • `xfs_repair /dev/dm-0` ausführen.
  • Bei wiederholtem Auftreten: Kernel-Konfiguration prüfen, insbesondere experimentelle Optionen wie `CONFIG_XFS_RT` und `CONFIG_XFS_ONLINE_SCRUB`.
  • Backup wichtiger Daten vor weiteren Tests!

In meinem konkreten Fall war das root Filesystem betroffen :!: und ich bin das Risiko, ohne xfs_repair auf ausgegangenem Device, mit geänderter Konfiguration neu zu starten, eingegangen.

Quellen & Tools

  • `man xfs_repair`
  • Kernel-Quellcode: `fs/xfs/libxfs/xfs_alloc.c`
wiki/xfs_error_kernel.txt · Zuletzt geändert: von Thomas Schilling