Inicio
» Cómo
»
Configuración de KVM en SLES 15: Hacer que las máquinas virtuales seleccionadas se inicien al arrancar.
Configuración de KVM en SLES 15: Hacer que las máquinas virtuales seleccionadas se inicien al arrancar.
Para que una máquina virtual SLES 15 KVM se inicie después de reiniciar el host, instale los componentes de administración KVM y libvirt, marque esa máquina virtual para que se inicie automáticamente virsh autostart VM_NAMEy asegúrese de que el demonio libvirt activo del host se inicie durante el arranque. El inicio automático es una configuración por máquina virtual; instalar KVM o iniciar libvirt por sí solo no inicia automáticamente todas las máquinas virtuales.
Los comandos que se muestran a continuación siguen la Guía de virtualización de SLES 15 SP7 de SUSE. Las versiones anteriores del Service Pack pueden diferir, por lo que conviene consultar la guía correspondiente y las unidades systemd instaladas antes de aplicar los comandos de servicio.
¿Necesitas un servidor KVM, herramientas KVM o ambas cosas?
Para un host que ejecutará y administrará máquinas virtuales a través de libvirt, instale tanto el servidor KVM como las herramientas KVM. SUSE define el servidor KVM como el entorno mínimo de QEMU/KVM y las herramientas KVM como la pila de administración basada en libvirt, que incluye el virshflujo de trabajo utilizado aquí.
Antes de la instalación, confirme que el procesador y el firmware de la máquina admiten la virtualización por hardware. SUSE documenta la compatibilidad con la CPU y el software necesario en su Guía de virtualización de SLES 15 SP7 . Si la validación informa de un problema de hardware o configuración, soluciónelo en el firmware o en la configuración del host antes de intentar definir una máquina virtual; la opción de inicio automático no puede compensar un host que no admite KVM.
Ejecute la utilidad de validación del host antes de crear las máquinas virtuales; la terminal mostrará el comando, no el resultado de la prueba.
¿Cómo se instala la pila de hosts KVM de SLES 15?
Esta ruta opcional de Zypper instala el servidor KVM documentado y los patrones de gestión de libvirt.
En un servidor ya instalado, abra YaST y seleccione Virtualización > Instalar hipervisor y herramientas . Si falta el módulo de virtualización de YaST, SUSE indica que lo proporciona el yast2-vmpaquete.
Seleccione el servidor KVM y las herramientas KVM , y luego acepte los cambios del paquete. YaST puede ofrecerle configurar un puente de red. Elija esta opción solo si se ajusta al diseño de red del host. Modificar la red de un host de producción puede interrumpir el acceso remoto, por lo que debe planificar y programar los cambios del puente antes de aplicarlos.
Una vez finalizada la configuración, cree o importe una máquina virtual y asegúrese de que esté definida como un dominio persistente de libvirt. La guía de SUSE indica que la configuración de KVM a través de YaST no requiere reiniciar el host.
Como alternativa, SUSE documenta la instalación de los patrones con Zypper: sudo zypper install -t pattern kvm_server kvm_toolsElija una ruta de instalación y revise la transacción del paquete antes de confirmarla. Si el host se instala desde cero, el rol de sistema Host de virtualización KVM instala y configura la selección adecuada durante la instalación de SLES.
¿Cómo se configura una máquina virtual para que se inicie automáticamente?
Primero, enumere los dominios a través de la conexión libvirt del sistema para que pueda usar el nombre exacto del invitado:
Enumere todos los dominios en la conexión del sistema y copie el nombre exacto de la máquina virtual antes de configurar el inicio automático.
sudo virsh -c qemu:///system list --all
Esta --allopción incluye máquinas virtuales que actualmente están apagadas. Seleccione la máquina virtual persistente deseada en la salida. A continuación, habilite el inicio automático para ese dominio:
Reemplace VM_NAME con el nombre de dominio libvirt exacto del invitado para habilitar su indicador de inicio automático.
sudo virsh autostart VM_NAME
Para deshacer la configuración posteriormente, ejecute sudo virsh autostart --disable VM_NAME. Esto no es una restauración de memoria guardada: el invitado arranca normalmente desde sus discos configurados después de que se inicie el host. Tampoco selecciona automáticamente todas las máquinas virtuales. Aplique el comando solo a los invitados que deban ejecutarse en este host.
¿Qué servicio de libvirt debe iniciarse al arrancar el sistema?
Depende de si este host SLES usa los demonios modulares de libvirt o el tradicional monolítico libvirtd. SUSE documenta que los demonios modulares están habilitados por defecto en SLES 15 SP7 y recomienda iniciar el servicio del controlador correspondiente al arrancar cuando los invitados están configurados para iniciarse automáticamente. El servicio del controlador QEMU es virtqemud.service. En una configuración monolítica, SUSE recomienda libvirtd.serviceen su lugar. No habilite ambos modos de implementación solo porque existan ambos nombres de unidad.
Verifique las unidades en su equipo anfitrión antes de cambiarlas:
Inspeccione las unidades del demonio libvirt disponibles para identificar el modo de implementación del host antes de habilitar cualquier cosa.
systemctl status virtqemud.service libvirtd.service
Si el host utiliza libvirt modular y la unidad QEMU está instalada, habilítela con:
sudo systemctl enable --now virtqemud.service
Si el host está configurado deliberadamente para el demonio monolítico, utilice este comando en su lugar:
Habilite esta unidad únicamente en un host que utilice la implementación monolítica de libvirtd; los hosts modulares utilizan su propio demonio controlador.
sudo systemctl enable --now libvirtd.service
Marcar la red libvirt predeterminada para que se inicie automáticamente solo si la máquina virtual utiliza esa red virtual.
Con libvirt modular, la gestión de redes virtuales y almacenamiento puede usar demonios de controlador o sockets separados. Si el invitado depende de una red gestionada por libvirt, haga que esa red también se inicie automáticamente; por ejemplo, SUSE documenta sudo virsh net-autostart defaultla red predefinida default. Haga esto solo cuando el invitado realmente use esa red. Un puente configurado a nivel de host no usa esta configuración de red de libvirt. Verifique la red real conectada al invitado en lugar de asumir el nombre default.
Si un invitado utiliza un disco externo o montado en red, asegúrese de que su almacenamiento de respaldo esté disponible al arrancar. SUSE señala que el estado activo de un grupo de almacenamiento libvirt no cambia la disponibilidad de los volúmenes ya conectados a los invitados, pero habilitar el inicio automático del grupo es útil cuando el grupo debe estar activo para la administración del grupo del host o para operaciones de volumen posteriores: sudo virsh pool-autostart POOL. Reemplace POOLcon el nombre real del grupo; no cree un nuevo grupo solo para configurar el inicio automático de la máquina virtual.
¿Cómo se puede verificar que la máquina virtual volverá a funcionar?
Utilice la información del dominio del invitado para comprobar su configuración de inicio automático antes de programar el reinicio del host.
Antes de reiniciar el sistema por mantenimiento programado, revise la configuración del dominio y el estado del demonio. Use este comando sudo virsh dominfo VM_NAMEpara confirmar que el inicio automático esté habilitado y systemctl is-enabled virtqemud.servicepara systemctl is-enabled libvirtd.serviceel modo de demonio que seleccionó. Si el primer comando falla porque no se encuentra la máquina virtual, asegúrese de consultar la misma conexión de libvirt en la que se creó.
Luego, realice la prueba durante una ventana de mantenimiento autorizada. Una vez que el host se reinicie, ejecute sudo virsh -c qemu:///system list --all. La máquina virtual seleccionada debería aparecer como en ejecución; confirme su red y los servicios de la máquina virtual por separado. Si permanece apagada, inspeccione los registros de arranque del demonio activo con journalctl -b -u virtqemud.serviceo journalctl -b -u libvirtd.service, según corresponda, y verifique si hay almacenamiento no disponible o una red virtual requerida. Estas condiciones dependen de la configuración del host, por lo que el registro del demonio y la configuración real del dispositivo de la máquina virtual determinarán la siguiente solución.