Daily Archives: 19/11/2009

Recuperar Disco de Raid5

Como ya hemos montado un sistema con Debian Lenny, Raid5 y LVM2 vamos a ver ahora cómo tenemos que proceder si uno de los discos duros falla. Para los ejemplos he construido con VirtualBox un sistema basado en el del ejemplo del post anterior, pero con discos de 10MB, es válido para los propositos de este post, si los discos son más grande lo único que afecta es que las acciones de formateo y reconstrucción serán más largos. Dicho esto vamos al lío.

Dejamos la entrada con esta configuración de Raid:

# cat /proc/mdstat
Personalities : [linear] [multipath] [raid0] [raid1] [raid6] [raid5] [raid4] [raid10]
md0 : active (auto-read-only) raid5 sda[0] sdb[3] sdc[2] sdd[1]
30528 blocks level 5, 64k chunk, algorithm 2 [4/4] [UUUU]
unused devices:

La cadena de Us mayúsculas indica el estado del Raid, todas las Us implica todos los discos. Vamos a suponer que falla sdd. En ese caso veríamos algo así:

# cat /proc/mdstat
Personalities : [linear] [multipath] [raid0] [raid1] [raid6] [raid5] [raid4] [raid10]
md0 : active (auto-read-only) raid5 sda[0] sdb[3] sdc[2] sdd[1]
30528 blocks level 5, 64k chunk, algorithm 2 [4/4] [UUU_]
unused devices:

Mostrando que falta un disco. Para reemplazarlo, seguimos estos pasos

  1. Parar el raid
  2. # mdadm --stop /dev/md0
  3. Marcar el disco que ha fallado
  4. # mdadm --manage /dev/md0 --fail /dev/sdd
  5. Eliminar el disco del raid.
  6. # mdadm --manage /dev/md0 --remove /dev/sdd
  7. Apagar el equipo y reemplazar el disco
  8. Agregar el disco al raid
  9. # mdadm --manage /dev/md0 --add /dev/sdd
  10. Listo.

Ahora podemos ir mirando /proc/mdstat para ver el progreso de la reconstrucción que tardará más o menos en función del tamaño. Podemos usar uno de los comandos aparecidos en este Blog, así:

# watch cat /proc/mdstat

Cuando halla finalizado, podemos montar el dispositivo, recordamos que estaba bajo LVM pero este no se ha enterado de nada.