Debian Jessie RAID6-Wiederherstellung mdadm

Debian Jessie RAID6-Wiederherstellung mdadm

Ich habe eine Debian-Jessie-Box, bei der das RAID-Volume mit dem Betriebssystem verloren gegangen ist. Ich habe also Live USB gebootet, um zu versuchen, den angeschlossenen, SAS-gesteuerten externen Laufwerksschacht mit meinem Daten-RAID6 wiederherzustellen. Dabei werden 3 der 4 angezeigt, und zwar:

>: cat /proc/mdstat
Personalities :
md0 : inactive sda1[0](S) sdc1[2](S) sdb1[1](S)
  11718349824 blocks super 1.2

unused devices: <none>

und wieder:

>: mdadm -D /dev/md0
/dev/md0:
    Version : 1.2
 Raid Level : raid0
Total Devices : 3
Persistence : Superblock is persistent

      State : inactive

       Name : backup1:0
       UUID : a7946015:259ae101:1fed525f:5766e9d5
     Events : 381

Number   Major   Minor   RaidDevice

   -       8        1        -        /dev/sda1
   -       8       17        -        /dev/sdb1
   -       8       33        -        /dev/sdc1

Es denkt also, es sei ein seltsames RAID0? Gibt es eine Möglichkeit, ihm zu sagen, es wieder als RAID6 zu verwenden, aber keine Daten zu löschen und keine Laufwerke als Ersatzlaufwerke zu markieren? Ich denke an so etwas wie:

mdadm --stop /dev/md0
mdadm --create /dev/md0 --level=6 --raid-devices=4 --chunk=64 --name=backup1:0 /dev/sda1 /dev/sdb1 /dev/sdc1 /dev/sdd1 --assume-clean

obwohl /dev/sdd1 nicht angezeigt wird. Es sieht fast so aus, als müsste ich mit einigen Flags neu zusammensetzen, um das erneute Schreiben von Daten zu vermeiden, oder jede Festplatte manuell aus md0 entfernen/hinzufügen (aber Sie benötigen mehrere Festplatten für RAID6, also wie machen Sie das?). fdisk für /dev/sdd zeigt:

Disk /dev/sdd: 3.7 TiB, 3999999721472 bytes, 7812499456 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: gpt
Disk identifier: 27419FEB-5830-4C44-9DC9-00828D0F115A

Device     Start        End    Sectors  Size Type
/dev/sdd1   2048 7812497407 7812495360  3.7T Linux RAID

Es gibt dort also wie erwartet eine RAID-Partition. Bei genauerer Betrachtung wird jedoch Folgendes angezeigt:

mdadm --examine /dev/sdd1
mdadm: No md superblock detected on /dev/sdd1.

im Gegensatz zu anderen Laufwerken:

mdadm --examine /dev/sdc1
/dev/sdc1:
      Magic : a92b4efc
    Version : 1.2
Feature Map : 0x1
 Array UUID : a7946015:259ae101:1fed525f:5766e9d5
       Name : backup1:0
Creation Time : Tue Jul 19 17:34:55 2016
 Raid Level : raid6
Raid Devices : 4

Avail Dev Size : 7812233216 (3725.16 GiB 3999.86 GB)
 Array Size : 7812233216 (7450.33 GiB 7999.73 GB)
Data Offset : 262144 sectors
Super Offset : 8 sectors
Unused Space : before=262056 sectors, after=0 sectors
      State : active
Device UUID : 4d1d775e:eef629d4:03f15e09:f1762443

Internal Bitmap : 8 sectors from superblock
Update Time : Tue Jul 19 18:17:36 2016
Bad Block Log : 512 entries available at offset 72 sectors
   Checksum : 8365777c - correct
     Events : 381

     Layout : left-symmetric
 Chunk Size : 512K

Device Role : Active device 2
Array State : AAAA ('A' == active, '.' == missing, 'R' == replacing)

Ich vermute, dass beim Neuaufbau /dev/sdd1 repariert werden könnte? Gehe ich das richtig an? Ich möchte grundsätzlich keine Daten überschreiben.

Antwort1

Okay, ich habe /dev/md0 gestoppt und es dann als raid6 erstellt, wie:

mdadm --stop /dev/md0
mdadm: stopped /dev/md0
root@debian:/home/user >: cat /proc/mdstat
Personalities :
unused devices: <none>

root@debian:/home/user >: mdadm --create /dev/md0 --level=6 --raid-devices=4 --chunk=64 --name=backup1:0 /dev/sda1 /dev/sdb1 /dev/sdc1 /dev/sdd1 --assume-clean
mdadm: /dev/sda1 appears to be part of a raid array:
   level=raid6 devices=4 ctime=Tue Jul 19 17:34:55 2016
mdadm: /dev/sdb1 appears to be part of a raid array:
   level=raid6 devices=4 ctime=Tue Jul 19 17:34:55 2016
mdadm: /dev/sdc1 appears to be part of a raid array:
   level=raid6 devices=4 ctime=Tue Jul 19 17:34:55 2016
Continue creating array? y
mdadm: Defaulting to version 1.2 metadata
mdadm: array /dev/md0 started.

root@debian:/home/user >: cat /proc/mdstat
Personalities : [raid6] [raid5] [raid4]
md0 : active raid6 sdd1[3] sdc1[2] sdb1[1] sda1[0]
  7812233216 blocks super 1.2 level 6, 64k chunk, algorithm 2 [4/4] [UUUU]
  bitmap: 30/30 pages [120KB], 65536KB chunk

unused devices: <none>

Hier sind weitere Einzelheiten zum neu zusammengestellten RAID:

mdadm -D /dev/md0
/dev/md0:
    Version : 1.2
Creation Time : Thu Mar  1 22:04:57 2018
 Raid Level : raid6
 Array Size : 7812233216 (7450.33 GiB 7999.73 GB)
Used Dev Size : 3906116608 (3725.16 GiB 3999.86 GB)
Raid Devices : 4
Total Devices : 4
Persistence : Superblock is persistent
Intent Bitmap : Internal

Update Time : Thu Mar  1 22:04:57 2018
      State : clean
Active Devices : 4
Working Devices : 4
Failed Devices : 0
Spare Devices : 0

     Layout : left-symmetric
 Chunk Size : 64K

       Name : backup1:0
       UUID : c3ef766b:2fe9581a:5a906461:d52ee71e
     Events : 0

Number   Major   Minor   RaidDevice State
   0       8        1        0      active sync   /dev/sda1
   1       8       17        1      active sync   /dev/sdb1
   2       8       33        2      active sync   /dev/sdc1
   3       8       49        3      active sync   /dev/sdd1

Ich schätze, es hat funktioniert! Wenn ich es jetzt mounten will, heißt es

root@debian:/home/user >: mount /dev/md0 raid6
mount: unknown filesystem type 'LVM2_member'

Jetzt muss ich also herausfinden, wie ich LVM-Sachen neu aufbaue, aber das ist ein anderes Thema. Ich hoffe, das hilft jemand anderem, der so etwas durchmacht.

verwandte Informationen