Red Hat Training

A Red Hat training course is available for Red Hat Enterprise Linux

4.11. Reparieren eines Dateisystems

Wenn Knoten mit eingehängtem Dateisystem ausfallen, ermöglicht das Dateisystem-Journal eine schnelle Wiederherstellung. Wenn auf einem Speichergerät jedoch ein Stromausfall auftritt oder die Verbindung physisch unterbrochen wird, kann das Dateisystem Schaden nehmen. (Journaling kann nicht dazu verwendet werden, um das Dateisystem nach Ausfällen oder Fehlern im Speichersubsystem wiederherzustellen.) Falls diese Art von Fehler auftritt, können Sie das GFS2-Dateisystem mithilfe des fsck.gfs2-Befehls wiederherstellen.

Wichtig

Der fsck.gfs2-Befehl darf nur auf einem Dateisystem ausgeführt werden, das auf allen Knoten ausgehängt ist.

Wichtig

Sie sollten ein GFS2-Dateisystem nicht beim Systemstart mit dem fsck.gfs2-Befehl überprüfen. Der fsck.gfs2-Befehl kann beim Start nicht feststellen, ob das Dateisystem auf einem anderen Knoten im Cluster eingehängt ist. Sie sollten den fsck.gfs2-Befehl erst nach dem Systemstart manuell durchführen.
Um sicherzustellen, dass der fsck.gfs2-Befehl nicht auf einem GFS2-Dateisystem beim Systemstart ausgeführt werden kann, ändern Sie die /etc/fstab-Datei, sodass die beiden letzten Spalten für den Einhängepunkt des GFS2-Dateisystems „0 0“ statt „1 1“ anzeigen (oder beliebige andere Zahlen), wie im folgenden Beispiel:
/dev/VG12/lv_svr_home   /svr_home       gfs2     defaults,noatime,nodiratime,noquota     0 0

Anmerkung

Falls Sie bereits Erfahrungen mit dem gfs_fsck-Befehl auf GFS-Dateisystemen haben, beachten Sie bitte, dass sich der fsck.gfs2-Befehl von einigen älteren gfs_fsck-Versionen wie folgt unterscheidet:
  • Wenn Sie Strg+C während der Ausführung von fsck.gfs2 drücken, wird die Verarbeitung unterbrochen und eine Eingabeaufforderung angezeigt, die Sie fragt, ob Sie den Befehl abbrechen möchten, den Rest des aktuellen Durchlaufs überspringen möchten oder die Verarbeitung fortsetzen möchten.
  • Sie können den Grad der Ausführlichkeit der Ausgabe erhöhen, indem Sie das -v-Flag verwenden. Ein weiteres -v erhöht die Ausführlichkeit nochmals.
  • Sie können den Grad der Ausführlichkeit der Ausgabe verringern, indem Sie das -q-Flag verwenden. Ein weiteres -q verringert die Ausführlichkeit nochmals.
  • Die Option -n öffnet ein Dateisystem schreibgeschützt und beantwortet alle Anfragen automatisch mit no. Diese Option bietet eine Möglichkeit, den Befehl auszuprobieren, um Fehler aufzudecken, ohne dass der fsck.gfs2-Befehl jedoch tatsächlich wirksam ist.
Weitere Informationen über andere Befehlsoptionen finden Sie auf der man-Seite für fsck.gfs2.
Das Ausführen des fsck.gfs2-Befehls erfordert Systemspeicher noch über den Speicher für das Betriebssystem und den Kernel hinaus. Jeder Speicherblock im GFS2-Dateisystem selbst erfordert ungefähr fünf Bits zusätzlichen Speicher oder 5/8 eines Bytes. Um abzuschätzen, wie viele Bytes an Speicher Sie zur Ausführung des fsck.gfs2-Befehls auf Ihrem Dateisystem benötigen, bestimmen Sie, wie viele Blöcke das Dateisystem umfasst und multiplizieren Sie diese Zahl mit 5/8.
Um beispielsweise abzuschätzen, wie viel Speicher erforderlich ist, um den fsck.gfs2-Befehl auf einem GFS2-Dateisystem auszuführen, das 16 TB groß ist und eine Blockgröße von 4 K aufweist, bestimmen Sie zunächst, wie viele Speicherblöcke das Dateisystem umfasst, indem Sie 16 TB durch 4 K teilen:
 17592186044416 / 4096 = 4294967296
Dieses Dateisystem umfasst 4294967296 Blöcke; multiplizieren Sie diese Zahl also mit 5/8, um zu bestimmen, wie viele Bytes an Speicher erforderlich sind:
4294967296 * 5/8 = 2684354560
Dieses Dateisystem erfordert ungefähr 2,6 GB an freiem Speicher, um den fsck.gfs2-Befehl auszuführen. Beachten Sie, dass bei einer Blockgröße von 1 K zur Ausführung von fsck.gfs2 die vierfache Menge an Speicher notwendig wäre, nämlich etwa 11 GB.

4.11.1. Verwendung

fsck.gfs2 -y BlockDevice
-y
Mit dem Flag -y werden alle Fragen mit yes beantwortet. Wenn Sie das Flag -y angeben, fordert Sie der fsck.gfs2-Befehl nicht zur Eingabe einer Antwort auf, bevor Änderungen vorgenommen werden.
BlockDevice
Gibt das Blockgerät an, auf dem sich das GFS2-Dateisystem befindet.

4.11.2. Beispiel

In diesem Beispiel wird das GFS2-Dateisystem repariert, das auf dem Blockgerät /dev/testvol/testlv liegt. Alle Fragen zur Reparatur werden automatisch mit yes beantwortet.
[root@dash-01 ~]# fsck.gfs2 -y /dev/testvg/testlv
Initializing fsck
Validating Resource Group index.
Level 1 RG check.
(level 1 passed)
Clearing journals (this may take a while)...
Journals cleared.
Starting pass1
Pass1 complete
Starting pass1b
Pass1b complete
Starting pass1c
Pass1c complete
Starting pass2
Pass2 complete
Starting pass3
Pass3 complete
Starting pass4
Pass4 complete
Starting pass5
Pass5 complete
Writing changes to disk
fsck.gfs2 complete