For the complete documentation index, see llms.txt. This page is also available as Markdown.

Las VMs de la familia RHEL 9 no arrancan después de un clon o una restauración de instantánea

Cómo solucionar fallos de arranque en VMs de la familia RHEL 9 (AlmaLinux, Rocky, CentOS Stream) después de clonar o restaurar una instantánea en VergeOS, causados por el archivo system.devices de LVM que fija los números de serie originales de los discos.

Esta guía cubre un fallo de arranque específico: una VM de la familia RHEL 9 (RHEL, AlmaLinux 9, Rocky Linux 9 o CentOS Stream 9) que arranca bien en el origen y luego falla en una instancia clonada o restaurada desde una instantánea porque el archivo system.devices de LVM ya no coincide con los números de serie de los discos de la VM. Los pasos a continuación reparan la VM desde el modo de rescate. si aún no has realizado el clon o la restauración, consulta la nota "Evitar esto en futuros clones, instantáneas o exportaciones" más abajo.

Síntomas

  • Después de restaurar una VM desde una instantánea o clonar una VM, la VM RHEL 9 no logra arrancar (pasa al modo de emergencia o se queda colgada durante el arranque)

  • En modo de rescate, vgchange -ay no muestra salida y lvdisplay no muestra nada

Resumen

RHEL 9 y sus derivados (AlmaLinux 9, Rocky Linux 9, CentOS Stream 9) usan un archivo de dispositivos de LVM en /etc/lvm/devices/system.devices que incluye explícitamente en la lista blanca los dispositivos de bloque por sus identificadores únicos — en particular, los números de serie de los discos. Durante el arranque, LVM solo considera los dispositivos enumerados en este archivo al ensamblar grupos de volúmenes. Si los números de serie que ve no coinciden con los registrados cuando se creó el archivo, LVM no activará el grupo de volúmenes raíz y la VM caerá en un shell de emergencia de dracut.

Esto significa que cualquier operación que otorgue a una VM nuevos números de serie de disco — clonar una VM con nuevos números de serie de hardware generados, o restaurar una instantánea de una manera que cambie los números de serie — hará que el proceso de arranque falle.

VergeOS 26.1.5 y posteriores

A partir de VergeOS 26.1.5, los clones de VM y las restauraciones de instantáneas conservan de forma predeterminada los números de serie originales de las unidades, eliminando la discrepancia de números de serie en la mayoría de las operaciones de clonación y restauración. Este problema afecta con mayor frecuencia a:

  • Clones o restauraciones en los que se seleccionó explícitamente la opción de generar nuevos números de serie de hardware

  • Entornos que ejecutan versiones de VergeOS anteriores a 26.1.5

Importaciones desde otro hipervisor

El mismo fallo de arranque también puede ocurrir al importar una VM desde otro hipervisor si la VM se exportó sin conservar los números de serie originales de sus dispositivos. Además, las VMs importadas pueden no arrancar debido a controladores virtio faltantes para el hardware de VergeOS. Consulta Guía para importar una VM Linux para obtener instrucciones que incluyen ajustar la configuración de la VM y regenerar el initramfs con controladores virtio.

Evitar esto en futuros clones, instantáneas o exportaciones

Si aún tienes acceso a una VM de origen que funcione, puedes evitar el fallo de arranque en futuros clones, instantáneas o exportaciones desde otro hipervisor deshabilitando el archivo de dispositivos de LVM antes de la operación. Establece use_devicesfile = 0 en /etc/lvm/lvm.conf en la invitada. LVM volverá a examinar todos los dispositivos de bloque disponibles independientemente del número de serie. El archivo de dispositivos de LVM se diseñó principalmente para hosts conectados a una estructura SAN, donde una sola máquina puede ver muchos dispositivos de bloque que no le pertenecen; en un entorno VergeOS típico, una VM solo ve los discos virtuales asignados explícitamente a ella, por lo que la protección que proporciona rara vez es necesaria. Consulta de Red Hat Limitación de la visibilidad y el uso de dispositivos de LVM para obtener más información sobre el archivo de dispositivos.

Requisitos previos

  • Acceso a la UI de VergeOS y a la consola de la VM

  • Una ISO de instalación de la familia RHEL 9 disponible en los medios de VergeOS (requerida solo si la VM no puede llegar al menú de GRUB)

Pasos

1. Arrancar en un entorno de rescate

Es probable que la VM no logre arrancar normalmente. Usa uno de los siguientes métodos para llegar a un shell funcional.

Opción A — Kernel de rescate de GRUB (preferida)

  • Enciende la VM y abre la consola en VergeOS.

  • Durante el arranque, mantén presionado Shift (BIOS) o Esc (UEFI) para acceder al menú de GRUB.

  • Seleccione Opciones avanzadas y elige la entrada del kernel de rescate .

  • Sigue cualquier indicación: si te preguntan si deseas montar el sistema de archivos raíz, selecciona Continuar.

Opción B — Arrancar desde la ISO de instalación

Si no se puede الوصول al menú de GRUB o la VM no llega tan lejos:

  • En VergeOS, adjunta una ISO de instalación de la familia RHEL 9 a la VM como unidad CD/DVD.

  • Ajusta el orden de arranque de la VM para iniciar primero desde la ISO, o usa una opción de arranque único.

  • En el menú del instalador, navega a Troubleshooting → Rescue a [distro] system.

  • Cuando se te pregunte sobre montar el sistema instalado, elige la opción 1 (montar en /mnt/sysimage).

  • Seleccione Shell para abrir un símbolo del sistema.

2. Confirmar que el disco es visible, volver a explorar y verificar los grupos de volúmenes

  • Mostrar dispositivos de bloque:

    lsblk

    Anota el nombre del dispositivo (por ejemplo, /dev/sda) y la partición LVM (por ejemplo, /dev/sda3)

  • Forzar a LVM a volver a explorar todos los dispositivos de bloque (omite el archivo de dispositivos):

    pvscan --cache vgchange -ay

  • Si la nueva exploración sigue sin mostrar nada, registra explícitamente la partición LVM:

    lvmdevices --adddev /dev/sda3 Reemplaza esto por tu partición LVM real obtenida de lsblk vgchange -ay

  • Verifica que los grupos de volúmenes sean ahora visibles

    lvdisplay

3. Montar la partición raíz y enlazar los sistemas de archivos

  • mount /dev/<device_name> /mnt Reemplaza <device_name> por tu partición raíz real (por ejemplo, sda2, mapper/vg0-root).

  • Verifica el montaje:

    ls /mnt

    Deberías ver directorios como /root, /boot, /home, /etc y /var.

  • Enlazar los sistemas de archivos:

    Usa el siguiente bucle for para enlazar los sistemas de archivos virtuales necesarios:

    for i in proc sys dev run; do mount --rbind /$i /mnt/$i; done

    O móntalos individualmente:

    mount --rbind /proc /mnt/proc mount --rbind /sys /mnt/sys mount --rbind /dev /mnt/dev mount --rbind /run /mnt/run

    Para sistemas EFI/UEFI, monta también la partición EFI:

    Reemplaza /dev/sdX1 por tu partición EFI real (compruébalo con lsblk o fdisk -l).

4. Entrar con chroot en el sistema instalado y montar sistemas de archivos adicionales

  • Cambiar el directorio raíz

    chroot /mnt

  • Después de entrar con chroot, monta cualquier partición adicional definida en fstab:

    mount -a

5. Regenerar el Initramfs

  • Reconstruye el initramfs para que tome la configuración de dispositivos depurada:

    dracut -f --regenerate-all

6. Reiniciar y verificar

  • Salir del entorno chroot:

    exit

  • Reiniciar la VM:

    reboot

  • **Verificar el arranque:** Confirma que la VM arranca correctamente y que todas las unidades aparecen como se espera.

Resolución de problemas

Recursos adicionales

¿Necesitas ayuda?

Si sigues teniendo problemas de arranque después de seguir esta guía, contacta con el soporte de VergeOS para obtener ayuda.

Última actualización

¿Te fue útil?