Das XFS-Dateisystem ist ein Hochleistungs-Journaling-Dateisystem. XFS unterstützt eine maximale Dateisystemgröße von 500 TB und eine maximale Dateigröße von 16 TB. Sie können ein XFS-Dateisystem auf einer normalen Festplattenpartition und auf einem logischen Volume erstellen. Es funktioniert unglaublich gut unter hoher Last und skaliert mit großen Dateien, ist aber dadurch auch anfällig für Schäden, und vor diesem Hintergrund ziehen wir jetzt eine Reihe von Tools in Betracht, die es uns ermöglichen, Fehler auf dem Server zu beheben und das Dateisystem wiederherstellen.
Zur Wartung des Dateisystems stehen zusätzliche XFS-Dienstprogramme zur Verfügung. Zu diesen Dienstprogrammen gehören die folgenden:
- xfs_fsr :XFS ist ein Extent-basiertes Dateisystem. Das Dienstprogramm xfs_fsr reorganisiert und verbessert das Layout der Dateierweiterungen, wodurch die Gesamtleistung verbessert wird. Führen Sie diesen Befehl auf einem gemounteten XFS-Dateisystem oder auf einzelnen Dateien im Dateisystem aus.
- xfs_repair :Reparieren Sie ein beschädigtes oder beschädigtes XFS-Dateisystem. Hängen Sie das Dateisystem aus, bevor Sie diesen Befehl ausführen. Wenn das Dateisystem nicht repariert werden kann, stellen Sie Dateien aus einem Backup mit xfsrestore wieder her.
- xfs_db :Debuggen eines XFS-Dateisystems. Dieses Dienstprogramm bietet einen Befehlssatz, mit dem Sie das Dateisystem scannen und in seinen Datenstrukturen navigieren und diese anzeigen können.
Reparieren Sie ein XFS-Dateisystem mit xfs_repair
Die xfs_repair Dienstprogramm kann verwendet werden, um ein beschädigtes oder beschädigtes XFS-Dateisystem zu reparieren. Die von xfs_repair verwendete grundlegende Syntax lautet wie folgt:
# xfs_repair /mount/pointHINWEIS :Stellen Sie sicher, dass Sie zuerst das XFS-Dateisystem aushängen, bevor Sie den Befehl xfs_repair ausführen.
Ähnlich wie das Dienstprogramm fsck repariert das Dienstprogramm xfs_repair nicht gemountete xfs-Dateisysteme in einer Reihe von Phasen. Die Beispielausgabe einer XFS-Reparatur sieht wie folgt aus:
# xfs_repair /dev/mapper/vg_test-lv_test Phase 1 - find and verify superblock... - reporting progress in intervals of 15 minutes Phase 2 - using internal log - zero log... - scan filesystem freespace and inode maps... - 12:57:37: scanning filesystem freespace - 291 of 291 allocation groups done - found root inode chunk Phase 3 - for each AG... - scan and clear agi unlinked lists... - 12:57:37: scanning agi unlinked lists - 291 of 291 allocation groups done - process known inodes and perform inode discovery... ... ... Metadata corruption detected at xfs_inode block 0x60/0x2000 Metadata corruption detected at xfs_inode block 0x60/0x2000 Metadata corruption detected at xfs_inode block 0x60/0x2000 Metadata corruption detected at xfs_inode block 0x60/0x2000 Metadata corruption detected at xfs_inode block 0x60/0x2000 Metadata corruption detected at xfs_inode block 0x60/0x2000 Metadata corruption detected at xfs_inode block 0x60/0x2000 Metadata corruption detected at xfs_inode block 0x60/0x2000 Metadata corruption detected at xfs_inode block 0x60/0x2000 Metadata corruption detected at xfs_inode block 0x60/0x2000 Phase 4 - check for duplicate blocks... - setting up duplicate extent list... - 12:57:37: setting up duplicate extent list - 291 of 291 allocation groups done - check for inodes claiming duplicate blocks... Phase 5 - rebuild AG headers and trees... - 12:57:37: rebuild AG headers and trees - 291 of 291 allocation groups done - reset superblock... Phase 6 - check inode connectivity... - resetting contents of realtime bitmap and summary inodes - traversing filesystem ... - traversal finished ... - moving disconnected inodes to lost+found ... Phase 7 - verify and correct link counts... - 12:57:37: verify and correct link counts - 291 of 291 allocation groups done done
Wenn Sie nur nach Dateisystemproblemen suchen, aber keine Probleme beheben möchten, führen Sie xfs_check aus Befehl anstelle des Befehls xfs_repair.
# xfs_check /dev/mapper/vg_test-lv_test Metadata corruption detected at xfs_inode block 0x40/0x8000 Metadata corruption detected at xfs_inode block 0x40/0x8000 Metadata corruption detected at xfs_inode block 0x40/0x8000 Metadata corruption detected at xfs_inode block 0x40/0x8000 Metadata corruption detected at xfs_inode block 0x40/0x8000 Metadata corruption detected at xfs_inode block 0x40/0x8000 Metadata corruption detected at xfs_inode block 0x40/0x8000 Metadata corruption detected at xfs_inode block 0x40/0x8000 Metadata corruption detected at xfs_inode block 0x40/0x8000 Metadata corruption detected at xfs_inode block 0x40/0x8000 bad magic number 0xfe3d for inode 100 bad magic number 0xa756 for inode 101 bad magic number 0xd375 for inode 102 bad magic number 0x88f5 for inode 103 bad magic number 0xc7cd for inode 104 bad magic number 0xc95 for inode 105 bad magic number 0xaeaf for inode 106 bad magic number 0x10c4 for inode 107 bad magic number 0xf137 for inode 108 bad magic number 0x8157 for inode 109 69 file1
Sie können auch die Datei „xfs_repair -n verwenden “-Befehl, um einen Probelauf für xfs_repair durchzuführen. Einige Distributionen enthalten den Befehl xfs_check nicht. In diesem Fall können Sie diese Option verwenden, da sie auf die gleiche Weise funktionieren.
# xfs_repair -n /dev/mapper/vg_test-lv_test ..... Phase 7 - verify link counts... - 13:02:55: verify and correct link counts - 291 of 291 allocation groups done No modify flag set, skipping filesystem flush and exiting.