VMware ESXi and vSphere Cluster Management
Ext-Dateisysteme und XFS-Dateisysteme verwalten
Linux-Dateisysteme sicher prüfen und anpassen: tune2fs für ext2/ext3/ext4, xfs_admin für XFS, Prüfintervalle, Reserven, Labels, UUIDs und Journale.
Aufgabe und Geltungsbereich
Ein Dateisystem ist die Struktur auf einem Blockgerät oder einer Partition, die Dateien, Verzeichnisse, Metadaten und freien Speicher organisiert. Dieses Kapitel behandelt die Verwaltung ausgewählter Dateisystem-Metadaten.
Das ist abzugrenzen von anderen Aufgaben:
- Partitionieren: Aufteilen eines Datenträgers in Partitionen, zum Beispiel mit
fdiskoderparted. - Formatieren: Anlegen eines neuen Dateisystems, zum Beispiel mit
mkfs.ext4odermkfs.xfs. Dabei werden vorhandene Daten normalerweise zerstört. - Mounten: Einbinden eines Dateisystems in den Verzeichnisbaum.
- Reparieren: Überprüfen und Beheben von Inkonsistenzen, bei ext-Dateisystemen typischerweise mit
e2fsck.
Im Mittelpunkt stehen die ext-Familie und XFS. ext2 besitzt standardmäßig kein Journal, ext3 ergänzt Journaling, und ext4 bietet weitere Funktionen gegenüber ext3. XFS ist ein journalingfähiges Dateisystem mit eigenen Verwaltungswerkzeugen.
Für ext2, ext3 und ext4 wird tune2fs verwendet. Für ausgewählte XFS-Metadaten ist xfs_admin zuständig. Optionen und Fähigkeiten können je nach Dateisystemtyp und installierter Tool-Version abweichen.
Begriffe und Sicherheit vor jeder Änderung
Ein Blockgerät ist ein direkt von Speicherwerkzeugen angesprochener Pfad wie /dev/sdc1. Ein Mountpoint ist dagegen ein Verzeichnis wie /data, unter dem ein Dateisystem erreichbar ist. Diese beiden Angaben sind nicht austauschbar.
Vor Änderungen müssen Ziel, Typ und Einbindungszustand eindeutig geprüft werden:
lsblk -f
sudo blkid /dev/sdc1
findmnt /dev/sdc1
mountpoint /data
lsblk -fzeigt Geräte, Dateisystemtyp, Label und UUID in einer übersichtlichen Struktur.blkidliest Identitätsmerkmale wieTYPE,LABELundUUID.findmntzeigt, ob und wo ein Gerät gemountet ist.mountpointprüft, ob ein bestimmtes Verzeichnis als Mountpoint verwendet wird.
Metadatenänderungen sollten möglichst an einem nicht gemounteten Dateisystem erfolgen. Das gilt besonders für xfs_admin und für Operationen, die die Konsistenz beeinflussen können. Das Root-Dateisystem lässt sich im laufenden System meist nicht aushängen. Dafür wird eine Rescue-, Recovery- oder Live-Umgebung benötigt.
Werkzeugauswahl nach Dateisystemtyp
| Dateisystemtyp | Primäres Werkzeug | Relevante Operationen | Aushängen erforderlich | Hinweise |
|---|---|---|---|---|
| ext2 | tune2fs | Metadaten anzeigen, Prüfintervalle, Reserve, Label, Journal | Für Änderungen dringend empfohlen; bei -j erforderlich | Kein Journal standardmäßig |
| ext3 | tune2fs | Metadaten, Prüfintervalle, Reserve, Label | Für Änderungen abhängig von der Operation; Offline-Betrieb ist sicherer | Journaling-Dateisystem |
| ext4 | tune2fs | Metadaten, Prüfintervalle, Reserve, Label | Für Änderungen abhängig von der Operation; Offline-Betrieb ist sicherer | Weitere Funktionen gegenüber ext3 |
| XFS | xfs_admin | Label und UUID anzeigen oder ändern | Ja, Dateisystem vorher aushängen | Nicht mit tune2fs verwalten |
Ext-Metadaten mit tune2fs untersuchen
Der Superblock enthält zentrale Dateisysteminformationen, etwa Blockgröße, UUID, Zustand und Funktionsmerkmale. tune2fs liest und ändert ausgewählte Superblock-Einstellungen.
sudo tune2fs -l /dev/sdc1
In der Ausgabe sind unter anderem diese Felder wichtig:
- Filesystem features: aktivierte Funktionen wie Journaling.
- Filesystem state: gespeicherter Zustand des Dateisystems.
- Mount count und Maximum mount count: aktuelle und erlaubte Mount-Anzahl seit der letzten Prüfung.
- Last checked und Check interval: Zeitpunkt der letzten Prüfung und zeitbasierter Prüfintervall.
- Reserved block count: Anzahl reservierter Blöcke.
- Block size: Größe eines Dateisystemblocks.
- Volume name: Label des Dateisystems.
- Filesystem UUID: persistente Kennung.
- Filesystem features beziehungsweise Journal-Angaben: Hinweis darauf, ob ein Journal vorhanden ist.
Prüfungen für ext-Dateisysteme planen
Mit -c wird festgelegt, nach wie vielen Mounts eine Dateisystemprüfung angefordert werden soll:
sudo tune2fs -c 30 /dev/sdc1
sudo tune2fs -l /dev/sdc1
Mit -i wird ein zeitbasierter Höchstintervall gesetzt. Unterstützt werden beispielsweise Tage (d), Wochen (w) und Monate (m):
sudo tune2fs -i 6m /dev/sdc1
sudo tune2fs -l /dev/sdc1
Mount-Zähler und Zeitintervall sind zwei unabhängige Bedingungen. Eine Prüfung kann angefordert werden, sobald eine der Bedingungen erfüllt ist. Häufige Prüfungen können Probleme früh erkennen, aber bei großen Dateisystemen längere Wartungs- oder Bootzeiten verursachen.
Ein konfigurierter Schwellenwert kann, sofern die installierte Version dies unterstützt, mit einem Wert von 0 deaktiviert werden. Danach müssen die Werte ausdrücklich kontrolliert werden:
sudo tune2fs -c 0 /dev/sdc1
sudo tune2fs -i 0 /dev/sdc1
sudo tune2fs -l /dev/sdc1
Reservierte Blöcke auf ext
Reservierte Blöcke stehen privilegierten Prozessen weiterhin zur Verfügung, wenn der normale freie Speicher knapp wird. Das kann den Betrieb eines Systemdateisystems aufrechterhalten und starke Fragmentierung bei nahezu voller Belegung vermindern.
Der Prozentsatz wird mit -m gesetzt:
sudo tune2fs -m 1 /dev/sdc1
sudo tune2fs -l /dev/sdc1
Bei einer Partition mit 1 TiB Kapazität entsprechen 5 % ungefähr 51,2 GiB, während 1 % ungefähr 10,24 GiB entspricht. Die konkrete Blockanzahl und Blockgröße stehen in der Ausgabe von tune2fs -l. Auf großen, nicht systemkritischen Datenvolumes kann ein kleinerer Anteil sinnvoll sein. Für Systemvolumes sollte eine ausreichende Reserve erhalten bleiben.
Labels, UUIDs und persistente Mounts
Ein Volume-Label ist ein lesbarer Name wie DATA_ARCHIVE. Eine UUID ist eine eindeutige Dateisystemkennung. Gerätenamen können sich durch Hardware- oder Erkennungsreihenfolge ändern; UUID-basierte Einträge in /etc/fstab sind deshalb häufig robuster.
Ein ext-Label wird so gesetzt:
sudo tune2fs -L DATA_ARCHIVE /dev/sdc1
sudo blkid /dev/sdc1
Beispiel für Einträge in /etc/fstab:
UUID=<uuid-value> /data ext4 defaults 0 2
UUID=<uuid-value> /data xfs defaults 0 0
Nach Änderungen an Label oder UUID müssen /etc/fstab, Boot-Konfigurationen, Skripte, Monitoring und Anwendungsreferenzen auf den neuen Wert geprüft und gegebenenfalls angepasst werden. Vor einem Neustart kann die Konfiguration, sofern die Mountpoints und Voraussetzungen stimmen, mit folgendem Befehl getestet werden:
sudo mount -a
findmnt /data
| Identifier-Typ | Beispielformat | Stabilität | Geeignete Verwendung | Fehler nach Änderungen |
|---|---|---|---|---|
| Gerätename | /dev/sdc1 | Kann sich ändern | Temporäre oder eindeutig geprüfte Befehle | Falsches Gerät nach Umordnung möglich |
| Label | LABEL=DATA_ARCHIVE | Lesbar, aber nicht zwingend eindeutig | Übersichtliche Mount-Konfiguration | Mount schlägt fehl, wenn das Label nicht aktualisiert wird |
| UUID | UUID=7b... | Normalerweise persistent und eindeutig | Persistente Mounts in /etc/fstab | Alter UUID-Eintrag zeigt auf kein Gerät; Duplikate sind mehrdeutig |
Journaling und ext2 zu ext3
Ein Journal ist ein Protokoll, in dem bestimmte Dateisystemänderungen vor ihrer endgültigen Übernahme festgehalten werden. Nach einem Stromausfall oder Systemabsturz kann dies die Wiederherstellung beschleunigen und die Konsistenz verbessern.
Ein ungemountetes ext2-Dateisystem kann mit -j um ein Journal ergänzt werden. Dadurch wird es zu einem ext3-kompatiblen, journalingfähigen Dateisystem:
sudo umount /dev/sdc1
sudo tune2fs -j /dev/sdc1
sudo tune2fs -l /dev/sdc1
Vorher sind ein Backup, ein sicher ausgehängtes Ziel und ausreichend freier Speicher erforderlich. In den Features der Ausgabe sollte danach ein Journalmerkmal sichtbar sein. Das Hinzufügen eines Journals ist jedoch keine vollständige Migration zu ext4: Es aktiviert nicht automatisch alle ext4-Funktionen.
Wichtige tune2fs-Optionen
| Option | Zweck | Erwartetes Argument | Beispiel | Prüfung | Risiko oder Vorsicht |
|---|---|---|---|---|---|
-c | Maximale Mounts bis zur angeforderten Prüfung | Ganzzahl, etwa 30 | tune2fs -c 30 /dev/sdc1 | tune2fs -l | Zu kleine Werte verlängern Wartungszeiten |
-i | Zeitintervall bis zur Prüfung | Zahl mit d, w oder m | tune2fs -i 6m /dev/sdc1 | tune2fs -l | Unpassende Intervalle können Prüfungen zu häufig oder zu selten anfordern |
-j | Journal zu ext2 hinzufügen | kein Argument | tune2fs -j /dev/sdc1 | Features in tune2fs -l | Nur offline, Backup und freier Speicher erforderlich |
-l | Superblock-Metadaten anzeigen | kein Argument | tune2fs -l /dev/sdc1 | Direkte Ausgabe | Nur auf ext2/ext3/ext4 anwenden |
-f | Ausgewählte Sicherheitsprüfungen oder Warnungen übergehen | kein Argument | tune2fs -f ... | Ausgabe und erneute Identitätsprüfung | Kein Sicherheitsersatz; nur nach Diagnose |
-m | Prozentsatz reservierter Blöcke | Prozentwert, etwa 1 | tune2fs -m 1 /dev/sdc1 | Reserved block count in -l | Systemreserve nicht unüberlegt reduzieren |
-L | Ext-Label setzen | Labelname | tune2fs -L DATA_ARCHIVE /dev/sdc1 | blkid, lsblk -f | Referenzen auf altes Label aktualisieren |
XFS mit xfs_admin verwalten
xfs_admin dient ausgewählten XFS-Metadatenänderungen. Vorher muss der Dateisystemtyp geprüft und das Dateisystem ausgehängt werden:
lsblk -f
sudo umount /dev/sdc1
sudo xfs_admin -l /dev/sdc1
sudo xfs_admin -L PROJECT_DATA /dev/sdc1
sudo blkid /dev/sdc1
Eine neue UUID kann beispielsweise nach dem Klonen eines Dateisystems erzeugt werden:
sudo umount /dev/sdc1
sudo xfs_admin -U generate /dev/sdc1
sudo blkid /dev/sdc1
sudo lsblk -f
Nach dem Klonen können zwei verbundene Dateisysteme dieselbe UUID besitzen. Das kann zu mehrdeutigen Mounts führen. Eine neue UUID ist dann sinnvoll, sofern alle abhängigen Konfigurationen angepasst werden.
| Option | Zweck | Erwartetes Argument | Aushängen erforderlich | Prüfung |
|---|---|---|---|---|
-l | Aktuelles XFS-Label anzeigen | kein Argument | Ja | xfs_admin -l, blkid |
-L | Neues XFS-Label setzen | Labelname | Ja | xfs_admin -l, lsblk -f |
-U | UUID setzen oder neu erzeugen | UUID oder generate | Ja | blkid, lsblk -f |
Force-Option und Fehlermeldungen
tune2fs -f kann ausgewählte Sicherheitsprüfungen oder Warnungen übergehen. Das ist eine Ausnahme und macht einen riskanten Vorgang nicht sicher. Zuerst muss die gemeldete Ursache untersucht werden.
- Mounted oder busy: Mit
findmntden Mountstatus prüfen, abhängige Prozesse mitlsofoderfuseruntersuchen und sauber aushängen. - Bad magic number oder unsupported filesystem: Mit
lsblk -fundblkidden Typ prüfen. Möglicherweise wurde die falsche Ebene eines LVM-, RAID-, Verschlüsselungs- oder Loop-Stacks gewählt. - Falsches Werkzeug:
tune2fsist für ext2/ext3/ext4,xfs_adminfür XFS. - Mögliche Beschädigung: Erst den Zustand untersuchen und eine passende Offline-Prüfung planen, statt Warnungen zu erzwingen.
Verifikation und Troubleshooting
Nach jeder Änderung sollte nicht nur der Einzelbefehl erfolgreich beendet werden. Vergleiche die neue Identität mit dem erwarteten Gerät und prüfe die persistente Konfiguration:
sudo tune2fs -l /dev/sdc1
sudo blkid /dev/sdc1
sudo lsblk -f
findmnt /data
grep -v '^[[:space:]]*#' /etc/fstab
Für XFS ergänzen sich xfs_admin -l, blkid und lsblk -f. Nach einer Änderung von Label oder UUID müssen alte Werte in /etc/fstab, Boot-Konfigurationen, Skripten und Überwachungssystemen gesucht werden. Ein kontrolliertes mount -a kann die Mount-Konfiguration vor dem Neustart testen.
- Unerwarteter Mount: UUIDs und Labels aller angeschlossenen Dateisysteme mit
blkidvergleichen; nach Klonen auf doppelte UUIDs achten. - Weniger nutzbarer Speicher: Bei ext
Reserved block count, Blockgröße und Zweck des Volumes prüfen. Für ein reines Datenvolume kann ein kleinerer Reservewert geeignet sein. - Langer Check beim Booten: Mount count, Maximum mount count, Last checked und Check interval mit
tune2fs -lprüfen. Die Wartungspolitik anpassen, aber Integritätsprüfungen nicht leichtfertig abschalten.
Zusammenfassung
tune2fsverwaltet ausgewählte Metadaten von ext2, ext3 und ext4.xfs_adminverwaltet ausgewählte Labels und UUIDs von XFS.- Labels sind lesbare Namen; UUIDs sind persistente Identifikatoren.
- Mount-Zahl und Zeitintervall können bei ext unabhängig voneinander eine Prüfung auslösen.
- Reservierte Blöcke schützen insbesondere Systemdateisysteme vor vollständiger Belegung.
tune2fs -jergänzt bei einem ungemounteten ext2-Dateisystem ein Journal und macht es ext3-kompatibel, nicht automatisch ext4.- Nach UUID- oder Labeländerungen müssen alle Referenzen, besonders in
/etc/fstab, aktualisiert werden.
Weitere Grundlagen zum Thema findest du unter Dateisysteme anpassen.