HowTo RAID 1 por software en Debian

He montado esta semana un RAID software con Linux, os comento como lo he hecho:

Escenario 1: Tenemos un sistema con Debian 3.1 instalado en un disco duro ide (hda). Queremos añadir una nueva unidad que se utilizará para almacenar datos que serviremos por ftp y smb. Dicha unidad va a estar formada por dos nuevos discos SATA de 320GB cada uno que montaremos formando un RAID1 por software.

1) Instalar las mdadm:

# apt-get install mdadm

2) Compruebo que el sitema ve los los 2 nuevos discos

# fdisk -l /dev/sdb /dev/sdc

(fdisk indica el tamaño de cada disco y que están sin particionar)

3) Se particionan los discos con particiones de tipo raid (fd)

# cfdisk /dev/sdb

para el otro disco tendremos las misma tabla de particiones, por lo tanto:

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

4) Creamos el raid1

# mdadm --create /dev/md0 --level=1 --raid-devices=2 /dev/sdb1 /dev/sdc1

5) Revisamos el estado del raid con

# mdadm --detail /dev/md0

o con

# cat /proc/mdstat

6) Para que la configuración se mantenga tras reiniciar

# mdadm --detail --scan >> /etc/mdadm/mdadm.conf

7) Se da formato a md0 en ext3

# mke2fs -j /dev/md0

deshabilitamos la comprobación ya que estamos usando ext3

# tune2fs -i 0 -c 0 /dev/md0

8) Montar el disco y probar

# mkdir /mnt/almacen1
# echo "/dev/md0  /mnt/almacen1  ext3  defaults  0  0" >> /etc/fstab
# mount /mnt/almacen1

Con esto ya lo tendríamos funcionando.

Escenario 2: Con el raid ya montado, suponemos que uno de los dos discos duros se quema (por ejemplo: /dev/sdc). Comprobamos con mdadm --detail /dev/md0, que efectivamente uno de los disco ha dejado de funcionar. Y evidentemente la unidad "almacen1" sigue funcionando, aunque al raid le quede un único disco, para eso esta el raid :-). La idea ahora es sustituir el disco por uno nuevo y añadir este al raid.

1) Copiamos en el nuevo disco la tabla de particiones

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

2) Lo añadimos al RAID

# mdadm --add /dev/md0 /dev/sdc1

En caso de querer borrar el raid:

# mdadm --manage /dev/md0 --fail /dev/sdb1
# mdadm --manage /dev/md0 --fail /dev/sdc1
# mdadm --manage --stop /dev/md0
# rm /etc/mdadm/mdadm.conf

Las particios RAID de los discos utilizados también hay que borrarlas o cambiarlas a tipo linux (ID 83). Así como cambiar el superbloque de estas:

# mdadm --misc --zero-superblock /dev/sdxN

Apendice I - Refrescar Tabla Particiones en el Kernel

# apt-get install parted
# partprobe

Documentación:
http://gentoo-wiki.com/HOWTO_Gentoo_Install_on_Software_RAID#About_RAID
http://www.linuxsa.org.au/mailing-list/2003-07/1270.html
http://xtronics.com/reference/SATA-RAID-debian-for-2.6.html
http://www.debian-administration.org/articles/238