GNU/Linux >> LINUX-Kenntnisse >  >> Cent OS

So überprüfen Sie eine Festplatte auf fehlerhafte Blöcke oder Festplattenfehler unter CentOS / RHEL

Festplatten können unerwartet ausfallen, und es ist immer am besten, aktuelle Sicherungen aller wichtigen Daten aufzubewahren. Bitte bedenken Sie, dass selbst wenn ein aktueller oder bevorstehender Fehler erkannt wird, möglicherweise nicht genügend Zeit bleibt, um die Daten zu sichern. Im Folgenden finden Sie mehrere Methoden, die verwendet werden können, um fehlerhafte Blöcke oder Festplattenfehler in CentOS/RHEL zu identifizieren.

Smartctl verwenden

Wenn in /var/log/messages mehrere I/O-Fehler auftreten oder man einfach vermutet, dass die Festplatten ausfallen, kann smartctl hilfreich sein, um sie zu überprüfen. S.M.A.R.T. steht für Self-Monitoring , Analyse und Berichtstechnologie . Sie müssen S.M.A.R.T. Unterstützung im BIOS, bevor Sie es verwenden.

Installieren Sie als Nächstes die erforderlichen Pakete, um /usr/sbin/smartctl auszuführen. In Red Hat Enterprise Linux wird es von den smartmontools bereitgestellt Paket.

1. Überprüfen Sie, ob Ihre Festplatte S.M.A.R.T. unterstützt. :

# smartctl -i /dev/xxx

Ersetzen Sie /dev/xxx durch die gewünschte Festplatte, wenn Sie die in diesem Beitrag beschriebenen Befehle verwenden.

2. Verwenden Sie für SATA-Laufwerke:

# smartctl -i -d ata /dev/xxx

3. Aktivieren Sie S.M.A.R.T. unterstützen mit:

# smartctl -s on /dev/xxx            ### For SCSI Disks
# smartctl -s on -d ata /dev/xxx     ### for SATA Disks

4. Das Ausführen des folgenden Befehls als root kann ein schneller PASS/FAIL-Test sein, aber gründlichere Tests, die unten beschrieben werden, sind im Allgemeinen aussagekräftiger:

# smartctl -H /dev/xxx

Smartctl im Hintergrund ausführen

Um einen Hintergrundtest zu starten, führen Sie als root Folgendes aus:

# smartctl -t long /dev/xxx

Um auf die Ergebnisse zuzugreifen, verwenden Sie den folgenden Befehl:

# smartctl -a /dev/xxx

Um mehr über verschiedene Optionen zu erfahren, die mit smartctl verwendet werden können, sehen Sie sich die Manpage des Befehls an:

# man smartctl

Badblocks verwenden

Sie können auch den Befehl „badblocks“ verwenden, um auf einem Festplattengerät nach fehlerhaften Blöcken zu suchen. Der Befehl „badblocks“ kann sehr nützlich sein, um Probleme mit der Synchronisierung von LVM-Partitionen in Linux zu isolieren. LVM-Operationen schlagen aufgrund fehlerhafter Blöcke auf einer Festplatte fehl. Fehlerhafte Blöcke auf der Quell- oder Zielfestplatte innerhalb eines LVM-Spiegels verursachen einen Synchronisationsfehler.

Badblocks können auch in Verbindung mit fsck und makefs verwendet werden, um die Blöcke als fehlerhaft zu markieren. Wenn die Ausgabe von badblocks in die Programme e2fsck oder mke2fs eingespeist werden soll, ist es wichtig, dass die Blockgröße richtig angegeben wird, da die generierten Blocknummern stark von der vom Dateisystem verwendeten Blockgröße abhängen. Aus diesem Grund wird dringend empfohlen, dass Benutzer badblocks nicht direkt ausführen, sondern die Option -c der Programme e2fsck und mke2fs verwenden.

Warnung :Der Missbrauch dieser Befehle kann zu Datenverlust führen. Weitere Informationen zum Befehl „badblocks“ erhalten Sie über den Befehl „man badblocks“.

1. Verwenden Sie das Festplattenprüfungstool badblocks, um die angegebene Festplatte Block für Block zu scannen. Um beispielsweise /dev/sdd zu scannen, geben Sie die Befehle ein:

# mount | grep sdd                  # find all mounted partitions of sdd
# umount /dev/sdd1                  # unmount the partitions (may be more then one)
# badblocks -n -vv /dev/sdd

Wobei -n verwendet den nicht-destruktiven Lese-/Schreibmodus. Standardmäßig wird nur ein zerstörungsfreier Nur-Lese-Test durchgeführt.

Hinweis :Verwenden Sie niemals das -w Option auf einem Gerät, das ein vorhandenes Dateisystem enthält. Diese Option löscht Daten! Wenn Schreibmodustests für ein vorhandenes Dateisystem durchgeführt werden müssen, verwenden Sie das -n Option statt. Es ist langsamer, aber es bewahrt die Daten.

2. Wenn Meldungen ähnlich den unten aufgeführten Beispielen in /var/log/messages oder in der Konsole nach der Ausführung von Badblocks erscheinen, wird empfohlen, alle Daten auf den betroffenen Geräten zu sichern und das Gerät auszutauschen:

Apr  4 13:50:40 test kernel: sdd: dma_intr: status=0x51 { DriveReady SeekComplete Error }
Apr  4 13:50:40 test kernel: sdd: dma_intr: error=0x40 { UncorrectableError }, LBAsect=74367249, sector=74367232
Apr  4 13:50:40 test kernel: ide: failed opcode was: unknown
Apr  4 13:50:40 test kernel: end_request: I/O error, dev sdd, sector 74367232
Apr  4 13:50:42 test kernel: sdd: dma_intr: status=0x51 { DriveReady SeekComplete Error }
Apr  4 13:50:42 test kernel: sdd: dma_intr: error=0x40 { UncorrectableError }, LBAsect=74367249, sector=74367240
Apr  4 13:50:42 test kernel: ide: failed opcode was: unknown
Apr  4 13:50:42 test kernel: end_request: I/O error, dev sdd, sector 74367240
Apr  4 13:50:44 test kernel: sdd: dma_intr: status=0x51 { DriveReady SeekComplete Error }

3. Der folgende Befehl gibt gefundene fehlerhafte Blöcke in die Ausgabedatei aus:badblocks.log.

# badblocks -v -o badblocks.log /dev/sdd


Cent OS
  1. Wie überprüfe ich die gesamte Festplatte auf Fehler und fehlerhafte Sektoren?

  2. Wie überprüfe ich ein physisches LVM-Volume auf fehlerhafte Blöcke?

  3. CentOS / RHEL 7 :So legen Sie udev-Regeln für ASM auf Multipath-Festplatten fest

  4. So löschen Sie die ASM-Festplatte auf einem Multipath-Gerät in CentOS/RHEL

  5. So legen Sie children-max für den udev-Dienst in CentOS/RHEL 7 fest

So überprüfen Sie fehlerhafte Sektoren oder fehlerhafte Blöcke auf der Festplatte in Linux

So überprüfen Sie die Festplatte auf fehlerhafte Sektoren oder Blöcke in Linux

So aktivieren Sie das Benutzer- und Gruppenfestplattenkontingent unter CentOS 7 / RHEL 7

So überprüfen Sie fehlerhafte Blöcke oder fehlerhafte Sektoren auf der Festplatte in Linux

So überprüfen Sie die CentOS-Version

So installieren Sie Varnish Cache 6 für Nginx unter CentOS/RHEL 8