Stellen Sie mdadm raid5 mit XFS wieder her

778
user1016815

Ich versuche, Daten von einer alten Buffalo Terastation wiederherzustellen, die fehlgeschlagen ist. Ein früherer Versuch, die Daten von jemand anderem wiederherzustellen, war erfolglos und ich hatte die folgende Situation.

NB: Ich weiß nicht genau, welche Befehle zuvor ausgeführt wurden, hoffentlich nichts, was andauernden Schaden angerichtet hat!

Die ursprüngliche Terastation hatte vier Festplatten mit System-, Swap- und Datenpartitionen. Die Datenpartitionen wurden mit raid5 verwaltet und ich glaube, das Dateisystem war XFS.

Drei der Datenpartitionen wurden auf ein anderes Gerät kopiert, indem sie einzeln in einem externen USB-Festplattenlaufwerk mit einem Befehl wie etwa verbunden wurden:

dd if=/dev/sdd3 of=/share/disk1_data 

Die Verwendung von mdadm --examine für die neu erstellten Sicherungen ergibt Folgendes:

 Magic : a92b4efc Version : 1.2 Feature Map : 0x1 Array UUID : deb4c6d2:c2fc193c:a9599de3:a25d0d2c Name : it:0 (local to host it) Creation Time : Tue Sep 8 08:59:06 2015 Raid Level : raid5 Raid Devices : 4  Avail Dev Size : 779677543 (371.78 GiB 399.19 GB) Array Size : 1169515008 (1115.34 GiB 1197.58 GB) Used Dev Size : 779676672 (371.78 GiB 399.19 GB) Data Offset : 262144 sectors Super Offset : 8 sectors Unused Space : before=262056 sectors, after=871 sectors State : clean Device UUID : 2eed9b35:6857b6fa:00a76842:9f5ab0ae  Internal Bitmap : 8 sectors from superblock Update Time : Tue Sep 8 09:40:17 2015 Bad Block Log : 512 entries available at offset 72 sectors Checksum : 21f8a2ff - correct Events : 8  Layout : left-symmetric Chunk Size : 512K  Device Role : Active device 0 Array State : AAA. ('A' == active, '.' == missing, 'R' == replacing) 

Jedes Gerät hat eine andere Geräte-UUID, Prüfsumme (jeweils korrekt) und die Gerätewalzen 0-2. Alle anderen Informationen sind gleich.

Die Untersuchung des Starts jedes Laufwerks zeigt, dass dort Daten vorhanden sind.

head -c=128 disk1_data  XFSB nÙp  †/@@––Ny»Rû“û ° 0 € =„   head -c=128 disk2_data  INAÿ ¯A—zö:»´ FùÓ@àQqas0„P ^ ÿÿÿÿ 0share @spool   head -c=128 disk3_data  ÿØÿà JFIF e e ÿþ Created by AccuSoft Corp. ÿà ÿÄ #   ÿÚ ÿ à _æŒå9±Ü‡”î³¹v 

Von dem, was ich an anderer Stelle gelesen habe, erwarte ich dies, wenn das Dateisystem XFS ist und die Daten in raid5 sind. disk1 hat den Start des Dateisystems, disk2 beginnt an einem Inode und disk3 hat Daten. disk4 ist nicht vorhanden, würde aber die Prüfsumme dieser enthalten.

Von diesem Stadium an habe ich jedes Gerät an einer Schleife montiert.

losetup /dev/loop2 disk1_data losetup /dev/loop3 disk2_data losetup /dev/loop4 disk3_data 

Zu diesem Zeitpunkt kann mdadm die Geräte zusammenbauen.

mdadm --assemble --scan /dev/md0 has been started with 3 drives (out of 4) 

Das Ausführen von --detail bietet die folgenden guten Nachrichten:

 Version : 1.2 Creation Time : Tue Sep 8 08:59:06 2015 Raid Level : raid5 Array Size : 1169515008 (1115.34 GiB 1197.58 GB) Used Dev Size : 389838336 (371.78 GiB 399.19 GB) Raid Devices : 4 Total Devices : 3 Persistence : Superblock is persistent  Intent Bitmap : Internal  Update Time : Tue Sep 8 09:40:17 2015 State : active, degraded  Active Devices : 3 Working Devices : 3 Failed Devices : 0 Spare Devices : 0  Layout : left-symmetric Chunk Size : 512K  Name : it:0 (local to host it) UUID : deb4c6d2:c2fc193c:a9599de3:a25d0d2c Events : 8  Number Major Minor RaidDevice State 0 7 2 0 active sync /dev/loop2 1 7 3 1 active sync /dev/loop3 2 7 4 2 active sync /dev/loop4 6 0 0 6 removed 

cat / proc / mdstat ergibt folgendes

Personalities : [raid6] [raid5] [raid4]  md0 : active raid5 loop2[0] loop4[2] loop3[1] 1169515008 blocks super 1.2 level 5, 512k chunk, algorithm 2 [4/3] [UUU_] bitmap: 2/3 pages [8KB], 65536KB chunk  unused devices: <none> 

Wenn ich jedoch das neu erstellte / dev / md0 versuche, zu mounten, erhalte ich immer Fehler in Bezug auf Superblöcke, magische Zahlen usw.

fdisk -l /dev/md0  Disk /dev/md0: 1197.6 GB, 1197583368192 bytes 2 heads, 4 sectors/track, 292378752 cylinders, total 2339030016 sectors Units = sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 524288 bytes / 1572864 bytes Disk identifier: 0x00000000 

xfs_check scheint das Dateisystem nicht zu mögen

xfs_check: /dev/md0 is not a valid XFS filesystem (unexpected SB magic number 0x00000000) xfs_check: WARNING - filesystem uses v1 dirs,limited functionality provided. xfs_check: read failed: Invalid argument cache_node_purge: refcount was 1, not zero (node=0x9dd5930) xfs_check: cannot read root inode (22) 

Ich habe xfs_repair ausgeführt und es lief die ganze Nacht hindurch nur ............. auf dem Bildschirm, keine sekundären Superblöcke zu finden.

Und hier stecke ich ein bisschen fest.

Jeder Rat wird sehr begrüßt.

Schöne Grüße

Ben

0
Sie scheinen verwirrende Festplatten, Partitionen und Dateisysteme zu sein. Könnten Sie bitte noch einmal Ihre Frage durchgehen und überprüfen, ob alle Beispielbefehle und Ausgaben korrekt sind? In der Nähe des oberen Bereichs machen Sie beispielsweise `dd if = / mnt / sdd3 von = / share / disk1_data`, was nicht viel Sinn ergibt, und Sie scheinen` / dev / md / 0` und `/ dev / zu verwenden. md0` durchgehend austauschbar. Dies macht es schwer zu erkennen, was genau passiert. RAID 5 verwendet außerdem eine verteilte Parität und verfügt daher über keine dedizierte Paritätsfestplatte. Der Effekt in der Praxis bleibt jedoch derselbe: Die Fähigkeit, den Verlust einer einzelnen Platte zu überleben, nicht mehr. a CVn vor 8 Jahren 0
Ich denke, der Befehl, den ich als "top" bezeichnet habe, lautet "dd if = / dev / sdd3 of = / share / disk1_data". Dies wurde den Notizen der Person entnommen, die diese Wiederherstellung zum ersten Mal versucht hat. Die Diskrepanz zwischen "md / 0" und "md0" wurde ebenfalls behoben. Abgesehen davon glaube ich, dass alles richtig ist. user1016815 vor 8 Jahren 0

0 Antworten auf die Frage