ext4 Prüfen

Normalerweise macht man sich als Linux Benutzer selten Gedanken um das Dateisystem
und auch Dinge wie Defragmentierung gehören nicht zu dem, was einen interessiert.
Aber das Prüfen des Dateisystems kann durchaus interessant sein.

Ich beschreibe hier kurz das ext4 Dateisystem da es unter Ubuntu seit 9.04 genutzt wird.

ext4 gehört zu den Journaling Dateisystemen, das bedeutet es wird ein Journal aller Aktivitäten
geführt und wenn zwischenzeitlich der PC oder Server abstürzt dann wird einfach das Journal
geprüft und die Aktionen darin abgeschlossen oder rückgängig gemacht.
Trotz des Journals wird in regelmäßigen Abständen, abhängig von der Anzahl der Mounts und Zeit zwischen den Reboots ein gründlicher Dateisystemcheck durchgeführt.

Aber es gibt durchaus 2 Situationen die eine genaue Betrachtung wert sind:

1. Der Rechner läuft als Server und ich möchte beim Neustart nicht, dass entweder Zeit oder Anzahl der Mounts überschritten wird und ein umfangreiches fsck läuft. Je nach Größe des Dateisystems kann es durchaus länger dauern bis das System zur Verfügung steht.

Die Anzahl der Mounts und die Zeit die zwischen einen fsck vergeht kann man ändern:
tune2fs -c0 -i0 /dev/sda1
Setzt die Zeit und die Mountzahl auf unendlich, kurz…. das Dateisystem wird nie geprüft.
Ich setzte diesen Wert auf allen Servern und Desktops so, damit ich den Zeitpunkt des fsck selbst bestimmen kann. (Siehe Punkt 2)
-i steht für die Zeit zwischen den fsck, zb. -i 28d für alle 28 Tage , -i 8w für alle 8 Wochen.
-c steht für die Mountzahl, z.b. -c10 für alle 10 mountvorgänge.

2. Ich möchte beim Neustart ein manuelles fsck erzwingen. Für normale Partitionen die nicht eingehängt sind reicht ein: fsck.extfs -f /dev/sda1 für eine Überprüfung.
Bei einer Root-Partition ist es nicht so leicht. Zwar kann ich sie als Single-User als Read-Only ein-mounten, aber das ist sehr unzuverlässig.

Einfacher geht es so: touch /forcefsck (als root)

Beim nächsten Neustart weden alle Dateisysteme in der fstab geprüft. Immer wenn ich mal Zeit und Lust habe, nutze ich diese Funktion um die Rechner zu prüfen. So kann ich genau steuern wann es durchläuft und mich eine längere Bootzeit nicht stört.

Leave a Reply