Como hibernar máquinas virtuais do Linux
Aplica-se a: ✔️ VMs do Linux
A hibernação permite pausar as VMs que não estão sendo usadas e economizar em custos de computação. É um recurso de gerenciamento de custos efetivo para cenários como:
- Áreas de trabalho virtuais, servidores de desenvolvimento/teste e outros cenários em que as VMs não precisam ser executadas 24 horas por dia, 7 dias por semana.
- Sistemas com tempos de inicialização longos devido a aplicativos com uso intensivo de memória. Esses aplicativos podem ser inicializados em VMs e hibernados. Essas VMs "pré-aquecidas" podem ser iniciadas rapidamente quando necessário, com os aplicativos já em execução no estado desejado.
Como funciona a hibernação
Para saber como funciona a hibernação, confira a visão geral da hibernação.
Configurações com suporte
O suporte à hibernação é limitado a determinados tamanhos de VM e versões do sistema operacional. Verifique se você tem uma configuração com suporte antes de usar a hibernação.
Para ver uma lista de tamanhos de VM compatíveis com a hibernação, confira a seção de tamanhos de VM com suporte na visão geral da hibernação.
Distribuições de Linux com suporte
Os seguintes sistemas operacionais Linux dão suporte à hibernação:
- Ubuntu 22.04 LTS
- Ubuntu 20.04 LTS
- Ubuntu 18.04 LTS
- Debian 11
- Debian 10 (com kernel de backports)
- RHEL 9.0 e superior (com kernel mínimo versão 5.14.0-70)
- RHEL 8.3 e superior (com kernel mínimo versão 4.18.0.240)
Pré-requisitos e limitações de configuração
- A hibernação não tem suporte com o Início Confiável para as VMs Linux
Para ver as limitações gerais, as limitações de recursos do Azure, os tamanhos de VM com suporte e os pré-requisitos de recursos, confira a seção “Configurações com suporte” na visão geral da hibernação.
Como criar uma VM do Linux com a hibernação habilitada
Para hibernar uma VM, primeiro você deve habilitar o recurso na VM.
Para habilitar a hibernação durante a criação da VM, você pode usar o portal do Azure, a CLI, o PowerShell, os modelos do ARM e a API.
Para habilitar a hibernação no portal do Azure, marque a caixa "Habilitar hibernação" durante a criação da VM.
Depois de criar uma VM com a hibernação habilitada, você precisará configurar o sistema operacional convidado para hibernar com êxito sua VM.
Como habilitar a hibernação em uma VM existente do Linux
Para habilitar a hibernação em uma VM existente, você pode usar a CLI do Azure, o PowerShell ou a API REST. Antes de continuar, verifique se a versão do sistema operacional convidado dá suporte à hibernação no Azure. Para mais informações, confira Versões do sistema operacional com suporte.
Para habilitar a hibernação em uma VM existente usando a CLI do Azure, primeiro desaloque sua VM com az vm deallocate. Depois que a VM for desalocada, atualize o disco do sistema operacional e a VM.
Atualize o disco do sistema operacional para definir supportsHibernation como
true
. Se supportsHibernation já estiver definido comotrue
, você poderá ignorar essa etapa e prosseguir para a próxima.az disk update --resource-group myResourceGroup \ --name MyOSDisk \ --set supportsHibernation=true
Atualize a VM para habilitar a hibernação.
az vm update --resource-group myResourceGroup \ --name myVM \ --enable-hibernation true
Inicie a VM e, em seguida, prossiga para configurar a hibernação no sistema operacional convidado.
az vm start --resource-group myResourceGroup \ --name myVM \
Como configurar a hibernação no sistema operacional convidado
Depois de garantir que a configuração da VM tenha suporte, você pode habilitar a hibernação na VM do Linux usando uma destas duas opções:
Opção 1: LinuxHibernateExtension
Opção 2: hibernation-setup-tool
LinuxHibernateExtension
Observação
Se você já instalou a hibernation-setup-tool, não é necessário instalar a LinuxHibernateExtension. Esses são métodos redundantes para habilitar a hibernação em uma VM do Linux.
Quando você cria uma VM habilitada para hibernação por meio do portal do Azure, a LinuxHibernationExtension é instalada automaticamente na VM.
Se a extensão estiver ausente, você poderá instalar manualmente a LinuxHibernateExtension na sua VM Linux para configurar o sistema operacional convidado para hibernação.
Observação
No momento, as extensões do Azure estão desabilitadas por padrão para imagens do Debian. Para habilitar novamente as extensões, confira o guia de solução de problemas de hibernação do Linux.
Observação
Para o RHEL LVM, você precisará expandir o volume raiz e garantir que haja espaço suficiente disponível para criar o arquivo de permuta. Para expandir o volume, verifique o guia de expansão do disco.
Para instalar a LinuxHibernateExtension com a CLI do Azure, execute o seguinte comando:
az vm extension set -n LinuxHibernateExtension --publisher Microsoft.CPlat.Core --version 1.0 \ --vm-name MyVm --resource-group MyResourceGroup --enable-auto-upgrade true
Hibernation-setup-tool
Observação
Se você já instalou a LinuxHibernateExtension, não é necessário instalar a hibernation-setup-tool. Esses são métodos redundantes para habilitar a hibernação em uma VM do Linux.
Você pode instalar o pacote hibernation-setup-tool na sua VM Linux do repositório de software Linux da Microsoft em packages.microsoft.com.
Para usar o repositório de software do Linux, siga as instruções no repositório de pacotes do Linux para software da Microsoft.
Para usar hibernation-setup-tool nas versões do Debian e Ubuntu, abra o git bash e execute este comando:
curl -sSL https://packages.microsoft.com/keys/microsoft.asc | sudo tee etc/apt/trusted.gpg.d/microsoft.asc
sudo apt-add-repository https://packages.microsoft.com/ubuntu/20.04/prod
sudo apt-get update
Para instalar o pacote, execute esse comando no git bash:
sudo apt-get install hibernation-setup-tool
Observação
Para o RHEL LVM, você precisará expandir o volume raiz e garantir que haja espaço suficiente disponível para criar o arquivo de permuta. Para expandir o volume, verifique o guia de expansão do disco.
Depois que o pacote for instalado com êxito, o sistema operacional convidado do Linux será configurado para hibernação. Você também pode criar uma nova Imagem da Galeria de Computação do Azure a partir dessa VM e usar a imagem para criar VMs. As VMs criadas com essa imagem têm o pacote de hibernação pré-instalado, simplificando sua experiência de criação de VMs.
Hibernar uma VM
Depois que uma VM com a hibernação habilitada tiver sido criada e o sistema operacional convidado estiver configurado para hibernação, você poderá hibernar a VM por meio do portal do Azure, da CLI do Azure, do PowerShell ou da API REST.
Para hibernar uma VM no portal do Azure, clique no botão "Hibernar" na página Visão geral da VM.
Exibir o estado da VM hibernada
Para exibir o estado de uma VM no portal, verifique o 'Status' na página de visão geral. Ele deve estar como "Hibernado (desalocado)"
Iniciar VMs hibernadas
Você pode iniciar VMs hibernadas da mesma forma que iniciaria uma VM parada. Faça isso por meio do portal do Azure, da CLI do Azure, do PowerShell ou da API REST.
Para iniciar uma VM hibernada usando o portal do Azure, clique no botão "Iniciar" na página Visão geral da VM.
Implantar VMs habilitadas para hibernação da Galeria de Computação do Azure
As VMs criadas com base em imagens da Galeria de Computação também podem ser habilitadas para hibernação. Verifique se a versão do sistema operacional associada à imagem da Galeria dá suporte à hibernação no Azure. Consulte a lista de versões do OS com suporte.
Para criar VMs com a hibernação habilitada usando imagens da Galeria, primeiro você precisará criar uma nova definição de imagem com a propriedade de hibernação habilitada. Depois que essa propriedade de recurso estiver habilitada na definição de Imagem da Galeria, você poderá criar uma versão de imagem e usar essa versão de imagem para criar VMs habilitadas para hibernação.
Observação
Para imagens especializadas do Windows, o local do arquivo de página deve ser definido como unidade C: para que o Azure configure com êxito o sistema operacional convidado para hibernação. Se você estiver criando uma versão de imagem de uma VM existente, primeiro mova o arquivo de página para o disco do sistema operacional e, em seguida, use a VM como a origem da versão da imagem.
Para criar uma definição de imagem com a propriedade de hibernação habilitada, selecione a marca de seleção "Habilitar hibernação".
Implantar as VMs habilitadas para hibernação de um disco do sistema operacional
As VMs criadas a partir de discos do sistema operacional também podem ser habilitadas para hibernação. Verifique se a versão do sistema operacional associada ao disco do sistema operacional dá suporte à hibernação no Azure. Consulte a lista de versões do OS com suporte.
Para criar VMs com a hibernação habilitada usando discos do sistema operacional, verifique se o disco do sistema operacional tem a propriedade de hibernação habilitada. Consulte o exemplo de API para habilitar essa propriedade em discos do sistema operacional. Depois que a propriedade de hibernação estiver habilitada no disco do sistema operacional, você poderá criar VMs habilitadas para hibernação usando esse disco do sistema operacional.
PATCH https://management.azure.com/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/myDisk?api-version=2021-12-01
{
"properties": {
"supportsHibernation": true
}
}
Solução de problemas
Veja o guia de solução de problemas de hibernação e o guia de solução de problemas de hibernação da VM do Linux para obter mais informações.
Perguntas Frequentes
Veja as perguntas frequentes sobre hibernação para obter mais informações.