Crear arreglos RAID1 y preparar el arranque con GRUB
4 Creación de nuestros arreglos RAID
Ahora vamos a crear los arreglos RAID /dev/md0, /dev/md1 y /dev/md2. /dev/sdb1 se añadirá a /dev/md0, /dev/sdb2 a /dev/md1 y /dev/sdb3 a /dev/md2. /dev/sda1, /dev/sda2 y /dev/sda3 no se pueden añadir ahora (porque el sistema está arrancando desde ellas), por lo tanto usamos el marcador missing en los tres comandos siguientes:
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
El comando
cat /proc/mdstat
debería mostrar ahora que tiene tres arreglos RAID degradados ( [U] o [U] indica que un arreglo está degradado mientras que [UU] significa que el arreglo está bien):
[root@server1 ~]# cat /proc/mdstat
Personalities : [linear] [multipath] [raid0] [raid1] [raid6] [raid5] [raid4] [raid10]
md2 : active raid1 sdb3[1]
4618560 blocks [2/1] [_U]
md1 : active raid1 sdb2[1]
513984 blocks [2/1] [_U]
md0 : active raid1 sdb1[1]
104320 blocks [2/1] [_U]
unused devices:
[root@server1 ~]#
A continuación creamos sistemas de archivos en nuestros arreglos RAID (ext3 en /dev/md0 y /dev/md2 y swap en /dev/md1):
mkfs.ext3 /dev/md0
mkswap /dev/md1
mkfs.ext3 /dev/md2
A continuación creamos /etc/mdadm.conf así:
mdadm --examine --scan > /etc/mdadm.conf
Muestre el contenido del archivo:
cat /etc/mdadm.conf
En el archivo ahora debería ver detalles sobre nuestros tres arreglos RAID (degradados):
| ARRAY /dev/md0 level=raid1 num-devices=2 UUID=2848a3f5:cd1c26b6:e762ed83:696752f9 ARRAY /dev/md1 level=raid1 num-devices=2 UUID=8a004bac:92261691:227767de:4adf6592 ARRAY /dev/md2 level=raid1 num-devices=2 UUID=939f1c71:be9c10fd:d9e5f8c6:a46bcd49
|
5 Ajustando el sistema a RAID1
Ahora montamos /dev/md0 y /dev/md2 (no necesitamos montar la partición swap /dev/md1):
mkdir /mnt/md0
mkdir /mnt/md2
mount /dev/md0 /mnt/md0
mount /dev/md2 /mnt/md2
Debería encontrar ambos arreglos en la salida de:
mount
[root@server1 ~]# mount
/dev/sda3 on / type ext3 (rw)
proc on /proc type proc (rw)
sysfs on /sys type sysfs (rw)
devpts on /dev/pts type devpts (rw,gid=5,mode=620)
/dev/sda1 on /boot type ext3 (rw)
tmpfs on /dev/shm type tmpfs (rw)
none on /proc/sys/fs/binfmt_misc type binfmt_misc (rw)
sunrpc on /var/lib/nfs/rpc_pipefs type rpc_pipefs (rw)
/dev/md0 on /mnt/md0 type ext3 (rw)
/dev/md2 on /mnt/md2 type ext3 (rw)
[root@server1 ~]#
A continuación modificamos /etc/fstab. Reemplace LABEL=/boot por /dev/md0, LABEL=SWAP-sda2 por /dev/md1 y LABEL=/ por /dev/md2 de modo que el archivo quede así:
vi /etc/fstab
| /dev/md2 / ext3 defaults 1 1 /dev/md0 /boot ext3 defaults 1 2 tmpfs /dev/shm tmpfs defaults 0 0 devpts /dev/pts devpts gid=5,mode=620 0 0 sysfs /sys sysfs defaults 0 0 proc /proc proc defaults 0 0 /dev/md1 swap swap defaults 0 0
|
A continuación reemplace LABEL=/boot por /dev/md0 y LABEL=/ por /dev/md2 en /etc/mtab:
vi /etc/mtab
| /dev/md2 / ext3 rw 0 0 proc /proc proc rw 0 0 sysfs /sys sysfs rw 0 0 devpts /dev/pts devpts rw,gid=5,mode=620 0 0 /dev/md0 /boot ext3 rw 0 0 tmpfs /dev/shm tmpfs rw 0 0 none /proc/sys/fs/binfmt_misc binfmt_misc rw 0 0 sunrpc /var/lib/nfs/rpc_pipefs rpc_pipefs rw 0 0
|
Ajustes en GRUB
Ahora vamos con el cargador de arranque GRUB. Abra /boot/grub/menu.lst y añada fallback=1 justo después de default=0:
vi /boot/grub/menu.lst
| [...] default=0 fallback=1 [...]
|
Esto hace que si el primer kernel (el índice comienza en 0) falla al arrancar, se intente el kernel definido por fallback (el segundo).
En el mismo archivo, vaya al final donde están los bloques de kernel. Copie el primero y péguelo antes del primer bloque existente; reemplace root=LABEL=/ por root=/dev/md2 y root (hd0,0) por root (hd1,0):
| [...] title Fedora (2.6.23.1-42.fc8) root (hd1,0) kernel /vmlinuz-2.6.23.1-42.fc8 ro root=/dev/md2 rhgb quiet initrd /initrd-2.6.23.1-42.fc8.img title Fedora (2.6.23.1-42.fc8) root (hd0,0) kernel /vmlinuz-2.6.23.1-42.fc8 ro root=LABEL=/ rhgb quiet initrd /initrd-2.6.23.1-42.fc8.img
|
El archivo completo debería verse más o menos así:
| # grub.conf generated by anaconda # # Note that you do not have to rerun grub after making changes to this file # NOTICE: You have a /boot partition. This means that # all kernel and initrd paths are relative to /boot/, eg. # root (hd0,0) # kernel /vmlinuz-version ro root=/dev/sda3 # initrd /initrd-version.img #boot=/dev/sda default=0 fallback=1 timeout=5 splashimage=(hd0,0)/grub/splash.xpm.gz hiddenmenu title Fedora (2.6.23.1-42.fc8) root (hd1,0) kernel /vmlinuz-2.6.23.1-42.fc8 ro root=/dev/md2 rhgb quiet initrd /initrd-2.6.23.1-42.fc8.img title Fedora (2.6.23.1-42.fc8) root (hd0,0) kernel /vmlinuz-2.6.23.1-42.fc8 ro root=LABEL=/ rhgb quiet initrd /initrd-2.6.23.1-42.fc8.img
|
root (hd1,0) se refiere a /dev/sdb, que ya forma parte de nuestros arreglos RAID. Reiniciaremos el sistema dentro de unos instantes; el sistema intentará arrancar desde nuestros arreglos RAID (todavía degradados); si falla, arrancará desde /dev/sda (fallback 1).
A continuación ajustamos el ramdisk a la nueva situación:
mv /boot/initrd-`uname -r`.img /boot/initrd-`uname -r`.img_orig
mkinitrd /boot/initrd-`uname -r`.img `uname -r`
Ahora copiamos el contenido de /dev/sda1 y /dev/sda3 a /dev/md0 y /dev/md2 (montados en /mnt/md0 y /mnt/md2):
cp -dpRx / /mnt/md2
cd /boot
cp -dpRx . /mnt/md0
6 Preparando GRUB (Parte 1)
Después debemos instalar el cargador GRUB en el segundo disco duro /dev/sdb:
grub
En el intérprete de GRUB, escriba los siguientes comandos:
root (hd0,0)
Salida esperada:
grub> root (hd0,0)
Filesystem type is ext2fs, partition type 0x83
grub>
setup (hd0)
Salida esperada:
grub> setup (hd0)
Checking if "/boot/grub/stage1" exists... no
Checking if "/grub/stage1" exists... yes
Checking if "/grub/stage2" exists... yes
Checking if "/grub/e2fs_stage1_5" exists... yes
Running "embed /grub/e2fs_stage1_5 (hd0)"... 16 sectors are embedded.
succeeded
Running "install /grub/stage1 (hd0) (hd0)1+16 p (hd0,0)/grub/stage2 /grub/grub.conf"... succeeded
Done.
grub>
A continuación repita en el otro disco:
root (hd1,0)
grub> root (hd1,0)
Filesystem type is ext2fs, partition type 0xfd
grub>
setup (hd1)
Salida esperada:
grub> setup (hd1)
Checking if "/boot/grub/stage1" exists... no
Checking if "/grub/stage1" exists... yes
Checking if "/grub/stage2" exists... yes
Checking if "/grub/e2fs_stage1_5" exists... yes
Running "embed /grub/e2fs_stage1_5 (hd1)"... 16 sectors are embedded.
succeeded
Running "install /grub/stage1 (hd1) (hd1)1+16 p (hd1,0)/grub/stage2 /grub/grub.conf"... succeeded
Done.
grub>
quit
Ahora, de vuelta en la shell normal, reinicie el sistema y espere que arranque correctamente desde nuestros arreglos RAID:
reboot
Lista de comprobación antes de reiniciar (admin)
- Verifique que /proc/mdstat muestra los arreglos creados y el estado esperado.
- Confirme que /etc/mdadm.conf contiene las entradas ARRAY para md0, md1, md2.
- Asegúrese de que /etc/fstab y /etc/mtab apuntan a /dev/md2 y /dev/md0 en lugar de LABEL=.
- Copie correctamente / y /boot a /mnt/md2 y /mnt/md0 respectivamente.
- Genere el initrd nuevo y guarde el original por si necesita revertir.
- Instale GRUB en ambos discos y verifique mensajes de éxito.
- Realice una copia de seguridad de archivos críticos antes de reiniciar.
Runbook breve (si el sistema no arranca desde RAID)
- Arranque desde el disco original (/dev/sda) o desde un medio de rescate.
- Monte /dev/md0 y /dev/md2 si es necesario y verifique /etc/fstab y /boot/grub/menu.lst.
- En caso de error de initrd, restaure /boot/initrd-
uname -r
.img_orig y pruebe a regenerar. - Reinstale GRUB en ambos discos con los pasos de la sección GRUB.
- Si un disco RAID falta, use mdadm –add para reincorporarlo cuando esté disponible.
Criterios de aceptación
- El sistema arranca correctamente desde /dev/md2 como raíz.
- /boot se sirve desde /dev/md0 y el sistema carga el kernel e initrd correctos.
- El estado final en /proc/mdstat muestra [UU] para los arreglos una vez sincronizados.
Mini-metodología (resumen técnico rápido)
- Crear arreglos RAID degradados usando el dispositivo existente y un placeholder missing.
- Formatear las nuevas instancias de md con los sistemas de archivos adecuados.
- Copiar datos raíz y /boot a los arreglos montados.
- Actualizar fstab/mtab para apuntar a /dev/md* en vez de etiquetas.
- Regenerar initrd y reinstalar GRUB en ambos discos para soporte de arranque redundante.
Heurística y precauciones
- Siempre tenga una copia de seguridad antes de tocar el cargador de arranque.
- Verifique la UUID en /etc/mdadm.conf si reutiliza discos en otro sistema.
- Mantenga el initrd original hasta confirmar que el nuevo arranca.
Diagrama de decisión (Mermaid)
flowchart TD
A[¿Arreglos RAID creados?] -->|No| B[Ejecutar mdadm --create]
A -->|Sí| C[¿/etc/fstab actualizado?]
C -->|No| D[Actualizar fstab y mtab]
C -->|Sí| E[Regenerar initrd]
E --> F[Instalar GRUB en ambos discos]
F --> G[Reiniciar y verificar arranque]
G --> H[¿Arranca desde /dev/md2?]
H -->|No| I[Arrancar en rescate y seguir runbook]
H -->|Sí| J[Completado]
Roles y responsabilidades (rápido)
- Administrador de sistemas: ejecutar comandos, validar mdstat, instalar GRUB.
- Operaciones/Soporte: coordinar ventanas de mantenimiento y backups.
- Auditoría/Seguridad: confirmar integridad de copias y accesos antes/después.
Notas importantes
- Importante: No elimine ni sobrescriba particiones sin confirmar la copia de seguridad.
- Nota: Los comandos mostrados suponen permisos root.
Resumen: Cree los arreglos RAID, migre los datos de / y /boot, actualice los ficheros de configuración y reinstale GRUB en ambos discos para conseguir un arranque redundante desde RAID1. Use la lista de comprobación y el runbook si necesita recuperarse.
Materiales similares

Solucionar error 0xc00000e9 en Windows

Unir vídeos con VLC: guía rápida

Solucionar Print Spooler no funcionando en Windows

Ocultar Me gusta y comentarios en la pestaña Amigos
Configurar RAID1 y GRUB en Linux
