Compartilhar via


Solucionar problemas de hibernação em VMs do Linux

A hibernação de uma máquina virtual permite que você persista o estado da VM para o disco do SO. Este artigo descreve como solucionar problemas com o recurso de hibernação no Linux, problemas ao criar VMs do Linux habilitadas para hibernação e problemas com a hibernação de uma VM do Linux.

Para exibir o guia geral de solução de problemas para hibernação, confira Solucionar problemas de hibernação no Azure.

Não é possível hibernar uma VM do Linux

Se não for possível hibernar uma VM, primeiro verifique se a hibernação está habilitada na VM.

Se a hibernação estiver habilitada na VM, verifique se a hibernação está habilitada com êxito no sistema operacional convidado. Você pode verificar o status da extensão se usou a extensão para habilitar a hibernação no sistema operacional convidado.

Captura de tela da mensagem de status e o status informando que o provisionamento foi bem-sucedido para uma VM do Linux.

VMs do Linux convidadas não podem hibernar

Você pode verificar o status da extensão se usou a extensão para habilitar a hibernação no sistema operacional convidado.

Captura de tela da mensagem de status e o status informando que o provisionamento foi bem-sucedido em uma VM do Linux.

Se você usou a hibernation-setup-tool para configurar o convidado para hibernação, verifique se a ferramenta foi executada com êxito por meio deste comando:

systemctl status hibernation-setup-tool 

Um status bem-sucedido deve retornar "Inativo (morto)", e as mensagens de log devem dizer "Trocar arquivo para hibernação de VM configurada com êxito"

Exemplo:

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

Se o sistema operacional convidado não estiver configurado para hibernação, execute a ação apropriada para resolver o problema. Por exemplo, se o convidado não tiver configurado a hibernação devido a espaço insuficiente, redimensione o disco do sistema operacional para resolver o problema.

Extensões do Azure desabilitadas em imagens do Debian

No momento, as extensões do Azure estão desabilitadas por padrão para imagens do Debian (mais detalhes aqui: https://lists.debian.org/debian-cloud/2023/07/msg00037.html). Se você quiser habilitar a hibernação para VMs baseadas em Debian por meio da LinuxHibernationExtension, poderá reabilitar o suporte para extensões de VM por meio de dados personalizados do cloud-init:

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

Captura de tela do campo de entrada de inicialização de nuvem para novas VMs do Linux.

Como alternativa, você pode habilitar a hibernação no convidado instalando a ferramenta de instalação de hibernação em sua VM do Linux.