Cómo volver a agregar el disco duro eliminado accidentalmente en RAID5

14

Tengo un NAS en Ubuntu Server con 4 discos duros de 2TB en RAID 5. Hace un par de semanas, uno de los discos duros murió, pero mi RAID estaba funcionando, aunque degradado. Afortunadamente, todavía estaba en garantía y me enviaron un nuevo disco duro que instalé hoy. Sin embargo, al intentar agregar el nuevo disco duro al RAID, no se estaba reconstruyendo. Así que desconecté el disco duro y reinicié la máquina. Sin embargo, accidentalmente configuré uno de mis OTROS discos duros en el RAID para que fallara y lo eliminé usando mdadm.

Ahora dice que mi RAID tiene dos discos duros eliminados. Todavía tengo mi tercer disco duro con todos mis datos intactos, pero no sé cómo volver a agregarlo al conjunto RAID, por lo que está de nuevo en un estado bueno (aunque degradado), por lo que puedo continuar agregando 4to disco duro y reconstruir la matriz. ¿Es posible hacer que Ubuntu se dé cuenta de que el tercer disco duro tiene mis datos y que vuelva a ser reconocido como parte de la matriz?

Cuando trato de correr:

sudo mdadm --manage /dev/md127 --re-add /dev/sdd1 

Dice:

mdadm: --re-add for /dev/sdd1 to dev/md127 is not possible

Por favor, cualquier ayuda que alguien pueda dar sería muy, muy apreciada.

Chunky56
fuente
1
Creo que pude devolverlo a un estado degradado. Pude usar el comando mdadm --assemble --force en la documentación y creo que lo devolvió a una situación en la que al menos 3 de las 4 unidades están funcionando. Para cualquier persona en el futuro que se encuentre con este problema, este es el comando que utilicé (suponiendo que las 3 unidades de trabajo son sdb, sdc, sdd, cada una con particiones individuales de sdb1, sdc1, sdd1: Código: sudo mdadm --assemble - force / dev / md127 / dev / sdb1 / dev / sdc1 / dev / sdd1 (sudo puede no ser necesario dependiendo de su situación)
Chunky56

Respuestas:

5

Es posible que deba hacer una --addy no una --re-add. si lee la página del manual sobre --re-addesto, se habla de volver a agregar el dispositivo si el recuento de eventos está cerca del resto de los dispositivos. puedes usar --examinepara descubrir esto.

$ mdadm --examine /dev/sd[a-z]1 | egrep 'Event|/dev/sd'
mdadm: No md superblock detected on /dev/sda1.
/dev/sdb1:
         Events : 992655
/dev/sdd1:
         Events : 992655
/dev/sde1:
         Events : 992655
/dev/sdf1:
         Events : 992655
/dev/sdg1:
         Events : 158
/dev/sdh1:
         Events : 992655
/dev/sdj1:
         Events : 992655

como puede ver, mi /dev/sdh1dispositivo no ha estado en la matriz por algún tiempo y --re-addno funcionará y tendrá que hacer un --add y para recuperar la matriz.

puede usar mdadm --detail /dev/md126para ver lo que está sucediendo, puede que no sea una mala idea ejecutar esto antes de hacer nada, ¡después de todo, estos son sus datos!

$ mdadm --detail /dev/md126
/dev/md126:
        Version : 1.2
  Creation Time : Tue Jun 24 05:17:47 2014
     Raid Level : raid6
     Array Size : 14650158080 (13971.48 GiB 15001.76 GB)
  Used Dev Size : 2930031616 (2794.30 GiB 3000.35 GB)
   Raid Devices : 7
  Total Devices : 7
    Persistence : Superblock is persistent

    Update Time : Thu Nov  6 05:47:56 2014
          State : clean, degraded, recovering
 Active Devices : 6
Working Devices : 7
 Failed Devices : 0
  Spare Devices : 1

         Layout : left-symmetric
     Chunk Size : 512K

 Rebuild Status : 0% complete

           Name : omegacentauri:0  (local to host omegacentauri)
           UUID : 9fdcacc0:14f7ef3c:a6931b47:bfb8b4a1
         Events : 992656

    Number   Major   Minor   RaidDevice State
       0       8       17        0      active sync   /dev/sdb1
       1       8       49        1      active sync   /dev/sdd1
       2       8       65        2      active sync   /dev/sde1
       3       8       81        3      active sync   /dev/sdf1
       4       8       97        4      active sync   /dev/sdg1
       5       8      145        5      active sync   /dev/sdj1
       7       8      113        6      spare rebuilding   /dev/sdh1

o puedes usar esto también:

$ cat /proc/mdstat
Personalities : [raid1] [raid6] [raid5] [raid4]
md126 : active raid6 sdh1[7] sdg1[4] sdj1[5] sdf1[3] sdd1[1] sde1[2] sdb1[0]
      14650158080 blocks super 1.2 level 6, 512k chunk, algorithm 2 [7/6] [UUUUUU_]
      [>....................]  recovery =  0.9% (26657536/2930031616) finish=1162.5min speed=41624K/sec

md127 : active (auto-read-only) raid1 sdi[1] sdc[0]
      1465007360 blocks super 1.2 [2/2] [UU]

No soy responsable de ninguno de sus datos perdidos.

Lockwobr
fuente