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.
-
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.
-
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
-
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
-
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
-
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:
-
Klicken Sie auf das
Windows-Symbol
in der linken unteren Ecke oder drücken Sie dieWindows
- bzw. dieSuper
-Taste. -
Geben Sie
cmd.exe
ein. -
Drücken Sie gleichzeitig die Tasten
Ctrl
+Shift
+Enter
, um die Befehlszeile mit Administrator-Rechten zu starten -
Bestätigen Sie den angezeigten Dialog mit einem Klick auf
Ja
. -
Die Befehlszeile öffnet sich nun und der Fenster-Titel sollte mit "Administrator" beginnen:
-
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:
In diesem Fall drücken Sie bitte
Y
undEnter
. 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. -
Als nächsten Schritt starten Sie den Server zu einer beliebigen Zeit neu.
-
Der Dateisystemcheck prüft nun die Integrität Ihres Dateisystems und repariert automatisch Fehler:
-
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.