Datenrettung von Raid-Systemen unter Linux: Unterschied zwischen den Versionen

Aus
Zeile 10: Zeile 10:
md2: Daten Volume, je nachdem wie es erstellt wurde RAID 0, 1, or 5.</pre>
md2: Daten Volume, je nachdem wie es erstellt wurde RAID 0, 1, or 5.</pre>


2. Die Synology Stations verwenden ein big endian system. Um das Raid auf einem normalen PC zu mounten muß es nach little endian konvertiert werden.
2. Die Synology Stations verwenden ein big endian system. Um das Raid auf einem normalen PC zu mounten muss es nach little endian konvertiert werden.


3. Es wird ein EXT3 Dateisystem verwendet.
3. Es wird ein EXT3 Dateisystem verwendet.

Version vom 20. September 2009, 01:53 Uhr

Diese Anleitung wurde ursprünglich vom Benutzer Noctec im Deutschen Synology Forum geschrieben: http://www.synology-forum.de/showpost.html?p=1405&postcount=1


Hintergrund:

1. Die Synology Stations haben drei Partitionen: System, SWAP, and Data.

md0: System Partition, RAID 1
md1: SWAP Partition, RAID 1
md2: Daten Volume, je nachdem wie es erstellt wurde RAID 0, 1, or 5.

2. Die Synology Stations verwenden ein big endian system. Um das Raid auf einem normalen PC zu mounten muss es nach little endian konvertiert werden.

3. Es wird ein EXT3 Dateisystem verwendet.

Vorbereitung

1. Auf dem Linux Rechner muß eine 4-Port SATA Karte installiert werden, die ordnungsgemäße Funktion sollte mit einer Festplatte getestet werden.

2. “Multi-device support (RAID 0/1/5)” muß im Linux Kernel aktiviert sein.

Die Raid Unterstützung des Kernels erkennt man z.B. am Vorhandensein der Datei “/proc/mdstat”.

Datenrettung

1. Die vier Festplatten aus der Cube Station an die SATA Kontroller anschließen. Die Platten werden als sda, sdb, sdc, and sdd erkannt. Es vereinfacht die Sache, wenn die Platten in der Reihenfolge angeschlossen werden, wie sie auch in der Cube Station angeschlossen waren. Ansonsten müssen die Kennungen entsprechend angepaßt werden.

2. Update des Super Blocks nach little endian 4 disks RAID 0 oder RAID 5:

mdadm -A /dev/md2 --update=byteorder /dev/sd[abcd]3

2 disks RAID 1:

mdadm -A /dev/md2 --update=byteorder /dev/sd[ab]3

Hiernach erscheint ein md2 device unter Linux. Die Geräte können mit diesem Befehl angezeigt werden.

cat /proc/mdstat

Ein 4 Disk RAID 5 Volume benötigt wenigstens 3 disks zur Wiederherstellung Ein 3 Disk RAID 5 Volume benötigt wenigstens 2 disks zur Wiederherstellung

Wenn der obige Befehl kein md2 erzeugt mit wenigstens [Gesamtzahl Disks - 1] Disks, kann man versuchen, die Erstellung zu erzwingen:

mdadm -Sf /dev/md2
mdadm --assemble --force /dev/md2 /dev/sd[a-d]3

3. Nachdem das Raid erstellt wurde können die Partitionen gemounted werden

mount –o ro /dev/md2 /mnt

Wenn das mounten fehlschlägt, kann man es mit einem anderen super block versuchen:

mount –o ro,sb=131072 /dev/md2 /mnt

oder

mount –o ro,sb=393216 /dev/md2 /mnt

4. Wenn das mounten immer noch fehlschlägt einmal fsck.ext3 drüber laufen lassen und dann versuchen zu mounten.

Bevor man den fsck drüber laufen läßt sollten die Platten möglichst gesichert werden, da hierdurch die Lage auch verschlechtert werden kann. Man benötigt dann natürlich nochmal dieselbe Anzahl an Platten.

Die Raid Disks duplizieren:

An den Kontroller eine Cube Station Disk (z.B. sda) und eine leere Disk (z.B. sdb) anschließen

Das Backup erfolgt über folgenden Befehl:

dd if=/dev/sda of=/dev/sdc bs=64k conv=noerror

Vorsicht: Dieser Befehl löscht die Zielplatte unwiederruflich. Wenn die Parameter vertauscht werden wars das mit der Datenrettung.

Das muß nun für alle Platten durchgeführt werden. Hiernach haben wir einen Satz Platten mit dem wir die Datenrettung unbesorgt versuchen können. Jetzt über alle Platten fsck laufen lassen.

Alle Angaben ohne Gewähr, ich habs nicht getestet :-)