Suche


drucken PDF

Zustand der Festplatte


Wie kann ich den Zustand einer Festplatte prüfen?


Einleitung


Die Festplatte ist ein zentrales Organ Ihres dedizierten Servers, bei dem kleine Störungen große Auswirkungen haben : Datenverlust, langsame Webseiten, merkwürdiges Verhalten. Diese Hilfe beschreibt 3 Wege, den Zustand einer Festplatte zu prüfen und ein Problem zu erkennen, bevor es größere Schäden anrichten kann.


Vorgehensweise


Die Änderungen sind mit einer Verbindung zum Server per SSH möglich. Mehr Details dbzgl. : DedizierteSsh.


Fehlerhafte Blöcke


Der Befehl badblocks ermöglicht, eine Liste von möglicherweise fehlerhaften Blöcken einer Partition zu erstellen. Der Befehl nimmt den Namen einer Partition als Argument auf. Auf einem Redhat Server: /dev/hda1 für die Partition / und /dev/hda2 für /home.

Hier sehen wir einige Blöcke auf der Partition, welche verdächtig sind :

[root@julien /]# badblocks /dev/hda1
1014224
1014225
1014226
1014227
1014228
1014229
1014230
1014231
1014232
1014233
1014234
1014235
1014236
1014237
1014238
1014239
1704833



Kernellogs


Der Linux-Kernel bewahrt alle Logs auf, welche die Peripheriegeräte und insbesondere die Festplatte betreffen. Es ist also sehr leicht, die wiederkehrenden Fehler beim Zugriff der Festplatte auf einen fehlerhaften Block zu finden.

[root@julien /]# dmesg | grep UncorrectableError
hda: dma_intr: error=0x40 { UncorrectableError }, LBAsect=2028538, sector=2028511
hda: dma_intr: error=0x40 { UncorrectableError }, LBAsect=2028538, sector=2028519
hda: dma_intr: error=0x40 { UncorrectableError }, LBAsect=2028538, sector=2028527
hda: dma_intr: error=0x40 { UncorrectableError }, LBAsect=2028538, sector=2028535
hda: dma_intr: error=0x40 { UncorrectableError }, LBAsect=2028538, sector=2028511
hda: dma_intr: error=0x40 { UncorrectableError }, LBAsect=2028538, sector=2028519
hda: dma_intr: error=0x40 { UncorrectableError }, LBAsect=2028538, sector=2028527
hda: dma_intr: error=0x40 { UncorrectableError }, LBAsect=2028538, sector=2028535
hda: dma_intr: error=0x40 { UncorrectableError }, LBAsect=2028538, sector=2028535
hda: dma_intr: error=0x40 { UncorrectableError }, LBAsect=2028538, sector=2028535
hda: dma_intr: error=0x40 { UncorrectableError }, LBAsect=2028538, sector=2028535
hda: dma_intr: error=0x40 { UncorrectableError }, LBAsect=2028538, sector=2028535
hda: dma_intr: error=0x40 { UncorrectableError }, LBAsect=2031694, sector=2031681
hda: dma_intr: error=0x40 { UncorrectableError }, LBAsect=3409734, sector=3409733
hda: dma_intr: error=0x40 { UncorrectableError }, LBAsect=3409738, sector=3409735
hda: dma_intr: error=0x40 { UncorrectableError }, LBAsect=3409738, sector=3409735
hda: dma_intr: error=0x40 { UncorrectableError }, LBAsect=3409738, sector=3409735


An diesem Ergebnis kann man erkennen, dass es einige Blöcke gibt, welche Probleme beim Zugriff der Festplatte bereiten. Es können auch andere Fehler auftreten (z.B. Time Out) aber kritisch ist die Lage nur dann, wenn es sich um einen UncorrectableError handelt.

Wenn die Fehler nicht neu sind, können Sie auch eine Recherche in allen Logs durchführen, mit Hilfe dieses Befehls :

[ root@julien /]# grep UncorrectableError /var/log/messages *
/var/log/messages:Oct 5 11:14:20 julien kernel: hda: dma_intr: error=0x40 { Uncorrectable Error }, LBAsect=2028538, sector=2028511
/var/log/messages:Oct 5 11:14:25 julien kernel: hda: dma_intr: error=0x40 { Uncorrectable Error }, LBAsect=2028538, sector=2028519
/var/log/messages:Oct 5 11:14:30 julien kernel: hda: dma_intr: error=0x40 { Uncorrectable Error }, LBAsect=2028538, sector=2028527
/var/log/messages:Oct 5 11:14:35 julien kernel: hda: dma_intr: error=0x40 { Uncorrectable Error }, LBAsect=2028538, sector=2028535
/var/log/messages:Oct 5 11:14:59 julien kernel: hda: dma_intr: error=0x40 {Uncorrectable Erro }, LBAsect=2028538, sector=2028511
/var/log/messages:Oct 5 11:15:28 julien kernel: hda: dma_intr: error=0x40 { Uncorrectable Error , LBAsect=2028538, sector=2028519



Ein-/Ausgabefehler


Bei der normalen Benutzung Ihres Servers (Kompilation einer Applikation, Komprimierung/Dekomprimierung einer Datei...) werden Sie diese Art von Fehlern beim Lesen oder Schreiben auf gewisse beschädigte Teile der Platte erhalten :
end_request: I/O error, dev hda, sector 2028535
Buffer I/O error on device hda1, logical block 253559


Die Input/Output- Fehler sind im allgemeinen kein Hinweis auf einen guten Zustand der Platte.


Abschließend


Wenn Sie ähnliche Ergebnisse in einem dieser Tests erzielen, dann besteht die Wahrscheinlichkeit, dass Ihre Platte in naher Zukunft große Probleme bereiten wird. Es sehr empfehlenswert, dann den Inhalt Ihrer Platte zu sichern und unseren Support über das Problem zu informieren, um so evtl. einen Tausch zu veranlassen.
In diesem Fall bitte auch die Fehler mitteilen, welche Sie bei der Überprüfung entdeckt haben.