RAID5 mit nicht korrigierbaren Sektoren auf mehreren Festplatten neu erstellen

RAID5 mit nicht korrigierbaren Sektoren auf mehreren Festplatten neu erstellen

Mein Software-RAID5-System (mdadm) besteht aus fünf Festplatten. In letzter Zeit treten beim Lesen bestimmter Dateien E/A-Fehler auf. Die meisten anderen Dateien sind noch lesbar.

Zunächst wollte ich herausfinden, welche Festplatte defekt ist (mithilfe von smartctl), und die defekte Festplatte schnell ersetzen, um das Array neu aufzubauen, bevor auch andere Festplatten ausfallen. smartctl zeigt jedoch Folgendes an:dreiFestplatten weisen nicht korrigierbare Fehler auf.

Ich würde meinen, dass mdadm noch immer in der Lage sein sollte, den Wiederaufbau durchzuführen, solange sich die fehlerhaften Sektoren dieser drei Festplatten nicht überschneiden, sodass ich die Option habe, sie einzeln auszutauschen und wiederherzustellen.

Oder ist die Tatsache, dass ich einen E/A-Fehler habe, bereits ein Hinweis darauf, dass die Parität verloren gegangen ist und derselbe Sektor auf mehreren Festplatten nicht lesbar ist? Gibt es eine Möglichkeit herauszufinden, ob sich fehlerhafte Sektoren überschneiden und dadurch Informationen unwiederbringlich verloren gehen?

Antwort1

Die Standardverfahren sind:

  1. Immer eine gute, aktuelleSicherung(mindestens zwei unabhängige Kopien an verschiedenen Orten, zumindest auf unterschiedlichen Datenträgern)
  2. StändigMonitorIhr RAID auf Probleme. Ein RAID ist wertlos, wenn sich Fehler anhäufen können.
  3. SchrubbenFestplatten mindestens einmal im Monat. Dadurch wird vermieden, dass sich Fehler anhäufen und Neuaufbauten verhindert werden.
  4. In Betracht ziehenRAID 6mit zwei redundanten Festplatten.

Du scheinst das nicht ernst genommen zu haben. Versuche, das wiederherzustellen, was noch da istJetzt. Der Versuch, das fast ausgefallene Array wiederherzustellen, könnte größeren Schaden anrichten als erwartet.

Wenn die Daten wertvoll genug sind, suchen Sie sich einen vertrauenswürdigen und kompetenten Datenrettungsdienst. Legen Sie einen vier- bis fünfstelligen Geldbetrag beiseite. Andernfalls wiederholen Sie den Vorgang: Ersetzen Sie die Festplatten, formatieren Sie sie neu, installieren Sie sie neu und nehmen Sie die Standardverfahren ernster.

Antwort2

  1. Sie haben Recht, wenn sich unlesbare Sektoren nicht überschneiden, also in verschiedenen Streifen liegen, MD RAIDMaiDaten mithilfe der Parität wiederherstellen. Allerdings kann es sein, dass bei der Wiederherstellung einige Laufwerke ausfallen, und dann sinken die Chancen erheblich.

  2. Für die Datenwiederherstellung gilt eine allgemeine Regel:Beginnen Sie immer mit einem Raw-Dump. Dies garantiert Ihnen unbegrenzte Versuche: Wenn Sie etwas vermasseln, können Sie mit dem Dump erneut beginnen. Im Allgemeinen können Sie also alle defekten Festplatten auf funktionierende klonen, die Fehler durchlesen und dann ein RAID aus neuen Festplatten zusammenstellen.

  3. Sie können mit dem Klonen jedes Laufwerks Sektor für Sektor auf einen Ersatz beginnen ddrescue(d. h.nichtmithilfe des MD RAID-Wiederherstellungsverfahrens). Zusätzlich zum Kopieren durch Fehler erstellt es ein sogenanntesLogdatei, das ist eigentlich die fehlerhafte Sektorkarte. Wenn Sie alle drei klonen, können Sie diese Karten vergleichen und feststellen, ob es Überschneidungen gibt. Werfen Sie sie nicht weg, diese Karten können Ihnen bei der Wiederherstellung helfen.

  4. RAID5 ist jedoch im Hinblick auf solche Dumps ein ziemlich fieses Biest. Was könnte schiefgehen? Wenn der Sektor Ihres Laufwerks überhaupt nicht gelesen wird und einen E/A-Fehler verursacht, stellt die RAID-Schicht diese Daten von anderen Festplatten wieder her; das wäre bei alten Festplatten der Fall. Wenn er jedoch ohne Fehler liest, aber falsche Daten zurückgibt, versucht RAID nicht, ihn aus der Parität wiederherzustellen und gibt stattdessen die falschen Daten zurück. ddrescuefüllt nicht lesbare Sektoren mit Nullen, die zurückgelesen werden, wenn Sie später ein Array mit diesem Klongerät zusammenstellen, was also dazu führt, dass Nullen (beschädigte Daten) gelesen werden, wo es möglicherweise möglich war, die Originaldaten wiederherzustellen. RAID garantiert nicht die DatenIntegrität. Und das ist das eigentliche Problem bei allen Varianten außer RAID6, das zwei Paritätssyndrome hat, oder RAID1 mit mehr als zwei Spiegeln. Und, wie Sie vielleicht schon vermutet haben, tritt dieses Problem bei RAID5 am störendsten auf. (Es gibt noch weitere Argumente dagegen, nämlich etwas über moderne Festplattengrößen und ihre Bitfehlerraten.)

  5. Während eines Klonvorgangs kann eine Festplatte vollständig ausfallen. Dann stecken Sie fest. Es besteht die Möglichkeit, eine Wiederherstellung über diesen Punkt hinaus durchzuführen, aber das kostet Sieviel. Es gibt Dienste, die „Clean Rooms“ sind und beispielsweise die Köpfe in Festplatten austauschen und erneut versuchen können, sie zu lesen. Das ist langsam, fehleranfällig und kostet wahrscheinlich ziemlich viel. Bedenken Sie das, wenn Ihre Daten sehr wertvoll sind.

  6. Daher ist es ratsam, Originalfestplatten zu klonen, aber dann Klone wegzulegen, Arrays ausOriginalFestplatten und versuchen Sie, vom Array selbst zu klonen ( /dev/mdX). Wenn etwas schief geht (Festplatte stirbt), ersetzen Sie sie durch Klon und stellen Sie anschließend die defekten Streifen manuell wieder her (lesen Sie S. 4), indem Sie die Protokolldateien konsultieren (S. 3). Dies ist ziemlich harte Arbeit. Beachten Sie auch, dass Sie sparen müssenzweimalden ursprünglichen Speicherplatz, um die Wiederherstellung durchzuführen. Oder machen Sie nichts selbst, sondern lagern Sie die gesamte Arbeit an Spezialisten aus. Das ist der Preis, den Sie für unsachgemäße Wartung des Arrays und der Daten zahlen.

  7. Und jetzt haben Sie diese wertvolle Erfahrung gemacht. Geben Sie nicht den Arrays die Schuld, sondern sich selbst. Lernen Sie daraus und verwalten Sie sie richtig:

  • Überlegen Sie es sich dreimal, bevor Sie RAID5 verwenden. Sagen Sie dann „nein“ und entscheiden Sie sich für ein anderes RAID-Level.
  • Bereinigen Sie das Array regelmäßig. Das bedeutet, dass das MD RAID Daten auf Laufwerken liest und vergleicht und ein Alarmsignal ausgibt, wenn etwas nicht stimmt (Nichtübereinstimmung, nicht lesbarer Block). Dann können Sie das fehlerhafte Laufwerk bei frühen Symptomen ersetzen. Gute Distributionen haben dies standardmäßig konfiguriert (zumindest Debian).
  • Überwachen Sie die Festplatten und Arrays, um keine wichtigen Anzeichen von Problemen zu übersehen.
  • Abschließend heißen wir Sie im Club der Administratoren willkommen, die ihre Daten regelmäßig sichern.

verwandte Informationen