Ein Laufwerk aus einem RAID 5-Array mit 2 Laufwerken mithilfe der Metadatenversion 1.2 entfernen?

Ein Laufwerk aus einem RAID 5-Array mit 2 Laufwerken mithilfe der Metadatenversion 1.2 entfernen?

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

verwandte Informationen