Meine Situation ist fast identisch mit„Wie entferne ich ein Laufwerk aus einem nicht standardmäßigen RAID 5-Array mit 2 Laufwerken?“, außer dass mein 2 TB RAID5 mdadm Superblock Version 1.2 verwendet. Lautdie beste Antwort„Da es sich um einen mdadm-Superblock der Version 0.90 handelt, sollte jedes Laufwerk auch einzeln nutzbar sein. Da 1.1 und 1.2 die Metadaten nahe am Anfang des Arrays platzieren, funktioniert es bei diesen Versionen nicht.“
Nach der Ausführung
mdadm /dev/md0 --grow --raid-devices=2
und der Durchführung der anschließenden Layoutänderung sieht mein RAID 5 nun wie folgt aus:
/dev/md0:
Version : 1.2
Creation Time : Thu Sep 25 11:25:10 2014
Raid Level : raid5
Array Size : 1953383296 (1862.89 GiB 2000.26 GB)
Used Dev Size : 1953383296 (1862.89 GiB 2000.26 GB)
Raid Devices : 2
Total Devices : 2
Persistence : Superblock is persistent
Update Time : Sun May 3 17:19:39 2015
State : clean
Active Devices : 2
Working Devices : 2
Failed Devices : 0
Spare Devices : 0
Layout : left-symmetric
Chunk Size : 128K
Name : XXX:0 (local to host XXX)
UUID : XXX:XXX:XXX:XXX
Events : 93388
Number Major Minor RaidDevice State
3 8 16 0 active sync /dev/sdb
1 8 32 1 active sync /dev/sdc
Und meine beiden Geräte sehen so aus:
/dev/sdb:
Magic : a92b4efc
Version : 1.2
Feature Map : 0x0
Array UUID : 37ac9dbd:a823812b:fe8a59f6:ba24bf34
Name : XXX:0 (local to host XXX)
Creation Time : Thu Sep 25 11:25:10 2014
Raid Level : raid5
Raid Devices : 2
Avail Dev Size : 3906767024 (1862.89 GiB 2000.26 GB)
Array Size : 1953383296 (1862.89 GiB 2000.26 GB)
Used Dev Size : 3906766592 (1862.89 GiB 2000.26 GB)
Data Offset : 262144 sectors
Super Offset : 8 sectors
State : clean
Device UUID : XXX:XXX:XXX:XXX
Update Time : Sun May 3 13:11:25 2015
Checksum : 30f8e8f7 - correct
Events : 93388
Layout : left-symmetric
Chunk Size : 128K
Device Role : Active device 0
Array State : AA ('A' == active, '.' == missing)
--
/dev/sdc:
Magic : a92b4efc
Version : 1.2
Feature Map : 0x0
Array UUID : 37ac9dbd:a823812b:fe8a59f6:ba24bf34
Name : XXX:0 (local to host XXX)
Creation Time : Thu Sep 25 11:25:10 2014
Raid Level : raid5
Raid Devices : 2
Avail Dev Size : 3906767024 (1862.89 GiB 2000.26 GB)
Array Size : 1953383296 (1862.89 GiB 2000.26 GB)
Used Dev Size : 3906766592 (1862.89 GiB 2000.26 GB)
Data Offset : 262144 sectors
Super Offset : 8 sectors
State : clean
Device UUID : XXX:XXX:XXX:XXX
Update Time : Sun May 3 13:11:25 2015
Checksum : 6ab24a9f - correct
Events : 93388
Layout : left-symmetric
Chunk Size : 128K
Device Role : Active device 1
Array State : AA ('A' == active, '.' == missing)
Berücksichtigung des Wertes des „Datenoffsets“ auf jedem Laufwerk:
dd if=/dev/sdb skip=262144 bs=512 count=1024 of=/tmp/b
dd if=/dev/sdc skip=262144 bs=512 count=1024 of=/tmp/c
Ich erhalte immer noch äquivalente MD5-Summen:
79e53dd4906b3fcb7b1f7c613325c377 /tmp/b
79e53dd4906b3fcb7b1f7c613325c377 /tmp/c
Bedeutet das also, dass
mdadm /dev/md0 --fail /dev/sdc --remove /dev/sdc
mdadm --zero-superblock /dev/sdc
oder
mdadm --stop /dev/md0
mdadm --create /dev/md0 --level=1 --raid-devices=1 --force /dev/sdb
mdadm --zero-superblock /dev/sdc
wird es nicht zu Datenverlust kommen (vorausgesetzt, die verbleibenden Daten werden an einen anderen Ort verschoben, bevor das letzte Laufwerk ausfällt)?
Antwort1
Ich habe es einfach ausprobiert und die Antwort lautet JA. Ein RAID5 mit zwei Festplatten und mdadm-Superblock Version 1.2 behält seine Daten tatsächlich bei einem Ausfall und der Entfernung einer der Festplatten.
z.B:
mdadm /dev/md0 --fail /dev/sdc --remove /dev/sdc
mdadm --zero-superblock /dev/sdc