mdadm: RAID por Software - Ensamblar un RAID no activo

      
in Documentacion, mdadm, raid
mdadm - Ensamblar un RAID no activo

MDADM es una utilidad Linux, utilizada para administrar RAID por Software, muy utilizada y extendida.
Muchos proveedores como 1and1, OVH o Hetzner utilizan mdadm para configurar los RAIDs de sus servidores dedicados o Cloud Computing.

En este documento, vamos a aprender a utilizar un poco mdadm, y a reconstruir un RAID no activo.

 

ATENCIÓN:
Es muy peligroso utilizar MDADM si no conocemos bien su funcionamiento, y las acciones de cada comando.
Es posible perder datos, por lo que es muy importante tener una copia de seguridad (BACKUP), antes de manipular los RAIDs

Podemos visualizar la información y estado de los RAIDs con:
cat /proc/mdstat

Una configuración típica, podría ser una similar a esta:
Personalities : [raid1] [raid0] [raid6] [raid5] [raid4]
md0 : active raid1 sdc1[0] sdd1[1]
      1862881088 blocks super 1.2 [2/2] [UU]
      
md2 : active raid1 sdb2[1] sda2[0]
      4194240 blocks [2/2] [UU]
      
md3 : active raid1 sdb3[1] sda3[0]
      108827584 blocks [2/2] [UU]
      
md1 : active raid1 sdb1[1] sda1[0]
      4194240 blocks [2/2] [UU]

Es importante conocer la información de RAID existente en el servidor, para poder detectar futuros problemas.
Si observamos que por ejemplo, el RAID md0 no se muestra en la lista, podemos intentar recuperarlo, sin perder la información.

Para obtener detalles de un RAID:
mdadm --query /dev/md0
mdadm --misc --detail /dev/md0

/dev/md0:
        Version : 1.02
  Creation Time : Wed Aug 21 12:43:40 2013
     Raid Level : raid1
     Array Size : 1862881088 (1776.58 GiB 1907.59 GB)
  Used Dev Size : 1862881088 (1776.58 GiB 1907.59 GB)
   Raid Devices : 2
  Total Devices : 2
Preferred Minor : 0
    Persistence : Superblock is persistent

    Update Time : Sun Aug 25 22:08:29 2013
          State : clean
 Active Devices : 2
Working Devices : 2
 Failed Devices : 0
  Spare Devices : 0

           Name : rescue.ovh.net:0
           UUID : 00963483:b0655e18:57038271:ed86296f
         Events : 150

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

Si queremos obtener detalle de las unidades físicas que componen un RAID:
mdadm --examine /dev/sdc1

/dev/sdc1:
          Magic : a92b4efc
        Version : 1.2
    Feature Map : 0x0
     Array UUID : 00963483:b0655e18:57038271:ed86296f
           Name : rescue.ovh.net:0
  Creation Time : Wed Aug 21 12:43:40 2013
     Raid Level : raid1
   Raid Devices : 2

 Avail Dev Size : 3725762560 (1776.58 GiB 1907.59 GB)
     Array Size : 3725762176 (1776.58 GiB 1907.59 GB)
  Used Dev Size : 3725762176 (1776.58 GiB 1907.59 GB)
    Data Offset : 262144 sectors
   Super Offset : 8 sectors
          State : active
    Device UUID : 2afa6e99:2d0c2bf7:bb50cc59:1c118f86

    Update Time : Sun Aug 25 22:09:31 2013
       Checksum : 678422a5 - correct
         Events : 151

Si todo parece correcto, y únicamente no aparece la información del RAID, podemos recuperar y activar el RAID con:
mdadm --assemble --scan
(Este comando permite buscar todos los RAIDs, montarlos y activarlos)

Si el comando anterior NO funciona, y necesitamos recrear el RAID, podemos continuar con los siguientes pasos.

Lo importante, es detectar qué disco está correcto, o más bien, si existe algún disco o partición corrupto o degradado.
Si no sabemos detectar, qué disco está correcto y tiene la integridad de los datos, podemos montar un disco solamente, y comprobar si la información es correcta. (Esto es lo más seguro, para evitar destruir la partición o disco que contenga datos correctos)

En nuestro ejemplo, supongamos que necesitamos recuperar el RAID md0, y suponemos que los datos correctos, están en la partición sdd1
mdadm --assemble /dev/md0 /dev/sdd1
mdadm -R /dev/md0
mdadm --misc --detail /dev/md0

Con esto, ya deberíamos poder visualizar con "cat /proc/mdstat", como el RAID está activo con 1 partición solamente. Podemos montar las particiones para comprobar su estado.
Si el RAID o partición, está en formato LVM, necesitaremos un paso adicional, para poder listar los Volume Group y los Logical Volumes.
pvscan; vgscan; vgchange -a y
Ahora ya podemos montar un Logical Volume para comprobar su integridad.

Si observamos que todo es correcto, y queremos añadir otro disco/partición para sincronizar y dejar el RAID correctamente, deberemos añadirlo con:
mdadm /dev/md0 --manage --add /dev/sdc1

Si tienes algún otro problema con mdadm, y necesitas más información, puedes consultar toda nuestra ayuda sobre mdadm en:
Ayuda sobre mdadm

Copyright © 1996-2018 Seavtec, S.L. Reservados todos los derechos.