Recuperación de Debian Jessie RAID6 mdadm

Recuperación de Debian Jessie RAID6 mdadm

Tengo una caja Debian Jessie que perdió el volumen RAID que tenía el sistema operativo, así que inicié Live USB para intentar recuperar la bahía de unidad externa controlada por SAS adjunta que tiene mis datos RAID6 y ve 3 de los 4 como:

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

unused devices: <none>

y otra vez:

>: 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

¿Entonces cree que es un RAID0 extraño? ¿Hay alguna manera de decirle que use esto como RAID6 nuevamente, pero que no elimine datos ni marque las unidades como repuestos? Estoy pensando en algo como:

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

aunque no se muestra /dev/sdd1. Casi parece que necesito volver a ensamblar con algunas banderas para evitar reescribir datos, o eliminar/agregar manualmente cada disco desde md0 (pero necesitas varios discos para RAID6, entonces, ¿cómo se hace eso?) fdisk para /dev/sdd muestra :

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

Así que hay una partición raid allí como esperaba, aunque cuando la examino, muestra:

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

a diferencia de otras unidades:

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)

Supongo que durante la reconstrucción se podría reparar /dev/sdd1. ¿Me estoy acercando a esto correctamente? Básicamente, no quiero sobrescribir datos.

Respuesta1

Bien, detuve el /dev/md0 y luego lo creé como raid6 como:

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>

Aquí hay más detalles sobre el RAID reensamblado:

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

¡Así que supongo que funcionó! Ahora cuando voy a montarlo dice

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

Así que ahora tengo que descubrir cómo reconstruir el material de LVM, pero ese es un tema aparte. Espero que esto ayude a alguien más a resolver algo como esto.

información relacionada