¿Cómo reactivo mi matriz MDADM RAID5?

22

Me acabo de mudar de casa, lo que implica desmantelar mi servidor y volver a conectarlo. Desde entonces, uno de mis arreglos MDADM RAID5 aparece como inactivo:

root@mserver:/tmp# cat /proc/mdstat 
Personalities : [raid6] [raid5] [raid4] [linear] [multipath] [raid0] [raid1] [raid10] 
md1 : active raid5 sdc1[1] sdh1[2] sdg1[0]
      3907023872 blocks level 5, 64k chunk, algorithm 2 [3/3] [UUU]

md0 : inactive sdd1[0](S) sdf1[3](S) sde1[2](S) sdb1[1](S)
      3907039744 blocks

unused devices: <none>

Me parece que ha encontrado todos los discos, pero por alguna razón no quiere usarlos.

Entonces, ¿qué significan las etiquetas (S) y cómo puedo decirle a MDADM que comience a usar la matriz nuevamente?

[Editar] Intenté detener y ensamblar la matriz con -v:

root@mserver:~# mdadm --stop /dev/md0
mdadm: stopped /dev/md0

root@mserver:~# mdadm --assemble --scan -v
mdadm: /dev/sde1 is identified as a member of /dev/md0, slot 2.
mdadm: /dev/sdf1 is identified as a member of /dev/md0, slot 3.
mdadm: /dev/sdd1 is identified as a member of /dev/md0, slot 0.
mdadm: /dev/sdb1 is identified as a member of /dev/md0, slot 1.
mdadm: added /dev/sdd1 to /dev/md0 as 0 (possibly out of date)
mdadm: added /dev/sdb1 to /dev/md0 as 1 (possibly out of date)
mdadm: added /dev/sdf1 to /dev/md0 as 3 (possibly out of date)
mdadm: added /dev/sde1 to /dev/md0 as 2
mdadm: /dev/md0 assembled from 1 drive - not enough to start the array.

..y entrar al gato /proc/mdstatno se ve diferente.

[Edit2] No estoy seguro si ayuda, pero este es el resultado de examinar cada disco:

root @ mserver: ~ # mdadm --examine / dev / sdb1

/dev/sdb1:
          Magic : a92b4efc
        Version : 0.90.00
           UUID : 2f331560:fc85feff:5457a8c1:6e047c67 (local to host mserver)
  Creation Time : Sun Feb  1 20:53:39 2009
     Raid Level : raid5
  Used Dev Size : 976759936 (931.51 GiB 1000.20 GB)
     Array Size : 2930279808 (2794.53 GiB 3000.61 GB)
   Raid Devices : 4
  Total Devices : 4
Preferred Minor : 0

    Update Time : Sat Apr 20 13:22:27 2013
          State : clean
 Active Devices : 4
Working Devices : 4
 Failed Devices : 0
  Spare Devices : 0
       Checksum : 6c8f71a3 - correct
         Events : 955190

         Layout : left-symmetric
     Chunk Size : 64K

      Number   Major   Minor   RaidDevice State
this     1       8       17        1      active sync   /dev/sdb1

   0     0       8      113        0      active sync   /dev/sdh1
   1     1       8       17        1      active sync   /dev/sdb1
   2     2       8       97        2      active sync   /dev/sdg1
   3     3       8       33        3      active sync   /dev/sdc1

root @ mserver: ~ # mdadm --examine / dev / sdd1

/dev/sdd1:
          Magic : a92b4efc
        Version : 0.90.00
           UUID : 2f331560:fc85feff:5457a8c1:6e047c67 (local to host mserver)
  Creation Time : Sun Feb  1 20:53:39 2009
     Raid Level : raid5
  Used Dev Size : 976759936 (931.51 GiB 1000.20 GB)
     Array Size : 2930279808 (2794.53 GiB 3000.61 GB)
   Raid Devices : 4
  Total Devices : 2
Preferred Minor : 0

    Update Time : Sat Apr 20 18:37:23 2013
          State : active
 Active Devices : 2
Working Devices : 2
 Failed Devices : 2
  Spare Devices : 0
       Checksum : 6c812869 - correct
         Events : 955205

         Layout : left-symmetric
     Chunk Size : 64K

      Number   Major   Minor   RaidDevice State
this     0       8      113        0      active sync   /dev/sdh1

   0     0       8      113        0      active sync   /dev/sdh1
   1     1       0        0        1      faulty removed
   2     2       8       97        2      active sync   /dev/sdg1
   3     3       0        0        3      faulty removed

root @ mserver: ~ # mdadm --examine / dev / sde1

/dev/sde1:
          Magic : a92b4efc
        Version : 0.90.00
           UUID : 2f331560:fc85feff:5457a8c1:6e047c67 (local to host mserver)
  Creation Time : Sun Feb  1 20:53:39 2009
     Raid Level : raid5
  Used Dev Size : 976759936 (931.51 GiB 1000.20 GB)
     Array Size : 2930279808 (2794.53 GiB 3000.61 GB)
   Raid Devices : 4
  Total Devices : 2
Preferred Minor : 0

    Update Time : Sun Apr 21 14:00:43 2013
          State : clean
 Active Devices : 1
Working Devices : 1
 Failed Devices : 2
  Spare Devices : 0
       Checksum : 6c90cc70 - correct
         Events : 955219

         Layout : left-symmetric
     Chunk Size : 64K

      Number   Major   Minor   RaidDevice State
this     2       8       97        2      active sync   /dev/sdg1

   0     0       0        0        0      removed
   1     1       0        0        1      faulty removed
   2     2       8       97        2      active sync   /dev/sdg1
   3     3       0        0        3      faulty removed

root @ mserver: ~ # mdadm --examine / dev / sdf1

/dev/sdf1:
          Magic : a92b4efc
        Version : 0.90.00
           UUID : 2f331560:fc85feff:5457a8c1:6e047c67 (local to host mserver)
  Creation Time : Sun Feb  1 20:53:39 2009
     Raid Level : raid5
  Used Dev Size : 976759936 (931.51 GiB 1000.20 GB)
     Array Size : 2930279808 (2794.53 GiB 3000.61 GB)
   Raid Devices : 4
  Total Devices : 4
Preferred Minor : 0

    Update Time : Sat Apr 20 13:22:27 2013
          State : clean
 Active Devices : 4
Working Devices : 4
 Failed Devices : 0
  Spare Devices : 0
       Checksum : 6c8f71b7 - correct
         Events : 955190

         Layout : left-symmetric
     Chunk Size : 64K

      Number   Major   Minor   RaidDevice State
this     3       8       33        3      active sync   /dev/sdc1

   0     0       8      113        0      active sync   /dev/sdh1
   1     1       8       17        1      active sync   /dev/sdb1
   2     2       8       97        2      active sync   /dev/sdg1
   3     3       8       33        3      active sync   /dev/sdc1

Tengo algunas notas que sugieren que las unidades se ensamblaron originalmente de la siguiente manera:

md0 : active raid5 sdb1[1] sdc1[3] sdh1[0] sdg1[2]
      2930279808 blocks level 5, 64k chunk, algorithm 2 [4/4] [UUUU]

[Editar3]

Mirando a través del registro, parece que sucedió lo siguiente (según Update Timelos --examineresultados):

  1. sdb y sdf fueron eliminados en algún momento después de las 13:22 del día 20
  2. sdd fue noqueado después de las 18:37 del día 20
  3. el servidor se apagó después de las 14:00 del 1

Dado que dos discos se cayeron (aparentemente) simultáneamente, creo que debería ser razonablemente seguro asumir que la matriz no se habría escrito después de ese punto (?) Y, por lo tanto, debería ser relativamente seguro forzarla a reinstalarse en el ¿orden correcto? ¿Cuál es el comando más seguro para hacer eso y hay una manera de hacerlo sin escribir ningún cambio?

Jon Cage
fuente

Respuestas:

28

Las Setiquetas significan que el disco se considera "de repuesto". Debería intentar detener y reiniciar la matriz:

  mdadm --stop /dev/md0
  mdadm --assemble --scan

para volver a ensamblar la matriz y si eso no funciona, es posible que deba actualizar su mdadm.conf, consulte, por ejemplo, esta pregunta para obtener detalles sobre cómo hacerlo.

Stefan Seidel
fuente
Intentado que (y añadido -va ver lo que estaba pasando) pero todos los discos que deban ajustarse a obtener las respuestas a lo largo de las siguientes líneas: mdadm: /dev/sdb1 is busy - skipping.
Jon Cage
simplemente detenga md0 y vuelva a ensamblar la matriz
krizna
intenté eso - todavía no tuve suerte (mira mi edición)
Jon Cage
2
Ok, parece que piensa que el RAID no se cerró correctamente, si está seguro de que no, intente -Ro -f. Si eso también falla, vuelva a crear la matriz usando mdadm create /dev/md0 --assume-clean <original create options> /dev/sd[dbfe]1. Tenga cuidado: todas estas opciones pueden destruir sus datos.
Stefan Seidel
3
Bueno, lo hice y mdadm --assemble --scan --forcetrabajé. La matriz está funcionando nuevamente y tengo acceso a mis datos :)
Jon Cage
9

Esta pregunta es un poco vieja, pero la respuesta podría ayudar a alguien que enfrenta una situación similar. Al observar los recuentos de eventos de la salida mdadm --examine que ha proporcionado, parecen lo suficientemente cercanos (955190 - para sdb1 y sdf1, 955219 para sde1 y para sdd1 tiene 955205). Si están por debajo de 40-50, esto está bien, y en ese caso el curso de acción recomendado es ensamblar su matriz manualmente, obligando a mdadm a aceptar las unidades a pesar de la diferencia de conteo de eventos:

Detener la matriz:

mdadm --stop /dev/md0

Luego intente reensamblar la matriz manualmente:

mdadm --assemble --force /dev/md0 /dev/sdb1 /dev/sdd1 /dev/sde1 /dev/sdf1

Verifique el estado de la matriz para examinar si la lista / estructura de unidades está bien (la parte inferior de la salida del comando mostrará qué unidad se encuentra en qué estado y en qué posición de la matriz):

mdadm --detail /dev/md0

Si la estructura está bien, verifique el progreso de la reconstrucción:

cat /proc/mdstat
Milen
fuente
0

Puede activar Raid md0 con el siguiente comando

mdadm -A /dev/md0

y este comando para actualizar el archivo mdadm.conf

mdadm --examine --scan >> /etc/mdadm/mdadm.conf
krizna
fuente