
Ich habe ein Software-RAID5-Array mit 4 + 1 Festplatten, von denen 2 ausgefallen sind. Ich hoffe, dass ich mit etwas gründlicher Wartung eine der ausgefallenen Festplatten wieder lange genug zum Laufen bekomme, um eine Blockkopie zu erstellen und das Image zu entfernen.
Der Plan wäre, mit dd Images von 4 (oder allen 5) Festplatten zu erstellen und dann zu versuchen, das Array auf diesen Images neu aufzubauen.
Gibt es etwas, das ich auf Anhieb übersehen habe und das dies unmöglich machen würde? Wenn nicht, wie würde ich:
- Kopieren Sie ein Image jedes Geräts in eine Datei
- Montieren Sie diese
- Konfigurieren Sie mdadm neu, um diese Bilder als Geräte zu verwenden
Natürlich können viele Dinge passiert sein, die zur Beschädigung der Daten geführt haben, es gibt jedoch Gründe für die Annahme, dass die eigentlichen Daten auf allen vier Festplatten intakt sein könnten:
- Der zweite Festplattenfehler könnte auf einen Stromausfall zurückzuführen sein
- Die Daten, die ich wiederherstellen möchte, wurden nach dem ersten Fehler nicht geschrieben
Antwort1
Im Allgemeinen würde dieser Ansatz funktionieren. Solange Sie funktionierende Festplatten haben (und nicht erwarten, dass diese ausfallen), könnten Sie auchVerwenden Sie den Geräte-Mapper, um Overlay-Snapshots zu erstellenanstatt die Daten vollständig von den Festplatten zu kopieren (es kann jedoch sinnvoll sein, die Kopien als Backup zu haben).
Sobald Sie die Bilddateien haben, müssen Sie daraus Loopback-Blockgeräte erstellen
losetup /dev/loopX /path/to/imagefileX
Nachdem dies erledigt ist, können SiemontierenIhr Array mithilfe der Loopback-Blockgeräte. Wenn Sie die letzte ausgefallene Festplatte nicht wiederherstellen können, sodass die Zeitstempel auf Ihrem Redundanz-Disk-Image von den anderen abweichen, wird sich das Array nicht zusammensetzen. Solange SieWirklichnur an Daten interessiert, die vor den Fehlern geschrieben wurden, werfen Sie einen Blick auf die„Wiederherstellen eines ausgefallenen Software-RAID“Abschnitt der Kernel-RAID-Dokumentation. Er sollte Ihnen dabei helfen, das Array so zusammenzustellen, dass zumindest einige der Daten wiederherstellbar sind.