Dateisystem-Check

Last change on 2022-12-20 • Created on 2020-03-19 • ID: RO-CFCDC

Einführung

Dateisysteme organisieren die Art und Weise, wie Daten gespeichert werden. Unter bestimmten Umständen kann das Dateisystem jedoch beschädigt und damit der Zugriff auf die Daten eingeschränkt werden. Dies kann dazu führen, dass Warnmeldungen angezeigt werden oder dass sich das System "seltsam" verhält, z.B. wenn Prozesse abstürzen und Software nicht mehr startet. In diesem Fall wird empfohlen, die Integrität des Dateisystems zu überprüfen.

Dieser Artikel erklärt das Verfahren sowohl für die Ausführung einer manuellen Dateisystemprüfung als auch für die Aktivierung des automatischen Checks für Linux- und Windows-Systeme.

Der Linux-Dateisystem-Check (FSCK)

Zuerst sollten Sie die Dateisysteme und deren Partitionen in Ihrem Systems ermitteln, indem Sie den Befehl lsblk ausführen.

Falls die Ausgabe wie unten dargestellt aussieht und es raid-Einträge in der Spalte TYPE gibt, läuft ein Software-RAID auf Ihrem System. Hier sollten alle md-Partitionen überprüft werden, welche in diesem Beispiel md0, md1 und md2 heißen:

root@your_host ~ # lsblk
NAME    MAJ:MIN RM   SIZE RO TYPE  MOUNTPOINT
loop0     7:0    0     4G  1 loop
sda       8:0    0 447.1G  0 disk
├─sda1    8:1    0     4G  0 part
│ └─md0   9:0    0     4G  0 raid1
├─sda2    8:2    0   512M  0 part
│ └─md1   9:1    0 511.4M  0 raid1
└─sda3    8:3    0 442.6G  0 part
  └─md2   9:2    0 442.5G  0 raid1
sdb       8:16   0 447.1G  0 disk
├─sdb1    8:17   0     4G  0 part
│ └─md0   9:0    0     4G  0 raid1
├─sdb2    8:18   0   512M  0 part
│ └─md1   9:1    0 511.4M  0 raid1
└─sdb3    8:19   0 442.6G  0 part
  └─md2   9:2    0 442.5G  0 raid1

Wenn die Ausgabe eher wie die untenstehende aussieht, gibt es kein Software-RAID und die zu überprüfenden Partitionen sind in diesem Beispiel sda1, sda2, sda3 und sdb1:

root@your_host ~ # lsblk
NAME    MAJ:MIN RM   SIZE RO TYPE  MOUNTPOINT
loop0     7:0    0     4G  1 loop
sda       8:0    0 447.1G  0 disk
├─sda1    8:1    0     4G  0 part
├─sda2    8:2    0   512M  0 part
└─sda3    8:3    0 442.6G  0 part
sdb       8:16   0 447.1G  0 disk
└─sdb1    8:17   0   446G  0 part

Anzeige von Informationen zum Dateisystem-Check

Um zu überprüfen, wann der letzte Dateisystemcheck ausgeführt wurde und ob dieser bereits auf den automatischen Modus gestellt ist, verwenden Sie einfach den folgenden Befehl:

tune2fs -l /dev/<PARTITION> | grep -i 'mounted|last checked|interval'

Ersetzen Sie dabei einfach Partition für Partition den Platzhalter <PARTITION> durch die Namen Ihrer Partitionen und führen Sie die Befehle nacheinander aus. In diesem Beispiel für die Partition md2:

tune2fs -l /dev/md2 | grep -i 'mounted|last checked|interval'
Last mounted on:          /
Last checked:             Tue Feb 13 11:52:32 2020
Check interval:           0 (<none>) # Bedeutet, der automatische Modus ist aus

Automatischer Dateisystem-Check

Bevor Sie den periodischen Filesystem-Check aktivieren, sollten Sie bedenken, dass die Prüfung automatisch bei einigen der zukünftigen Neustarts durchgeführt werden wird, was die Zeit des Boot-Prozesses und auch die Downtime Ihres Servers verlängern könnte. Daher sollten Sie unter bestimmten Umständen manuelle Filesystem-Checks in regelmäßigen Abständen vorziehen.

Um die automatische Dateisystemprüfung zu aktivieren, verwenden Sie die folgenden beiden Befehle:

tune2fs -c <BOOT_ANZAHL> /dev/<PARTITION>
tune2fs -i <MIN_ZEITABSTAND> /dev/<PARTITION>

Bitte ersetzen Sie dazu folgende Platzhalter:

  • <BOOT_ANZAHL> mit der Anzahl der Boot-Prozesse zwischen den Prüfungen
  • <PARTITION> mit dem Partitionsnamen
  • <MIN_ZEITABSTAND> mit dem zeitlichen Mindest-Abstand zwischen den Prüfungen

Prüfen Sie zum Beispiel die Partition md2 alle 3 Boots mit einer Mindestzeit von 1m (Monat) dazwischen:

tune2fs -c 3 /dev/md2
tune2fs -i 1m /dev/md2

Diese beiden Befehle können Sie bei Bedarf für alle Ihre Partitionen wiederholen.

Manueller Dateisystem-Check

Eine manuelle Dateisystem-Überprüfung kann über ein Systemprogramm namens fsck (file system consistency check) gestartet werden. Da ein Dateisystem-Check nur auf nicht eingebundenen Partitionen durchgeführt werden kann, empfehlen wir daher, das Rescue System auf dem Server zu starten. Wenn Sie LVM-Volumes verwenden, ist dies nicht in jedem Fall erforderlich - springen Sie in diesem Fall einfach zum nächsten Aschnitt.

Sobald Sie im Rescue System eingeloggt sind, verwenden Sie bitte den folgenden Befehl, um eine Prüfung mit automatischer Reparatur zu starten:

fsck -y /dev/<PARTITION>

Ersetzen Sie dazu, Partition für Partition, den Platzhalter <PARTITION> durch die Partitionsnamen Ihres Systems, wie in diesem Beispiel gezeigt:

fsck -y /dev/md0
fsck -y /dev/md1
fsck -y /dev/md2

Die Ausgabe informiert Sie anschließend über den Zustand Ihres Dateisystems und alle listet alle durchgeführten Aktionen zur Reparatur des Systems auf.

Manueller Dateisystem-Check bei Nutzung von LVM

Bei der Verwendung von LVM (Logical Volume Manager) ist es durch die Snapshot-Funktion nicht erforderlich, das betreffende Dateisystem während eines Dateisystem-Checks auszuhängen. Daher ist in bestimmten Fällen kein Boot des Rescue-Systems erforderlich.

  1. Das Dateisystem muss kurz ausgehängt werden, um ein temporäres Snapshot-Volume zu erstellen:

    umount /dev/<Volume_Group>/<Volume>
    ODER
    umount <Mountpoint>

    Wenn daraufhin die Meldung erscheint, dass das Volume derzeit in Gebrauch ist, müssen Sie möglicherweise die betreffenden Prozesse identifizieren und terminieren bzw. Benutzer abmelden:

    umount /dev/vg0/data
    umount: /dev/vg0/data: device is busy.
            (In some cases useful info about processes that use
             the device is found by lsof(8) or fuser(1))

    Sollte dies nicht möglich sein (z.B. mit dem Root-Dateisystem), ist ein Start des Rescue Systems für die Durchführung des Dateisystem-Checks erforderlich.

  2. Sobald das Volume erfolgreich ausgehängt wurde, können Sie mit der Erstellung des Snapshot-Volumes beginnen:

    lvcreate -s -n <Snapshot_Name> -L <Snapshot_Größe> /dev/<Volume_Group>/<Volume>

    Wichtig: Bitte stellen Sie sicher, dass der Snapshot während des Dateisystemchecks nicht voll läuft. Bitte dimensionieren Sie daher den Snapshots lieber etwas größer als benötigt.

    Beispiel:

    lvcreate -s -n mein_fsck_snapshot -L 30G /dev/vg0/data
  3. Mounten Sie nun das entsprechende Dateisystem wieder an seinem ursprünglichen Einhängepunkt (engl. Mountpoint):

    mount /dev/<Volume_Group>/<Volume> <Mountpoint>

    Beispiel:

    mount /dev/vg0/data /media/data
  4. Anschließend starten Sie den Dateisystem-Check auf dem Snapshot-Volume:

    fsck -fy /dev/<Volume_Group>/<Snapshot_Name>

    Beispiel:

    fsck -fy /dev/vg0/mein_fsck_snapshot
  5. Zum Schluss können Sie das temporäre Snapshot-Volume einfach wieder entfernen:

    lvremove -f /dev/<Volume_Group>/<Snapshot_Name>

    Beispiel:

    lvremove -f /dev/vg0/mein_fsck_snapshot

Wenn es nicht notwendig ist, das Volume während des Dateisystem-Checks weiter verwenden zu können, oder der Server wurde in bereits das Rescue System gebootet, kann der Dateisystem-Check einfach auf dem nicht-eingehängten Volume selbst durchgeführt werden:

fsck -fy /dev/<Volume_Group>/<Volume>

Beispiel:

fsck -fy /dev/vg0/data

Der Windows-Dateisystem-Check (CHKDSK)

Automatischer Dateisystem-Check

Von Zeit zu Zeit führt Windows beim Start automatisch eine Dateisystemprüfung durch, in den meisten Fällen müssen Sie diese jedoch selbst durchführen, insbesondere in einer Serverumgebung, wo das System nicht oft neu gestartet wird. Wenn Sie z.B. Probleme mit nicht ladenden oder abstürzenden Anwendungen haben, die Sie nicht auf andere Weise lösen konnten, sollten Sie einen manuellen Dateisystem-Check in Betracht ziehen.

Manueller Dateisystem-Check

Obwohl ein Dateisystem-Check auch mit dem Windows-Explorer gestartet werden kann, ist die Verwendung der Befehlszeile hier eine noch einfachere Methode. Wenn Ihr System nicht mehr startet, können Sie über den Abschnitt "Support" im Robot ein Windows-Recovery-Image zusammen mit einer KVM-Konsole anfordern und dort die Befehlszeile verwenden. Wenn Sie sich jedoch im gebooteten Windows-System befinden, öffnen Sie bitte die Befehlszeile mit Administrator-Rechten:

  1. Klicken Sie auf das Windows-Symbol in der linken unteren Ecke oder drücken Sie die Windows- bzw. die Super-Taste.

  2. Geben Sie cmd.exe ein.

  3. Drücken Sie gleichzeitig die Tasten Ctrl + Shift + Enter, um die Befehlszeile mit Administrator-Rechten zu starten

  4. Bestätigen Sie den angezeigten Dialog mit einem Klick auf Ja.

  5. Die Befehlszeile öffnet sich nun und der Fenster-Titel sollte mit "Administrator" beginnen:

    CMD wurde erfolgreich mit Administrator-Rechten gestartet

  6. Geben Sie in der Konsole nun den folgenden Befehl ein und drücken Sie Enter:

    chkdsk C: /f /r /x

    Wenn Sie den Befehl innerhalb des laufenden Systems ausgeführt haben, ist es normal, dass die folgende Meldung angezeigt wird:

    CHKDSK-Ausgabe

    In diesem Fall drücken Sie bitte Y und Enter. Bitte beachten Sie, dass ein Dateisystemcheck relativ lange dauern kann (zwischen ein paar Minuten und Stunden). Wir empfehlen daher mit dem erforderlichen Neustart, welcher den Dateisystem-Check startet, ggf. zu warten, bis eine entsprechende Downtime des Servers für Sie in Frage kommt.

  7. Als nächsten Schritt starten Sie den Server zu einer beliebigen Zeit neu.

  8. Der Dateisystemcheck prüft nun die Integrität Ihres Dateisystems und repariert automatisch Fehler:

    Filesystemcheck läuft

  9. Nachdem der Dateisystem-Check abgeschlossen ist, wird Ihr installiertes System hochfahren und sollte wieder erreichbar sein.

Wenn Sie mehr als eine mit FAT, ExFAT, oder NTFS formatierte Partition im Einsatz haben, sollten Sie die CHKDSK-Prozedur auch mit den restlichen Partitionen wiederholen. Öffnen Sie dazu den Windows-Explorer und klicken Sie auf "Computer" in der linken Spalte, wodurch alle eingehängten Partitionen und deren Bezeichnungen (wie C: D: E:...) angezeigt werden. Wenn Sie bereits für C: einen Dateisystem-Check durchgeführt haben, wiederholen Sie einfach den Vorgang mit den verbleibenden Laufwerksbuchstaben, indem Sie diese im oben genannten Befehl ersetzen:

chkdsk D: /f /r /x
chkdsk E: /f /r /x
...

Weitere Informationen finden Sie in der Microsoft-Dokumentation.

Für die Reparatur von ReFS unter Windows kann ReFSUtil genutzt werden.

Wenn Sie nach der Reparatur aller Dateisysteme immer noch Probleme mit Ihrem System feststellen, können Sie auch den "System File Checker" SFC.exe ausprobieren, welches ebenfalls in der Microsoft-Dokumentation erklärt wird.

Table of Contents