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

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.

[root@lremdox1 ~]# 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
[root@lremdox1 ~]#

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:

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

[root@lremdox1 ~]# 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
[root@lremdox1 ~]# 

[root@lremdox1 ~]# mdadm /dev/md11 --add /dev/mapper/vg5dataguard2
mdadm: Cannot open /dev/mapper/vg5dataguard2: Device or resource busy
[root@lremdox1 ~]# 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
[root@lremdox1 ~]# mdadm --grow /dev/md11 --raid-devices=2
raid_disks for /dev/md11 set to 2
[root@lremdox1 ~]#

[root@lremdox1 ~]# 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
[root@lremdox1 ~]#

[root@lremdox1 ~]# 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
[root@lremdox1 ~]#

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.

COMPÁRTEME

Deja un comentario