Compartir vía


Solucionar problemas de hibernación en máquinas virtuales Linux

La hibernación de una máquina virtual permite conservar el estado de la máquina virtual en el disco del sistema operativo. En este artículo se describe cómo solucionar problemas con la característica de hibernación en Linux, problemas al crear máquinas virtuales Linux habilitadas para la hibernación y problemas con la hibernación de una máquina virtual Linux.

Para ver la guía general de solución de problemas de hibernación, consulte Solucionar problemas de hibernación en Azure.

No se puede hibernar una máquina virtual Linux

Si no puede hibernar una máquina virtual, compruebe primero si la hibernación está habilitada en la máquina virtual.

Si la hibernación está habilitada en la máquina virtual, compruebe si la hibernación está habilitada correctamente en el sistema operativo invitado. Puede comprobar el estado de la extensión si usó la extensión para habilitar la hibernación en el sistema operativo invitado.

Captura de pantalla del estado y mensaje de estado informando de que el aprovisionamiento se ha realizado correctamente para una máquina virtual Linux.

Las máquinas virtuales Linux invitadas no pueden hibernar

Puede comprobar el estado de la extensión si usó la extensión para habilitar la hibernación en el sistema operativo invitado.

Captura de pantalla del estado y mensaje de estado informando de que el aprovisionamiento se ha realizado correctamente en una máquina virtual Linux.

Si usó la herramienta hibernation-setup-tool para configurar el invitado para la hibernación, puede comprobar si la herramienta se ejecutó correctamente mediante este comando:

systemctl status hibernation-setup-tool 

Un estado correcto debe devolver "Inactivo" y los mensajes de registro deben indicar "Archivo de intercambio para la hibernación de máquinas virtuales configurado correctamente".

Ejemplo:

azureuser@:~$ systemctl status hibernation-setup-tool
● hibernation-setup-tool.service - Hibernation Setup Tool
   Loaded: loaded (/lib/systemd/system/hibernation-setup-tool.service; enabled; vendor preset: enabled)
   Active: inactive (dead) since Wed 2021-08-25 22:44:29 UTC; 17min ago
  Process: 1131 ExecStart=/usr/sbin/hibernation-setup-tool (code=exited, status=0/SUCCESS)
 Main PID: 1131 (code=exited, status=0/SUCCESS)

linuxhib2 hibernation-setup-tool[1131]: INFO: update-grub2 finished successfully.
linuxhib2 hibernation-setup-tool[1131]: INFO: udev rule to hibernate with systemd set up in /etc/udev/rules.d/99-vm-hibernation.rules.  Telling udev about it.
...
...
linuxhib2 hibernation-setup-tool[1131]: INFO: systemctl finished successfully.
linuxhib2 hibernation-setup-tool[1131]: INFO: Swap file for VM hibernation set up successfully

Si el sistema operativo invitado no está configurado para la hibernación, realice la acción adecuada para resolver el problema. Por ejemplo, si el invitado no pudo configurar la hibernación debido a un espacio insuficiente, cambie el tamaño del disco del sistema operativo para resolver el problema.

Extensiones de Azure deshabilitadas en imágenes de Debian

Las extensiones de Azure están deshabilitadas actualmente de forma predeterminada para las imágenes de Debian (más detalles aquí: https://lists.debian.org/debian-cloud/2023/07/msg00037.html). Si desea habilitar la hibernación para máquinas virtuales basadas en Debian mediante LinuxHibernationExtension, puede volver a habilitar la compatibilidad con las extensiones de máquina virtual a través de datos personalizados de cloud-init:

#!/bin/sh
sed -i -e 's/^Extensions\.Enabled =.* $/Extensions.Enabled=y/" /etc/waagent.conf

Captura de pantalla del campo de entrada de inicialización en la nube para nuevas máquinas virtuales Linux.

Como alternativa, puede habilitar la hibernación en el invitado mediante la instalación de la herramienta hibernation-setup-tool en la máquina virtual Linux.