Cambiar un disco dañado en un RAID linux
Cambiar un disco dañado en un RAID linux

Cambiar un disco dañado en un RAID linux

Desde hace varios años trabajo con Raid basados en Linux, la velocidad actual de los procesador y lo barato de las memorias RAM, nos permite usarlos sin que ello baje el rendimiento del servidor, un Raid nos proteje de la caida de un disco, pero, no de la perdida de información por eliminación o modificación.

Para ello siempre sera necesario que tengamos implementado algun tipo de respaldo, con el uso de Raid lograremos que si un disco falla no tengamos que preocuparnos de reinstalar y reconfigurar el sistema, lo que permite que los usuarios en muchos casos no se den cuenta siquiera que un disco ha fallado.

En este articulo no veremos la creación de un Raid, si lo vere en un siguiente articulo, principalmente aqui veremos lo facil que es cambiar y volver a dejar funcionando el sistema en cosa de minutos.

Si tenemos configurada la utilidad mdmonitor para que nos avise de cualquier problema en los raid que tengamos configurados, nos enviara un email con el cual sabremos que un disco esta fallando. Para este ejemplo usaremos la configuración de mi servidor de correo, el cual cuenta con 2 discos SATA de 250GB (/dev/sda, /dev/sdb), cada uno de los discos contiene 3 particiones de tipo “Linux Raid” y una de tipo swap, las particiones de tipo linux Raid son de:

  • 100Mb para /boot, usando las particiones /dev/sda1, /dev/sdb1, dispositivo /dev/md0.
  • 10GB para /, usando las particiones /dev/sda2, /dev/sdb2, dispositivo /dev/md1.
  • 239Gb para /opt, usando las particiones /dev/sda3, /dev/sdb3, dispositivo /dev/md2.
  • Ademas de una partición de 1GB para swap (esta partición no esta en raid).

Para este ejemplo, la partición con problemas sera /dev/sdb1, la cual sera marcada automaticamente como no operacional, lo primero que debemos hacer es marcar las demas particiones del mismo disco (en los distintos arreglos de discos) con falla, como no operacionales:

# mdadm –manage /dev/md1 –fail /dev/sdb2
# mdadm –manage /dev/md2 –fail /dev/sdb3

Para verificar si los discos estan correctamente marcados podemos usar .

# mdadm –detail /dev/md0
# mdadm –detail /dev/md1
# mdadm –detail /dev/md2

Ahora removeremos las particiones marcadas con fallidas.

# mdadm –manage /dev/md0 –remove /dev/sdb1
# mdadm –manage /dev/md1 –remove /dev/sdb2
# mdadm –manage /dev/md2 –remove /dev/sdb3

ahora, si tuviesemos discos Hot-Swap podriamos cambiar el disco fallado sin necesidad de apagar el equipo, de lo contrario debemos apagar el equipo, cambiar el disco dañado y volver a iniciar el sistema. Ahora que hemos cambiado el disco por uno de capacidad similar o mayor (nunca menor), debemos particionar el nuevo disco con un tabla de particiones similar a la del disco operativo, para ello usaremos la utilidad sfdisk.

# sfdisk -d /dev/sda | sfdisk /dev/sdb

Esto creara una tabla de particiones similar a la que existe en /dev/sda, luego de particionado se puede verificar la tabla con fdisk -l, ahora agregaremos las particiones a cada uno de los raid.

# mdadm –manage /dev/md0 –add /dev/sdb1
# mdadm –manage /dev/md1 –add /dev/sdb2
# mdadm –manage /dev/md2 –add /dev/sdb3

Ahora viene la parte que toma mas tiempo, y que es la reconstrucción de los raid, la cual es automatica, una vez agregada las particiones, para verificar el proceso, podemos usar.

# mdadm –detail /dev/mdx
ó
# cat /proc/mdstat

En la actualidad Linux soporta muy bien la técnologia raid, soportando varios niveles, son una alternativa economica y de buen rendimiento para proteger tus datos y la disponibilidad de estos, hasta la proxima.