1. Instalar los paquetes necesarios :
apt-get install initramfs-tools mdadm
Ensembles MD requis par le système de fichiers racine : all
2. Cargar los modulos necesarios en el kernel :
modprobe md
modprobe linear
modprobe multipath
modprobe raid0
modprobe raid1
modprobe raid5
modprobe raid6
modprobe raid10
3. Particionar el segundo disco duro (sdb) con las mismas particiones de sda :
sfdisk -d /dev/sda | sfdisk /dev/sdb
3.1 Cambiar el tipo de particiones de sdb por "Linux raid autodetect" :
fdisk /dev/sdb
Command (m for help): t
Partition number (1-4): 1
Hex code (type L to list codes): fd
Command (m for help): t
Partition number (1-4): 2
Hex code (type L to list codes): fd
Command (m for help): t
Partition number (1-4): 3
Hex code (type L to list codes): fd
Command (m for help): w
4. Asegurese que no existen restos de otros RAID en el disco duro :
mdadm --zero-superblock /dev/sdb1
mdadm --zero-superblock /dev/sdb2
mdadm --zero-superblock /dev/sdb3
5. Crear el arreglo de discos (md) y agregar cada particion de sdb (sdb1 -> md0, sdb2 -> md1 y sdb3 -> md2):
mdadm --create /dev/md0 --level=1 --raid-disks=2 missing /dev/sdb1
mdadm --create /dev/md1 --level=1 --raid-disks=2 missing /dev/sdb2
mdadm --create /dev/md2 --level=1 --raid-disks=2 missing /dev/sdb3
Continue creating array? y
6. Crear los systemas de archivos del arreglo de discos (md) :
mkswap /dev/md0
mkfs.ext3 /dev/md1
mkfs.ext3 /dev/md2
7. Reconfigurar el archivo mdadm.conf :
cp /etc/mdadm/mdadm.conf /etc/mdadm/mdadm.conf_orig
mdadm --examine --scan >> /etc/mdadm/mdadm.conf
8. Montar el arreglo de disco md1 y md2 :
mkdir /mnt/md1
mkdir /mnt/md2
mount /dev/md1 /mnt/md1
mount /dev/md2 /mnt/md2
9. Modificar el fstab y mtab para que arranque desde el RAID :
sed -i 's:/dev/sda2:/dev/md1:g' /etc/fstab
sed -i 's:/dev/sda3:/dev/md2:g' /etc/fstab
sed -i 's:/dev/sda1:/dev/md0:g' /etc/fstab
sed -i 's:/dev/sda3:/dev/md2:g' /etc/mtab
sed -i 's:/dev/sda2:/dev/md1:g' /etc/mtab
10. Modificar el grub para que, si el arranque falla con uno de los discos, intente con el otro :
nano /boot/grub/menu.lst
Debajo de la linea default 0 agregar : fallback 1
11. Modificar el grub para que arranque desde el arreglo de discos, la lista de arranque debe quedar asi :
## ## End Default Options ##
title Debian GNU/Linux, kernel 2.6.26-2-amd64 (RAID1 HD1)
root (hd1,1)
kernel /boot/vmlinuz-2.6.26-2-amd64 root=/dev/md1 ro quiet
initrd /boot/initrd.img-2.6.26-2-amd64
title Debian GNU/Linux, kernel 2.6.26-2-amd64 (NO RAID)
root (hd0,1)
kernel /boot/vmlinuz-2.6.26-2-amd64 root=/dev/sda2 ro quiet
initrd /boot/initrd.img-2.6.26-2-amd64
title Debian GNU/Linux, kernel 2.6.26-2-amd64 (single-user mode)
root (hd0,1)
kernel /boot/vmlinuz-2.6.26-2-amd64 root=/dev/sda2 ro single
initrd /boot/initrd.img-2.6.26-2-amd64
### END DEBIAN AUTOMAGIC KERNELS LIST
12. Actualizar el ramdisk :
update-initramfs -u
13. Copiar el contenido de / en /mnt/md1 :
cp -dpRxv / /mnt/md1/
14. Preparar grub :
grub
root (hd0,1)
setup (hd0)
root (hd1,1)
setup (hd1)
quit
15. Reiniciar el sistema para que arranque desde el nuevo arreglo RAID 1 :
reboot
16. Cambiar el tipo de particiones de sda por "Linux raid autodetect" :
fdisk /dev/sda
Command (m for help): t
Partition number (1-4): 1
Hex code (type L to list codes): fd
Command (m for help): t
Partition number (1-4): 2
Hex code (type L to list codes): fd
Command (m for help): t
Partition number (1-4): 3
Hex code (type L to list codes): fd
Command (m for help): w
17. Agregar el disco sda al arreglo RAID 1 :
mdadm --add /dev/md0 /dev/sda1
mdadm --add /dev/md1 /dev/sda2
mdadm --add /dev/md2 /dev/sda3
18. Espere a que el nuevo disco sea duplicado :
watch cat /proc/mdstat
Una vez terminado el proceso presione Ctrl + C
19. Reconfigurar el archivo mdadm.conf :
cp /etc/mdadm/mdadm.conf /etc/mdadm/mdadm.conf_orig
mdadm --examine --scan >> /etc/mdadm/mdadm.conf
20. Modificar el grub para que arranque desde el arreglo de discos, la lista de arranque debe quedar asi :
nano /boot/grub/menu.lst
## ## End Default Options ##
title Debian GNU/Linux, kernel 2.6.26-2-amd64 (RAID1 HD0)
root (hd0,1)
kernel /boot/vmlinuz-2.6.26-2-amd64 root=/dev/md1 ro quiet
initrd /boot/initrd.img-2.6.26-2-amd64
title Debian GNU/Linux, kernel 2.6.26-2-amd64 (RAID1 HD1)
root (hd1,1)
kernel /boot/vmlinuz-2.6.26-2-amd64 root=/dev/md1 ro quiet
initrd /boot/initrd.img-2.6.26-2-amd64
#title Debian GNU/Linux, kernel 2.6.26-2-amd64 (NO RAID)
#root (hd0,1)
#kernel /boot/vmlinuz-2.6.26-2-amd64 root=/dev/sda2 ro quiet
#initrd /boot/initrd.img-2.6.26-2-amd64
#title Debian GNU/Linux, kernel 2.6.26-2-amd64 (single-user mode)
#root (hd0,1)
#kernel /boot/vmlinuz-2.6.26-2-amd64 root=/dev/sda2 ro single
#initrd /boot/initrd.img-2.6.26-2-amd64
### END DEBIAN AUTOMAGIC KERNELS LIST
21. Modificar la linea kopt :
sed -i '63s:/dev/sda2:/dev/md1:g' /boot/grub/menu.lst
22. Actualizar el ramdisk :
update-initramfs -u
23. Edite el archivo /etc/mdadm/mdadm.conf y configure la opcion MAILADDR para el envio de alertas :
MAILADDR user@mail.com
24. Reiniciar :
reboot
1. Simular la perdida de uno de los discos duros, en neste caso hdb :
mdadm --manage /dev/md0 --fail /dev/sdb1
mdadm --manage /dev/md1 --fail /dev/sdb2
mdadm --manage /dev/md2 --fail /dev/sdb3
mdadm --manage /dev/md0 --remove /dev/sdb1
mdadm --manage /dev/md1 --remove /dev/sdb2
mdadm --manage /dev/md2 --remove /dev/sdb3
2. Ahora puede apagar el sistema y reemplazar el disco duro sdb.
3. Ahora puede ver el estado del raid y vera que falta uno de los discos :
cat /proc/mdstat
1. Despues reemplazar el disco hdb por uno nuevo, creamos la tabla de particiones en el nuevo disco :
sfdisk -d /dev/sda | sfdisk --force /dev/sdb
2. Asegurese que no existen restos de otros RAID en el disco duro :
mdadm --zero-superblock /dev/sdb1
mdadm --zero-superblock /dev/sdb2
mdadm --zero-superblock /dev/sdb3
3. Agregar el nuevo disco al arreglo :
mdadm -a /dev/md0 /dev/sdb1
mdadm -a /dev/md1 /dev/sdb2
mdadm -a /dev/md2 /dev/sdb3
4. Espere a que el nuevo disco sea duplicado :
watch cat /proc/mdstat
Una vez terminado el proceso presione Ctrl + C
5. Reinstalar grub en ambos discos :
grub
root (hd0,1)
setup (hd0)
root (hd1,1)
setup (hd1)
quit