Jugando con un RAID software montado en Debian 7.2 me encontré que todo funcionaba bien, pero uno de los RAID que tenía montado no funcionaba bien. El RAID donde estaba montado el sistema funcionaba perfectamente porque tras unas pruebas de ruptura, lo había recuperado. Pero el que me producía el error correspondía al RAID destinado a la memoria de intercambio (swap).
Me di cuenta del error en el arranque del sistema, justo cuando comenzaba a arrancar Debian lo primero que hace es montar los RAID y este proceso devolvía un error. Puesto que el problema estaba en el RAID destinado a memoria de intercambio no notaba nada en el sistema. Para confirmar el error monté "bootlogd" para ver algo más de información, en la pantalla de carga no me daba tiempo a leer nada, simplemente vi un "FAIL" y me puse a investigar de donde venía.
Para el que no esté familiarizado con "bootlogd" en su día escribí un pequeño artículo sobre como instalarlo y configurarlo.
Tras la instalación simplemente tienes que ver el contenido de "/var/log/boot" y yo me encontré con "RAID status not OK. Exiting", así que efectivamente algo no estaba cargando bien en el RAID.
Para verificar el estado de los RAID utilizaremos el comando "mdadm" indicando el RAID que queremos verificar, en mi caso tengo dos RAID; /dev/md0 y /dev/md1. Cuando verifiqué el estado de /dev/md1 efectivamente encontré "State : clean, resyncing (PENDING)" en lugar de un simple "State : clean".
root@debian:~# mdadm --detail /dev/md1
/dev/md1:
Version : 1.2
Creation Time : Thu Nov 14 12:13:46 2013
Raid Level : raid1
Array Size : 14744448 (14.06 GiB 15.10 GB)
Used Dev Size : 14744448 (14.06 GiB 15.10 GB)
Raid Devices : 2
Total Devices : 2
Persistence : Superblock is persistent
Update Time : Thu Nov 14 12:39:40 2013
State : clean, resyncing (PENDING) Active Devices : 2
Working Devices : 2
Failed Devices : 0
Spare Devices : 0
Name : debian:1 (local to host debian)
UUID : 58db8a25:19229d31:ec4eb31f:6dc16a4a
Events : 3
Number Major Minor RaidDevice State
0 8 2 0 active sync /dev/sda2
1 8 18 1 active sync /dev/sdb2
Así pues hay que lanzar un "mdadm --readwrite /dev/md1" para que comience el proceso de recuperación. Este comando lanzará un proceso backgrund, es decir, no nos bloqueará el terminal desde el que lancemos el proceso con el consecuente miedo de que se cierre y perdamos el proceso.
root@debian:~# mdadm --readwrite /dev/md1Para tener una estimación del tiempo que va a tardar en terminar el proceso debemos visualizar el contenido del fichero "/proc/mdstat":
root@debian:~# cat /proc/mdstatFinalmente el proceso llegará a su fin; sin hace nada más el RAID funcionará correctamente, ya no volveremos a ver errores en el inicio del sistema. Nuestro RAID ha sido recuperado.
Personalities : [raid1]
md1 : active raid1 sda2[0] sdb2[1]
14744448 blocks super 1.2 [2/2] [UU]
[====>................] resync = 22.6% (3337408/14744448) finish=2.9min speed=64360K/sec
md0 : active raid1 sda1[3] sdb1[2]
473500480 blocks super 1.2 [2/2] [UU]
unused devices:
root@debian:~# cat /proc/mdstat
Personalities : [raid1]
md1 : active raid1 sda2[0] sdb2[1]
14744448 blocks super 1.2 [2/2] [UU]
md0 : active raid1 sda1[3] sdb1[2]
473500480 blocks super 1.2 [2/2] [UU]
unused devices:
No hay comentarios:
Publicar un comentario