Configurar a hibernação no Microsoft Dev Box
Neste artigo, você aprenderá a habilitar e desabilitar a hibernação no Microsoft Dev Box. Você controla a hibernação na imagem da caixa de desenvolvimento e no nível de definição da caixa de desenvolvimento.
Hibernar caixas de desenvolvimento no final do dia de trabalho pode ajudá-lo a economizar uma parte substancial dos custos da máquina virtual (VM). Ele elimina a necessidade de os desenvolvedores desligarem sua caixa de desenvolvimento e perderem suas janelas e aplicativos abertos.
Com a introdução da Hibernação da Caixa de Desenvolvimento (Visualização), você pode habilitar esse recurso em novas caixas de desenvolvimento e hiberná-las e retomá-las. Esse recurso fornece uma maneira conveniente de gerenciar suas caixas de desenvolvimento enquanto mantém seu ambiente de trabalho.
Há três etapas para habilitar a hibernação:
- Ativar a hibernação na imagem da caixa de desenvolvimento
- Ativar a hibernação na definição da caixa de desenvolvimento
- Automatize a hibernação de pools de caixas de desenvolvimento usando agendamentos de parada automática ou pare na desconexão RDP.
Importante
A Hibernação da Caixa de Desenvolvimento está atualmente em pré-visualização. Para obter mais informações sobre o status da visualização, consulte os Termos de Uso Suplementares para Visualizações do Microsoft Azure. O documento define termos legais que se aplicam aos recursos do Azure que estão em versão beta, visualização ou ainda não lançados em disponibilidade geral.
Considerações para imagens habilitadas para hibernação
Antes de habilitar a hibernação na caixa de desenvolvimento, revise as considerações a seguir para imagens habilitadas para hibernação.
Atualmente, dois SKUs suportam hibernação: 8 e 16 SKUs vCPU. Atualmente, 32 SKUs vCPU não suportam hibernação.
Você pode habilitar a hibernação somente em novas caixas de desenvolvimento criadas com definições de caixa de desenvolvimento habilitadas para hibernação. Não é possível ativar a hibernação em caixas de desenvolvimento existentes.
Você pode hibernar uma caixa de desenvolvimento somente usando o portal do desenvolvedor da Microsoft, a CLI do Azure, o PowerShell, os SDKs e a API REST. Não há suporte para hibernação de dentro da caixa de desenvolvimento no Windows.
Se você estiver trabalhando com uma imagem do Azure Marketplace, recomendamos usar o Visual Studio para imagens de caixa de desenvolvimento.
A imagem Otimizações do Windows 11 Enterprise CloudPC + OS contém configurações de energia otimizadas e elas não podem ser usadas com hibernação.
Depois de ativar a hibernação, não é possível desativar o recurso nessa caixa de desenvolvimento. No entanto, você pode desativar o suporte à hibernação na definição da caixa de desenvolvimento para que as caixas de desenvolvimento criadas no futuro não tenham hibernação.
Para habilitar a hibernação, você precisa habilitar a virtualização aninhada em seu sistema operacional Windows. Se o recurso "Plataforma de Máquina Virtual" não estiver habilitado na imagem do DevBox, o DevBox habilitará automaticamente a virtualização aninhada para você se você optar por habilitar a hibernação.
A hibernação não suporta recursos de integridade de código protegido por hipervisor (HVCI)/integridade da memória. A caixa de desenvolvimento desativa esse recurso automaticamente.
As agendas de parada automática hibernam as Caixas de Desenvolvimento que foram criadas depois que você ativou a hibernação na definição de Caixa de Desenvolvimento associada. As Caixas de Desenvolvimento que foram criadas antes de ativar a hibernação na definição de Caixa de Desenvolvimento continuarão a ser encerradas.
Nota
A funcionalidade para agendar caixas de desenvolvimento para hibernar automaticamente está disponível como uma visualização pública. Você pode ler mais sobre o anúncio em Microsoft Dev Box - Auto-Hibernation Schedules Preview.
Configurações não compatíveis com hibernação
As seguintes configurações são conhecidas por serem incompatíveis com a hibernação e não são suportadas para cenários de hibernação:
Integridade da memória/integridade do código do hipervisor
Para desativar a Integridade da Memória/Integridade do Código do Hipervisor:
- No menu Iniciar do Windows, localize e abra Segurança do Windows.
- Vá para Segurança do dispositivo.
- Em Isolamento Principal, selecione Detalhes do Isolamento Principal
- Em Integridade da memória, defina a alternância como Desativado.
Depois de alterar essa configuração, você precisa reiniciar o computador.
Recursos baseados no Modo Seguro Virtual Convidado sem a Virtualização Aninhada habilitada
Para habilitar a virtualização aninhada:
- No menu Iniciar, procure Ativar ou desativar funcionalidades do Windows.
- Na caixa de diálogo, marque a caixa de seleção Plataforma de Máquina Virtual.
- Selecione OK para salvar as alterações de configuração.
Ativar a hibernação na imagem da caixa de desenvolvimento
Se você planeja usar uma imagem personalizada de uma galeria de computação do Azure, precisará habilitar os recursos de hibernação ao criar a nova imagem. Não é possível ativar a hibernação para imagens existentes.
Nota
As imagens do Visual Studio e do Microsoft 365 que o Microsoft Dev Box fornece no Azure Marketplace já estão configuradas para suportar a hibernação. Você não precisa ativar a hibernação nessas imagens, elas estão prontas para uso.
Para habilitar os recursos de hibernação, defina o IsHibernateSupported
sinalizador como true
quando você criar a imagem:
az sig image-definition create
--resource-group <resourceGroupName> --gallery-name <galleryName> --gallery-image-definition <imageName> --location <location>
--publisher <publisherName> --offer <offerName> --sku <skuName> --os-type windows --os-state Generalized
--features "IsHibernateSupported=true SecurityType=TrustedLaunch" --hyper-v-generation V2
Se você estiver usando sysprep e uma VM generalizada para criar uma imagem personalizada, capture sua imagem usando a CLI do Azure:
az sig image-version create
--resource-group <resourceGroupName> --gallery-name <galleryName> --gallery-image-definition <imageName>
--gallery-image-version <versionNumber> --virtual-machine <VMResourceId>
Para obter mais informações sobre como criar uma imagem personalizada, consulte Configurar uma caixa de desenvolvimento usando o Azure VM Image Builder.
Habilitar a hibernação em uma definição de caixa de desenvolvimento
No Microsoft Dev Box, você pode habilitar a hibernação para uma nova definição de caixa de desenvolvimento quando a definição usa uma imagem personalizada habilitada para hibernação ou do Azure Marketplace. Você também pode atualizar uma definição de caixa de desenvolvimento existente que usa uma imagem personalizada habilitada para hibernação ou do Azure Marketplace.
Todas as novas caixas de desenvolvimento criadas em pools de caixas de desenvolvimento que usam uma definição de caixa de desenvolvimento com hibernação habilitada podem hibernar e desligar. Se um pool tiver caixas de desenvolvimento criadas antes da hibernação ser habilitada, essas caixas de desenvolvimento continuarão a oferecer suporte apenas ao desligamento.
Microsoft Dev Box valida sua imagem para suporte de hibernação. Sua definição de caixa de desenvolvimento pode falhar na validação se a hibernação não puder ser ativada com êxito usando sua imagem.
Você pode habilitar a hibernação em uma definição de caixa de desenvolvimento usando o portal do Azure ou a CLI do Azure.
Habilitar a hibernação no portal do Azure
Inicie sessão no portal do Azure.
Na caixa de pesquisa, digite centro de desenvolvimento. Na lista de resultados, selecione Centros de desenvolvimento.
Abra o centro de desenvolvimento que contém a definição de caixa de desenvolvimento que você deseja atualizar e selecione Definições de caixa de desenvolvimento.
Selecione a definição da caixa de desenvolvimento que pretende atualizar e, em seguida, selecione o botão de edição (lápis).
Na página Editar definição da caixa de desenvolvimento, marque a caixa de seleção Habilitar hibernação.
Selecione Guardar.
Habilitar a hibernação com a CLI do Azure
Para habilitar a hibernação para a definição da caixa de desenvolvimento da CLI do Azure, defina o hibernateSupport
sinalizador como Enabled
quando você cria a imagem:
az devcenter admin devbox-definition update
--dev-box-definition-name <devBoxDefinitionName> -–dev-center-name <devCenterName> --resource-group <resourceGroupName> –-hibernateSupport Enabled
Resolução de Problemas
Se você habilitar a hibernação em uma definição de Caixa de Desenvolvimento, mas a definição informar que a hibernação não pôde ser habilitada:
- Recomendamos usar as imagens do mercado Visual Studio for Dev Box, diretamente ou como imagens base para gerar sua imagem personalizada.
- A imagem de otimizações do Windows + OS contém configurações de energia otimizadas e elas não podem ser usadas com hibernação.
- Se você estiver usando uma imagem personalizada da Galeria de Computação do Azure, habilite a hibernação na imagem da Galeria de Computação do Azure antes de habilitar a hibernação na definição da Caixa de Desenvolvimento.
- Se a hibernação não puder ser ativada na definição, mesmo depois de ativá-la na imagem da galeria, é provável que a imagem personalizada tenha uma configuração do Windows que impeça a hibernação.
Para obter mais informações, consulte Configurações não compatíveis com hibernação.
Desativar a hibernação em uma definição de caixa de desenvolvimento
Se você tiver problemas para provisionar novas VMs depois de habilitar a hibernação em um pool, poderá desabilitar a hibernação na definição da caixa de desenvolvimento. Você também pode desativar a hibernação quando quiser reverter a configuração para apenas caixas de desenvolvimento de desligamento.
Você pode desabilitar a hibernação em uma definição de caixa de desenvolvimento usando o portal do Azure ou a CLI.
Desabilitar a hibernação no portal do Azure
Inicie sessão no portal do Azure.
Na caixa de pesquisa, digite centro de desenvolvimento. Na lista de resultados, selecione Centros de desenvolvimento.
Abra o centro de desenvolvimento que contém a definição de caixa de desenvolvimento que você deseja atualizar e selecione Definições de caixa de desenvolvimento.
Selecione a definição da caixa de desenvolvimento que pretende atualizar e, em seguida, selecione o botão de edição (lápis).
Na página Editar definição da caixa de desenvolvimento, desmarque a caixa de seleção Habilitar hibernação.
Selecione Guardar.
Desabilitar a hibernação com a CLI do Azure
Para desabilitar a hibernação para a definição da caixa de desenvolvimento da CLI do Azure, defina o hibernateSupport
sinalizador como Disabled
quando você criar a imagem:
az devcenter admin devbox-definition update
--dev-box-definition-name <devBoxDefinitionName> -–dev-center-name <devCenterName> --resource-group <resourceGroupName> –-hibernateSupport Disabled