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.
Mi pasión por la tecnología me lleva constantemente a explorar las últimas tendencias y aplicaciones, buscando siempre formas de implementar soluciones innovadoras que mejoren la eficiencia. En puerto53.com comparto contenido valioso para ayudar a otros profesionales y entusiastas de la informática a navegar y dominar el complejo mundo de la tecnología. Mi especialidad en Linux RedHat.
Más sobre mí en el este enlace,