Mirror en Linux con mdadm – Disco en estado «spare»

Share on facebook
Share on twitter
Share on linkedin
Share on whatsapp
Share on telegram
Share on email

Esta mañana ha habido un error humano por parte del equipo de Storage en el que han despresentado una LUN de un servidor que formaba parte de un mirror por software creado con mdadm. No obstante, tuvieron la precaución de no eliminar los datos aunque en este caso daba igual porque el otro disco del mirror seguía dando el servicio con normalidad y únicamente tenía que volver a sincronizar el mirror.

Tras hablar con el equipo de Storage, volvieron a presentar el disco al servidor afectado y pero el disco se había quedado en estado «spare» dentro del mirror.

[[email protected] ~]# mdadm --detail /dev/md11
/dev/md11:
        Version : 1.2
  Creation Time : Wed Nov  7 18:03:50 2018
     Raid Level : raid1
     Array Size : 104792064 (99.94 GiB 107.31 GB)
  Used Dev Size : 104792064 (99.94 GiB 107.31 GB)
   Raid Devices : 2
  Total Devices : 2
    Persistence : Superblock is persistent

    Update Time : Fri Mar 15 08:46:46 2019
          State : active, degraded
Active Devices : 1
Working Devices : 2
Failed Devices : 0
  Spare Devices : 1

           Name : lremdox1:0  (local to host lremdox1)
           UUID : 486d46aa:83ef5d27:1e7ec4f8:f32be1b3
         Events : 132541

    Number   Major   Minor   RaidDevice State
       0     253       13        0      active sync   /dev/dm-13
       2       0        0        2      removed

       2     253       27        -      spare   /dev/dm-27
[[email protected] ~]#

Lo primero que he probado para arreglarlo ha sido eliminar el disco del mirror y volver a asignarlo, pero se volvía a quedar en estado spare. El caso es que el disco aparecía como «removed» pero el número de discos trabajando en el RAID seguía apareciendo como dos (Raid devices).

Para solucionar esta problemática, además, he tenido que reducir el número de discos del mirror a uno. Es decir:

  • Poner el estado del disco problemático a estado «faulty».
  • Eliminar el disco del mirror.
  • Modificar el mirror para que sólo se componga de un disco.
  • Volver a asignar el disco al mirror.

Los comandos que he utilizado para tal fin han sido los siguientes:

[[email protected] ~]# mdadm /dev/md11 --fail /dev/dm-27
mdadm: set /dev/dm-27 faulty in /dev/md11
[[email protected] ~]# mdadm /dev/md11 --remove /dev/dm-27
mdadm: hot removed /dev/dm-27 from /dev/md11
[[email protected] ~]# mdadm --grow /dev/md11 --raid-devices=1 --force
raid_disks for /dev/md11 set to 1
[[email protected] ~]#

[[email protected] ~]# mdadm --detail /dev/md11
/dev/md11:
        Version : 1.2
  Creation Time : Wed Nov  7 18:03:50 2018
     Raid Level : raid1
     Array Size : 104792064 (99.94 GiB 107.31 GB)
  Used Dev Size : 104792064 (99.94 GiB 107.31 GB)
   Raid Devices : 1
  Total Devices : 1
    Persistence : Superblock is persistent

    Update Time : Fri Mar 15 08:51:52 2019
          State : active
Active Devices : 1
Working Devices : 1
Failed Devices : 0
  Spare Devices : 0

           Name : lremdox1:0  (local to host lremdox1)
           UUID : 486d46aa:83ef5d27:1e7ec4f8:f32be1b3
         Events : 132630

    Number   Major   Minor   RaidDevice State
       0     253       13        0      active sync   /dev/dm-13
[[email protected] ~]# 

[[email protected] ~]# mdadm /dev/md11 --add /dev/mapper/vg5dataguard2
mdadm: Cannot open /dev/mapper/vg5dataguard2: Device or resource busy
[[email protected] ~]# mdadm --detail /dev/md11
/dev/md11:
        Version : 1.2
  Creation Time : Wed Nov  7 18:03:50 2018
     Raid Level : raid1
     Array Size : 104792064 (99.94 GiB 107.31 GB)
  Used Dev Size : 104792064 (99.94 GiB 107.31 GB)
   Raid Devices : 1
  Total Devices : 2
    Persistence : Superblock is persistent

    Update Time : Fri Mar 15 08:52:04 2019
          State : active
Active Devices : 1
Working Devices : 2
Failed Devices : 0
  Spare Devices : 1

           Name : lremdox1:0  (local to host lremdox1)
           UUID : 486d46aa:83ef5d27:1e7ec4f8:f32be1b3
         Events : 132633

    Number   Major   Minor   RaidDevice State
       0     253       13        0      active sync   /dev/dm-13

       1     253       27        -      spare   /dev/dm-27
[[email protected] ~]# mdadm --grow /dev/md11 --raid-devices=2
raid_disks for /dev/md11 set to 2
[[email protected] ~]#

[[email protected] ~]# mdadm --detail /dev/md11
/dev/md11:
        Version : 1.2
  Creation Time : Wed Nov  7 18:03:50 2018
     Raid Level : raid1
     Array Size : 104792064 (99.94 GiB 107.31 GB)
  Used Dev Size : 104792064 (99.94 GiB 107.31 GB)
   Raid Devices : 2
  Total Devices : 2
    Persistence : Superblock is persistent

    Update Time : Fri Mar 15 09:00:14 2019
          State : active, degraded, recovering
Active Devices : 1
Working Devices : 2
Failed Devices : 0
  Spare Devices : 1

Rebuild Status : 89% complete

           Name : lremdox1:0  (local to host lremdox1)
           UUID : 486d46aa:83ef5d27:1e7ec4f8:f32be1b3
         Events : 132779

    Number   Major   Minor   RaidDevice State
       0     253       13        0      active sync   /dev/dm-13
       1     253       27        1      spare rebuilding   /dev/dm-27
[[email protected] ~]#

[[email protected] ~]# mdadm --detail /dev/md11
/dev/md11:
        Version : 1.2
  Creation Time : Wed Nov  7 18:03:50 2018
     Raid Level : raid1
     Array Size : 104792064 (99.94 GiB 107.31 GB)
  Used Dev Size : 104792064 (99.94 GiB 107.31 GB)
   Raid Devices : 2
  Total Devices : 2
    Persistence : Superblock is persistent

    Update Time : Fri Mar 15 09:01:20 2019
          State : active
Active Devices : 2
Working Devices : 2
Failed Devices : 0
  Spare Devices : 0

           Name : lremdox1:0  (local to host lremdox1)
           UUID : 486d46aa:83ef5d27:1e7ec4f8:f32be1b3
         Events : 132800

    Number   Major   Minor   RaidDevice State
       0     253       13        0      active sync   /dev/dm-13
       1     253       27        1      active sync   /dev/dm-27
[[email protected] ~]#

Como vemos al final, el los dos discos del mirror han quedado completamente sincronizados y ninguno de ellos está en estado «spare», sino que ambos están trabajando (Working Devices).

Esto me ha pasado en un Linux RedHat 6.9.

¿Te ha gustado? ¡Compártelo!

Share on facebook
Share on twitter
Share on linkedin
Share on whatsapp
Share on telegram
Share on email

SUSCRÍBETE A PUERTO53

Recibe un email periódico con los artículos más interesantes de Puerto53.com

Antes de suscribirte lee los términos y condiciones. Gracias.

Contenido Relacionado

Artículos Recientes

Deja un comentario

About Author