Guía de tecnologías

Preparar GRUB y /dev/sda para RAID1 en un sistema LVM en ejecución

6 min read Linux Actualizado 28 Sep 2025
Instalar GRUB y añadir /dev/sda a RAID1 en LVM
Instalar GRUB y añadir /dev/sda a RAID1 en LVM

Resumen rápido

  • Instala GRUB en el segundo disco (/dev/sdb) y asegúrate de hacerlo también en /dev/sda más adelante.
  • Cambia el tipo de partición de /dev/sda1 a “Linux raid autodetect” y añade /dev/sda1 a /dev/md0 con mdadm.
  • Actualiza /etc/mdadm.conf con mdadm –examine –scan y reinicia para aplicar la nueva tabla de particiones.

Preparando GRUB

A continuación instalaremos el cargador de arranque GRUB en el segundo disco duro (/dev/sdb). Desde una shell con privilegios root, ejecuta:

grub

En el intérprete de GRUB (prompt de grub), introduce los comandos siguientes tal cual:

root (hd0,0)

Salida de ejemplo en el shell de GRUB:

grub> root (hd0,0)  
root (hd0,0)  
Filesystem type is ext2fs, partition type 0x83  
grub>

Después ejecuta:

setup (hd0)

Salida de ejemplo:

grub> setup (hd0)  
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)"...  15 sectors are embedded.  
succeeded  
Running "install /grub/stage1 (hd0) (hd0)1+15 p (hd0,0)/grub/stage2 /grub/grub.conf"... succeeded  
Done.  
grub>

A continuación apunta GRUB a la otra unidad (ej. /dev/sda) desde el propio prompt de GRUB:

root (hd1,0)

Salida de ejemplo:

grub> root (hd1,0)  
root (hd1,0)  
Filesystem type is ext2fs, partition type 0xfd  
grub>

Instala en esa unidad:

setup (hd1)

Salida de ejemplo:

grub> setup (hd1)  
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)"...  15 sectors are embedded.  
succeeded  
Running "install /grub/stage1 (hd1) (hd1)1+15 p (hd1,0)/grub/stage2 /grub/grub.conf"... succeeded  
Done.  
grub>

Para salir del prompt de GRUB:

quit

De vuelta en la shell normal, reinicia para probar que el sistema arranca correctamente desde los arreglos RAID:

reboot

Important: Si estás en un sistema UEFI moderno, este procedimiento aplica a sistemas que usan GRUB legacy o compatibilidad; en instalaciones UEFI con grub2 y particiones EFI, sigue la guía específica para instalar el cargador en la partición EFI (no cubierto aquí).

Preparando /dev/sda

Si todo ha ido bien deberías ver /dev/md0 en la salida de:

df -h

Ejemplo de salida:

[root@server1 ~]# df -h  
Filesystem            Size  Used Avail Use% Mounted on  
/dev/mapper/VolGroup00-LogVol00  
8.6G  1.4G  6.8G  18% /  
/dev/md0               99M   16M   79M  17% /boot  
tmpfs                 250M     0  250M   0% /dev/shm  
[root@server1 ~]#

Comprueba el estado de los RAID con:

cat /proc/mdstat

Salida esperada (ejemplo):

[root@server1 ~]# cat /proc/mdstat  
Personalities : [raid1]  
md0 : active raid1 sdb1[1]  
104320 blocks [2/1] [_U]    
  
md1 : active raid1 sdb2[1] sda2[0]  
10377920 blocks [2/2] [UU]    
  
unused devices:   
[root@server1 ~]#

También comprueba volúmenes físicos, grupo de volúmenes y volúmenes lógicos:

pvdisplay
[root@server1 ~]# pvdisplay  
--- Physical volume ---  
PV Name               /dev/md1  
VG Name               VolGroup00  
PV Size               9.90 GB / not usable 22.69 MB  
Allocatable           yes (but full)  
PE Size (KByte)       32768  
Total PE              316  
Free PE               0  
Allocated PE          316  
PV UUID               u6IZfM-5Zj8-kFaG-YN8K-kjAd-3Kfv-0oYk7J  
  
[root@server1 ~]#
vgdisplay
[root@server1 ~]# vgdisplay  
--- Volume group ---  
VG Name               VolGroup00  
System ID  
Format                lvm2  
Metadata Areas        1  
Metadata Sequence No  9  
VG Access             read/write  
VG Status             resizable  
MAX LV                0  
Cur LV                2  
Open LV               2  
Max PV                0  
Cur PV                1  
Act PV                1  
VG Size               9.88 GB  
PE Size               32.00 MB  
Total PE              316  
Alloc PE / Size       316 / 9.88 GB  
Free  PE / Size       0 / 0  
VG UUID               ZPvC10-cN09-fI0S-Vc8l-vOuZ-wM6F-tlz0Mj  
  
[root@server1 ~]#
lvdisplay
[root@server1 ~]# lvdisplay  
--- Logical volume ---  
LV Name                /dev/VolGroup00/LogVol00  
VG Name                VolGroup00  
LV UUID                vYlky0-Ymx4-PNeK-FTpk-qxvm-PmoZ-3vcNTd  
LV Write Access        read/write  
LV Status              available  
# open                 1  
LV Size                8.88 GB  
Current LE             284  
Segments               1  
Allocation             inherit  
Read ahead sectors     auto  
- currently set to     256  
Block device           253:0  
  
--- Logical volume ---  
LV Name                /dev/VolGroup00/LogVol01  
VG Name                VolGroup00  
LV UUID                Ml9MMN-DcOA-Lb6V-kWPU-h6IK-P0ww-Gp9vd2  
LV Write Access        read/write  
LV Status              available  
# open                 1  
LV Size                1.00 GB  
Current LE             32  
Segments               1  
Allocation             inherit  
Read ahead sectors     auto  
- currently set to     256  
Block device           253:1  
  
[root@server1 ~]#

Cambiar el tipo de partición de /dev/sda1

Ahora hay que cambiar el tipo de partición de /dev/sda1 a “Linux raid autodetect” (código fd).

Ejecuta:

fdisk /dev/sda

Interacción de ejemplo (teclas y respuestas):

[root@server1 ~]# fdisk /dev/sda  
  
The number of cylinders for this disk is set to 1305.  
There is nothing wrong with that, but this is larger than 1024,  
and could in certain setups cause problems with:  
1) software that runs at boot time (e.g., old versions of LILO)  
2) booting and partitioning software from other OSs  
(e.g., DOS FDISK, OS/2 FDISK)  
  
Command (m for help): <-- t  
Partition number (1-4): <-- 1  
Hex code (type L to list codes): <-- fd  
Changed system type of partition 1 to fd (Linux raid autodetect)  
  
Command (m for help): <-- w  
The partition table has been altered!  
  
Calling ioctl() to re-read partition table.  
  
WARNING: Re-reading the partition table failed with error 16: Device or resource busy.  
The kernel still uses the old table.  
The new table will be used at the next reboot.  
Syncing disks.  
[root@server1 ~]#

Nota: fdisk puede advertir que la tabla de particiones no se ha vuelto a leer porque el dispositivo está en uso. El cambio se aplicará al reiniciar.

Añadir /dev/sda1 al RAID

Una vez cambiada la partición, añade /dev/sda1 a /dev/md0:

mdadm --add /dev/md0 /dev/sda1

Verifica el estado del RAID:

cat /proc/mdstat

Ejemplo tras añadir la partición:

[root@server1 ~]# cat /proc/mdstat  
Personalities : [raid1]  
md0 : active raid1 sda1[0] sdb1[1]  
104320 blocks [2/2] [UU]    
  
md1 : active raid1 sdb2[1] sda2[0]  
10377920 blocks [2/2] [UU]    
  
unused devices:   
[root@server1 ~]#

Actualizar /etc/mdadm.conf

Regenera la configuración de mdadm para reflejar el estado actual:

mdadm --examine --scan > /etc/mdadm.conf

Comprueba el archivo:

cat /etc/mdadm.conf

Salida esperada (ejemplo):

ARRAY /dev/md0 level=raid1 num-devices=2 UUID=0a96be0f:bf0f4631:a910285b:0f337164
ARRAY /dev/md1 level=raid1 num-devices=2 UUID=f9e691e2:8d25d314:40f42444:7dbe1da1

Reinicio final

Reinicia para que la nueva tabla de particiones se aplique y para probar que el sistema arranca desde los arreglos RAID:

reboot

Si todo está correcto el sistema debería arrancar sin problemas.

Lista de verificación rápida (SRE / Sysadmin)

  • Hacer copia de seguridad de datos críticos antes de modificar particiones o bootloader.
  • Confirmar que los dispositivos (sda/sdb) están correctamente identificados y no cambiaron de orden.
  • Instalar GRUB en ambos discos involucrados en el RAID.
  • Cambiar el tipo de partición a fd para todas las particiones RAID.
  • Añadir particiones al array con mdadm –add.
  • Ejecutar mdadm –examine –scan > /etc/mdadm.conf y revisar.
  • Reiniciar y comprobar /proc/mdstat, df -h y salida de lvm (pv/vg/lvdisplay).

Contrajemplos y cuándo falla

  • Si tu sistema usa UEFI con partición EFI, instalar GRUB en MBR tradicional puede no ser suficiente; usa las herramientas del paquete grub2-efi y monta/actualiza la partición EFI.
  • Si los discos cambian de orden durante el arranque (p. ej. sda y sdb se reenumeran), la instalación de GRUB puede apuntar al disco equivocado; usa identificadores persistentes (UUID, etiquetas) para reducir riesgos.
  • Si hay volúmenes cifrados sobre LVM, monta/abre los volúmenes antes de ejecutar comandos que inspeccionan las PV/LV.

Alternativas y variaciones

  • Usar grub-install (grub2) en lugar del prompt legacy de grub para sistemas modernos: grub-install –recheck /dev/sdX
  • En entornos de producción con UEFI: instalar el cargador en la partición EFI y usar efibootmgr para gestionar entradas de arranque.
  • Para entornos que no soportan raid autodetect en el arranque, se puede empaquetar initramfs que reconozca mdadm y active los arrays antes de montar root.

Heurísticas y reglas prácticas

  • Siempre instala el cargador en todos los discos que forman el RAID de arranque.
  • Verifica con mdadm –detail /dev/md0 si hay discrepancias en los roles (active, spare, failed).
  • Usa mdadm –monitor –mail=admin@dominio para alertas proactivas (si tu infraestructura de correo está configurada).

Playbook breve (pasos ejecutables)

  1. Copia de seguridad.
  2. Instalar GRUB en /dev/sdb: ejecutar grub y realizar setup en hd0/hd1 según corresponda.
  3. Comprobar df -h y /proc/mdstat.
  4. fdisk /dev/sda: cambiar tipo de /dev/sda1 a fd y escribir.
  5. mdadm –add /dev/md0 /dev/sda1.
  6. mdadm –examine –scan > /etc/mdadm.conf.
  7. reboot y comprobar arranque y estado de RAID.

Criterios de aceptación

  • /dev/md0 aparece en df -h y está montado como /boot (o según tu configuración).
  • /proc/mdstat muestra ambos discos como [UU] en el array objetivo.
  • pvdisplay/vgdisplay/lvdisplay reflejan los volúmenes LVM sin errores.
  • El sistema arranca con éxito después del reinicio.

Glosario de una línea

  • GRUB: cargador de arranque usado para iniciar GNU/Linux y otros sistemas.
  • RAID1: espejo de particiones entre dos (o más) discos para redundancia.
  • LVM: gestor de volúmenes lógicos que permite redimensionar y mover almacenamiento.
  • mdadm: utilidad para crear y gestionar arreglos RAID por software en Linux.
  • PV/VG/LV: volúmenes físicos, grupos de volúmenes y volúmenes lógicos en LVM.

Diagrama de decisión (flujo rápido)

flowchart TD
  A[¿Disco de arranque en RAID?] -->|sí| B{¿UEFI o BIOS?}
  B --> |BIOS| C[Instalar GRUB en ambos discos MBR]
  B --> |UEFI| D[Instalar grub2-efi en partición EFI y registrar en efibootmgr]
  A --> |no| E[Revisar diseño: quizá no necesita RAID en /boot]
  C --> F[Probar arranque y comprobar /proc/mdstat]
  D --> F
  E --> F

Notas importantes

  • Antes de modificar tablas de particiones o instalar bootloaders, asegúrate de tener un plan de recuperación y copias de seguridad.
  • Si el sistema está en producción, programa una ventana de mantenimiento y notifica a los usuarios.

Resumen final

Has completado los pasos para instalar GRUB en el segundo disco, cambiar el tipo de partición de /dev/sda1 a RAID autodetect y añadirlo a /dev/md0. Actualiza /etc/mdadm.conf y reinicia para aplicar la nueva tabla de particiones. Verifica /proc/mdstat y las herramientas LVM para confirmar que los arreglos y volúmenes están en buen estado.

Autor
Edición

Materiales similares

Descargar e instalar Windows 11 25H2
Windows

Descargar e instalar Windows 11 25H2

Corneal Key Logger: extraer PIN desde un selfie
Seguridad biométrica

Corneal Key Logger: extraer PIN desde un selfie

Arreglar touchpad que no funciona en Windows 10
Soporte técnico

Arreglar touchpad que no funciona en Windows 10

Instalar BoltWire en Ubuntu 18.04
Tutorial

Instalar BoltWire en Ubuntu 18.04

Instalar GRUB y añadir /dev/sda a RAID1 en LVM
Linux

Instalar GRUB y añadir /dev/sda a RAID1 en LVM

Desactivar notificaciones de macOS High Sierra
Soporte Mac

Desactivar notificaciones de macOS High Sierra