Guía de tecnologías

Preparar GRUB y /dev/sda en RAID1 con LVM

3 min read Linux Actualizado 27 Sep 2025
GRUB y /dev/sda en RAID1 con LVM
GRUB y /dev/sda en RAID1 con LVM

1 Preparar GRUB

Después debemos instalar el cargador de arranque GRUB en el segundo disco duro /dev/sdb:

grub

En el intérprete de GRUB, ejecute los siguientes comandos:

root (hd0,0)

Salida de ejemplo del shell de GRUB:

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

A continuación instale en el primer disco (hd0):

setup (hd0)

Ejemplo de la sesión de instalación:

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>

Repita para el segundo disco (hd1):

root (hd1,0)

Salida ejemplo:

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

Instale en el segundo disco:

setup (hd1)

Salida de ejemplo:

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>

Salga del intérprete de GRUB:

quit

De vuelta en la consola normal, reinicie el sistema y compruebe que arranca desde los arreglos RAID:

reboot

Importante: si el sistema no arranca, use un medio de rescate para reinstalar o reparar GRUB en ambos discos. Asegúrese de que las entradas de grub.conf (o grub.cfg) apunten a los dispositivos LVM correctos.

2 Verificar RAID y LVM

Si todo fue bien, ahora debería ver /dev/md0 en la salida de:

df -h

Ejemplo:

[root@server1 ~]# df -h  
Filesystem            Size  Used Avail Use% Mounted on  
/dev/mapper/VolGroup00-LogVol00  
                      4.1G  2.0G  1.9G  51% /  
/dev/md0              190M   16M  165M   9% /boot  
tmpfs                 151M     0  151M   0% /dev/shm  
[root@server1 ~]#

Compruebe el estado del RAID:

cat /proc/mdstat

Salida esperada:

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

Revise las salidas de pvdisplay, vgdisplay y lvdisplay para confirmar el estado de LVM:

pvdisplay
[root@server1 ~]# pvdisplay  
  --- Physical volume ---  
  PV Name               /dev/md1  
  VG Name               VolGroup00  
  PV Size               4.80 GB / not usable 22.25 MB  
  Allocatable           yes  
  PE Size (KByte)       32768  
  Total PE              153  
  Free PE               1  
  Allocated PE          152  
  PV UUID               pS3xiy-AEnZ-p3Wf-qY2D-cGus-eyGl-03mWyg  
  
[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               4.78 GB  
  PE Size               32.00 MB  
  Total PE              153  
  Alloc PE / Size       152 / 4.75 GB  
  Free  PE / Size       1 / 32.00 MB  
  VG UUID               jJj1DQ-SvKY-6hdr-3MMS-8NOd-pb3l-lS7TA1  
  
[root@server1 ~]#
lvdisplay
[root@server1 ~]# lvdisplay  
  --- Logical volume ---  
  LV Name                /dev/VolGroup00/LogVol00  
  VG Name                VolGroup00  
  LV UUID                yt5b4f-m2XC-F3aP-032r-ulAT-Re5P-lmh6hy  
  LV Write Access        read/write  
  LV Status              available  
  # open                 1  
  LV Size                4.16 GB  
  Current LE             133  
  Segments               1  
  Allocation             inherit  
  Read ahead sectors     0  
  Block device           253:0  
  
  --- Logical volume ---  
  LV Name                /dev/VolGroup00/LogVol01  
  VG Name                VolGroup00  
  LV UUID                VrPqpP-40ym-55Gs-ShVm-Hlzs-Jzot-oYnonY  
  LV Write Access        read/write  
  LV Status              available  
  # open                 1  
  LV Size                608.00 MB  
  Current LE             19  
  Segments               1  
  Allocation             inherit  
  Read ahead sectors     0  
  Block device           253:1  
  
[root@server1 ~]#

3 Cambiar tipo de partición y añadir /dev/sda1

Ahora debemos cambiar el tipo de partición de /dev/sda1 a “Linux raid autodetect”:

fdisk /dev/sda

Ejemplo de sesión interactiva (las entradas entre flechas indican lo que teclea el usuario):

[root@server1 ~]# fdisk /dev/sda  
  
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 ~]#

A continuación añada /dev/sda1 al arreglo /dev/md0:

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

Verifique de nuevo el estado del RAID:

cat /proc/mdstat

Salida esperada tras añadir la unidad:

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

4 Actualizar mdadm.conf y reiniciar

Actualice /etc/mdadm.conf con la configuración actual del sistema:

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

Compruebe /etc/mdadm.conf:

cat /etc/mdadm.conf

Ejemplo de contenido:

ARRAY /dev/md0 level=raid1 num-devices=2 UUID=7d2bf9c3:7cd9df21:f782dab8:9212d7cb
ARRAY /dev/md1 level=raid1 num-devices=2 UUID=d93a2387:6355b5c5:25ed3e50:2a0e4f96

Por último, reinicie el sistema:

reboot

Debería arrancar sin problemas.

Criterios de verificación

  • El sistema debe arrancar desde el RAID sin intervención manual.
  • /dev/md0 debe aparecer en df -h montado en /boot.
  • cat /proc/mdstat debe mostrar [UU] para md0 y md1.
  • pvdisplay, vgdisplay y lvdisplay deben reportar el estado “available” y tamaños esperados.

Lista de comprobación rápida (playbook)

  • Hacer copia de seguridad de grub.conf o grub.cfg y /etc/mdadm.conf.
  • Instalar GRUB en ambos discos (hd0 y hd1).
  • Verificar /proc/mdstat y df -h.
  • Cambiar tipo de partición con fdisk a fd.
  • Añadir /dev/sda1 a /dev/md0 con mdadm –add.
  • Regenerar /etc/mdadm.conf.
  • Reiniciar y verificar arranque.

Mini-metodología

  1. Preparar: confirmar estado actual de RAID y LVM.
  2. Instalar GRUB en cada disco para tolerancia a fallos.
  3. Sincronizar particiones RAID y LVM.
  4. Probar reinicio y validar integridad del sistema.

Glosario en una línea

  • RAID1: espejo de discos para redundancia.
  • LVM: gestor de volúmenes lógicos que permite redimensionar volúmenes y abstraer discos.
  • mdadm: herramienta para gestionar arreglos RAID en Linux.

Resumen: has instalado GRUB en ambos discos, confirmado md0 y LVM, cambiado el tipo de partición de /dev/sda1, añadido la partición al RAID y actualizado /etc/mdadm.conf. Reinicia y verifica que el sistema arranca desde el RAID.

Autor
Edición

Materiales similares

Podman en Debian 11: instalación y uso
DevOps

Podman en Debian 11: instalación y uso

Apt-pinning en Debian: guía práctica
Sistemas

Apt-pinning en Debian: guía práctica

OptiScaler: inyectar FSR 4 en casi cualquier juego
Guía técnica

OptiScaler: inyectar FSR 4 en casi cualquier juego

Dansguardian + Squid NTLM en Debian Etch
Redes

Dansguardian + Squid NTLM en Debian Etch

Arreglar error de instalación Android en SD
Android

Arreglar error de instalación Android en SD

Conectar carpetas de red con KNetAttach
Redes

Conectar carpetas de red con KNetAttach