Dateisystem-Check

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

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 solltest du die Dateisysteme und deren Partitionen in deinem System ermitteln, indem du den Befehl lsblk ausführst.

Falls die Ausgabe wie unten dargestellt aussieht und es raid-Einträge in der Spalte TYPE gibt, läuft ein Software-RAID auf deinem System. Hier solltest du alle md-Partitionen überprüfen, 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, verwende einfach den folgenden Befehl:

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

Ersetze dabei einfach Partition für Partition den Platzhalter <PARTITION> durch die Namen deiner Partitionen und führe 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 du den periodischen Filesystem-Check aktivierst, bedenke, 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 deines Servers verlängern könnte. Daher solltest du unter bestimmten Umständen manuelle Filesystem-Checks in regelmäßigen Abständen vorziehen.

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

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

Bitte ersetze 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üfe 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 kannst du bei Bedarf für alle deine 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 du LVM-Volumes verwendest, ist dies nicht in jedem Fall erforderlich - springe in diesem Fall einfach zum nächsten Abschnitt.

Sobald du im Rescue System eingeloggt bist, verwende bitte den folgenden Befehl, um eine Prüfung mit automatischer Reparatur zu starten:

fsck -y /dev/<PARTITION>

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

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

Die Ausgabe informiert dich anschließend über den Zustand deines Dateisystems und 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, musst du 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 du das Volume erfolgreich ausgehängt hast, kannst du mit der Erstellung des Snapshot-Volumes beginnen:

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

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

    Beispiel:

    lvcreate -s -n mein_fsck_snapshot -L 30G /dev/vg0/data

3.-mounte nun das entsprechende Dateisystem wieder an seinem ursprünglichen Einhängepunkt (engl. Mountpoint):

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

*Beispiel:*

```
mount /dev/vg0/data /media/data
```
  1. Anschließend startest du den Dateisystem-Check auf dem Snapshot-Volume:

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

    Beispiel:

    fsck -fy /dev/vg0/mein_fsck_snapshot
  2. Zum Schluss kannst du 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 zu verwenden, oder der Server wurde bereits in das Rescue System gebootet, kannst du den Dateisystem-Check einfach auf dem nicht-eingehängten Volume selbst durchführen:

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 musst du diese jedoch selbst durchführen, insbesondere in einer Serverumgebung, wo das System nicht oft neu gestartet wird. Wenn du z.B. Probleme mit nicht ladenden oder abstürzenden Anwendungen hast, die du nicht auf andere Weise lösen konntest, solltest du 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 dein System nicht mehr startet, kannst du über den Abschnitt "Support" im Robot ein Windows-Recovery-Image zusammen mit einer KVM-Konsole anfordern und dort die Befehlszeile verwenden. Wenn du dich jedoch im gebooteten Windows-System befindest, öffne bitte die Befehlszeile mit Administrator-Rechten:

  1. Klicke auf das Windows-Symbol in der linken unteren Ecke oder drücke die Windows- bzw. die Super-Taste.

  2. Gib cmd.exe ein.

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

  4. Bestätige 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. Gib in der Konsole nun den folgenden Befehl ein und drücke Enter:

    chkdsk C: /f /r /x

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

    CHKDSK-Ausgabe

    In diesem Fall drücke bitte Y und Enter. Bitte beachte, 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 dich in Frage kommt.

  7. Als nächsten Schritt startest du 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, fährt dein installiertes System hoch und sollte wieder erreichbar sein.

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

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

Weitere Informationen findest du in der Microsoft-Dokumentation.

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

Wenn du nach der Reparatur aller Dateisysteme immer noch Probleme mit deinem System feststellst, kannst du auch den "System File Checker" SFC.exe ausprobieren, welches ebenfalls in der Microsoft-Dokumentation erklärt wird.

Table of Contents