En este ejemplo tenemos dos discos: /dev/sda y /dev/sdb. Cada uno de ellos con dos particiones: /dev/sd*1 y /dev/sd*2. Las particiones /dev/sda1 y /dev/sdb1 forman la partición RAID1 /dev/md0. Las otras dos particiones, /dev/sda2 y /dev/sdb2 forman la segunda partición del RAID1: /dev/md1.
En este caso, el disco /dev/sdb se rompe. Veremos como reemplazarlo.
Para obterner información sobre el estado del RAID, basta ejecutar el siguiente comando:
# cat /proc/mdstat
Personalities : [raid1]
md0 : active raid1 sda1[0] sdb1[2](F)
24418688 blocks [2/1] [U_]
md1 : active raid1 sda2[0] sdb2[1]
24418688 blocks [2/2] [UU]
unused devices: <none>
Las particiones identificadas con U_ o _U están en problemas. Uno de los discos falló
Para remover el disco /dev/sdb debemos marcar sus particiones como dañadas y elminarlas de las particiones RAID: /dev/md0 y /dev/md1
mdadm --manage /dev/md0 --fail /dev/sdb1
Una vez marcado, lo eliminamos
mdadm --manage /dev/md0 --remove /dev/sdb1
Una vez eliminado, podremos ver que /dev/sdb1 ya no forma parte de la partición /dev/md0
# cat /proc/mdstat
Personalities : [raid1]
md0 : active raid1 sda1[0]
24418688 blocks [2/1] [U_]
md1 : active raid1 sda2[0] sdb2[1]
24418688 blocks [2/2] [UU]
unused devices: <none>
Ahora hacemos lo mismo con la partición /dev/sdb2
# mdadm --manage /dev/md0 --fail /dev/sdb1
# mdadm --manage /dev/md0 --remove /dev/sdb1
# cat /proc/mdstat
Personalities : [raid1]
md0 : active raid1 sda1[0]
24418688 blocks [2/1] [U_]
md1 : active raid1 sda2[0]
24418688 blocks [2/1] [U_]
unused devices: <none>
Ahora es el momento de apagar el servidor, quitar el disco dañado e instalar uno nuevo exactamente igual al dañado. Ni más grande, ni más chico.
# shutdown -h now
Lo primero que hacemos es ver la información del RAID. En este ejemplo, el disco instalado era parte de otro RAID, con sus particiones, etc
# cat /proc/mdstat
Personalities : [raid1]
md0 : active raid1 sda1[0]
511936 blocks super 1.0 [2/1] [U_]
md126 : active (auto-read-only) raid1 sdb1[1]
511936 blocks super 1.0 [2/1] [_U]
md127 : active raid1 sdb2[1]
487742272 blocks super 1.1 [2/1] [_U]
bitmap: 4/4 pages [16KB], 65536KB chunk
md1 : active raid1 sda2[0]
487742272 blocks super 1.1 [2/1] [U_]
bitmap: 4/4 pages [16KB], 65536KB chunk
unused devices: <none>
Antes de poder agregar el disco nuevo al RAID, será necesario eliminar el suyo, ejecutando el siguiente comando:
# mdadm -vS /dev/md126
# mdadm -vS /dev/md127
Si uno de las particiones se resiste, podría ser necesario seguir estos pasos:
# mdadm -vS /dev/md126
mdadm: stopped /dev/md126
# mdadm -vS /dev/md127
mdadm: Cannot get exclusive access to /dev/md127:Perhaps a running process, mounted filesystem or active volume group?
# mdadm -vS /dev/md127
mdadm: Cannot get exclusive access to /dev/md127:Perhaps a running process, mounted filesystem or active volume group?
# reboot
# sfdisk -d /dev/sda | sfdisk --force /dev/sdb
# cat /proc/mdstat
Personalities : [raid1]
md126 : active raid1 sdb1[0]
511936 blocks super 1.0 [2/1] [U_]
md127 : active raid1 sdb2[0]
487742272 blocks super 1.1 [2/1] [U_]
bitmap: 4/4 pages [16KB], 65536KB chunk
md0 : active raid1 sda1[0]
511936 blocks super 1.0 [2/1] [U_]
md1 : active raid1 sda2[0]
487742272 blocks super 1.1 [2/1] [U_]
bitmap: 4/4 pages [16KB], 65536KB chunk
unused devices: <none>
# mdadm -vS /dev/md126
# mdadm -vS /dev/md127
# mdadm --manage /dev/md0 --add /dev/sdb1
mdadm: added /dev/sdb1
# mdadm --manage /dev/md1 --add /dev/sdb2
mdadm: added /dev/sdb2
# cat /proc/mdstat
Personalities : [raid1]
md0 : active raid1 sdb1[2] sda1[0]
511936 blocks super 1.0 [2/2] [UU]
md1 : active raid1 sdb2[2] sda2[0]
487742272 blocks super 1.1 [2/1] [U_]
[>....................] recovery = 0.0% (243520/487742272) finish=66.7min speed=121760K/sec
bitmap: 4/4 pages [16KB], 65536KB chunk
unused devices: <none>
Eso es todo!