Configurar hibernación en Microsoft Dev Box

En este artículo, aprenderá a habilitar y deshabilitar la hibernación en Microsoft Dev Box. Puede controlar la hibernación en el nivel de definición de cuadro de desarrollo y cuadro de desarrollo.

Los cuadros de desarrollo de hibernación al final del día de trabajo pueden ayudarle a ahorrar una parte sustancial de los costos de la máquina virtual (VM). Elimina la necesidad de que los desarrolladores apaguen su caja de desarrollo y pierdan sus ventanas y aplicaciones abiertas.

Con la introducción de La hibernación de Dev Box (versión preliminar), puede habilitar esta funcionalidad en nuevos cuadros de desarrollo y hibernar y reanudarlos. Esta característica proporciona una manera cómoda de administrar los cuadros de desarrollo al tiempo que mantiene el entorno de trabajo.

Hay dos pasos para habilitar la hibernación:

  1. Habilitación de la hibernación en la imagen del cuadro de desarrollo
  2. Habilitación de la hibernación en la definición del cuadro de desarrollo

Importante

La hibernación de Dev Box está actualmente en versión preliminar. Para obtener más información sobre el estado de la versión preliminar, consulte términos de uso complementarios para las versiones preliminares de Microsoft Azure. El documento define los términos legales que se aplican a las características de Azure que se encuentran en versión beta, versión preliminar o aún no se han publicado en disponibilidad general.

Consideraciones para imágenes habilitadas para hibernación

Antes de habilitar la hibernación en el cuadro de desarrollo, revise las consideraciones siguientes para las imágenes habilitadas para hibernación.

  • Actualmente, dos SKU admiten hibernación: 8 y 16 SKU de vCPU. Actualmente, las SKU de 32 vCPU no admiten la hibernación.

  • Solo puede habilitar la hibernación en los nuevos cuadros de desarrollo creados con definiciones de cuadros de desarrollo habilitados para hibernación. No se puede habilitar la hibernación en los cuadros de desarrollo existentes.

  • Solo puede hibernar un cuadro de desarrollo mediante el portal para desarrolladores de Microsoft, la CLI de Azure, PowerShell, los SDK y la API REST. No se admite la hibernación desde dentro del cuadro de desarrollo en Windows.

  • Si trabaja con una imagen de Azure Marketplace, se recomienda usar Visual Studio para imágenes de cuadro de desarrollo.

  • La imagen Windows 11 Empresas Optimizaciones de CloudPC + OS contiene la configuración de energía optimizada y no se pueden usar con hibernación.

  • Después de habilitar la hibernación, no puede deshabilitar la característica en ese cuadro de desarrollo. Sin embargo, puede deshabilitar la compatibilidad con hibernación en la definición del cuadro de desarrollo, por lo que los cuadros de desarrollo creados en el futuro no tienen hibernación.

  • Para habilitar la hibernación, debe habilitar la virtualización anidada en el sistema operativo Windows. Si la característica "Plataforma de máquina virtual" no está habilitada en la imagen de DevBox, DevBox habilita automáticamente la virtualización anidada si decide habilitar la hibernación.

  • La hibernación no admite características de integridad de código protegida por hipervisor (HVCI)/Integridad de memoria. Dev box deshabilita esta característica automáticamente.

  • Las programaciones de detención automática siguen apagando los cuadros de desarrollo. Si quiere hibernar el cuadro de desarrollo, puede hacerlo a través del portal para desarrolladores o mediante la CLI de Azure.

    Nota:

    La funcionalidad para programar cuadros de desarrollo para hibernar automáticamente está disponible en versión preliminar. Puede registrarse para obtener la versión preliminar en Microsoft Dev Box - Auto-Hibernation Schedules Preview( Versión preliminar de programaciones de hibernación automática).

Configuración no es compatible con la hibernación

Se sabe que la configuración siguiente no es compatible con la hibernación y no se admite en escenarios de hibernación:

  • Integridad de memoria/Integridad de código del hipervisor

    Para deshabilitar la integridad de memoria o la integridad del código del hipervisor:

    1. En el menú Inicio de Windows, busque y abra Seguridad de Windows.
    2. Vaya a Seguridad del dispositivo.
    3. En Aislamiento básico, seleccione Detalles del aislamiento principal.
    4. En Integridad de memoria, establezca el botón de alternancia en Desactivado.

    Después de cambiar esta configuración, debe reiniciar la máquina.

  • Características basadas en modo virtual seguro invitado sin virtualización anidada habilitada

    Para habilitar la virtualización anidada:

    1. En la menú Inicio, busque Activar o desactivar las características de Windows.
    2. En el cuadro de diálogo, active la casilla Plataforma de máquina virtual.
    3. Seleccione Aceptar para guardar los cambios de configuración.

Habilitación de la hibernación en la imagen del cuadro de desarrollo

Si planea usar una imagen personalizada desde una galería de proceso de Azure, debe habilitar las funcionalidades de hibernación al crear la nueva imagen. No se puede habilitar la hibernación para las imágenes existentes.

Nota:

Las imágenes de Visual Studio y Microsoft 365 que proporciona Microsoft Dev Box en Azure Marketplace ya están configuradas para admitir la hibernación. No es necesario habilitar la hibernación en estas imágenes, ya están listos para usarse.

Para habilitar las funcionalidades de hibernación, establezca la IsHibernateSupported marca true en al crear la imagen:

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 

Si usa sysprep y una máquina virtual generalizada para crear una imagen personalizada, capture la imagen mediante la CLI de Azure:

az sig image-version create 
--resource-group <resourceGroupName> --gallery-name <galleryName> --gallery-image-definition <imageName> 
--gallery-image-version <versionNumber> --virtual-machine <VMResourceId>

Para más información sobre cómo crear una imagen personalizada, consulte Configuración de un cuadro de desarrollo mediante Azure VM Image Builder.

Habilitación de la hibernación en una definición de cuadro de desarrollo

En Microsoft Dev Box, puede habilitar la hibernación para una nueva definición de cuadro de desarrollo cuando la definición usa una imagen personalizada habilitada para hibernación o Azure Marketplace. También puede actualizar una definición de cuadro de desarrollo existente que use una imagen personalizada o de Azure Marketplace habilitada para hibernación.

Todos los nuevos cuadros de desarrollo creados en grupos de cuadros de desarrollo que usan una definición de cuadro de desarrollo con hibernación habilitada pueden hibernar y apagarse. Si un grupo tiene cuadros de desarrollo que se crearon antes de habilitar la hibernación, esos cuadros de desarrollo solo admiten el apagado.

Microsoft Dev Box valida la imagen para admitir hibernación. La definición del cuadro de desarrollo podría producir un error en la validación si la hibernación no se puede habilitar correctamente mediante la imagen.

Puede habilitar la hibernación en una definición de cuadro de desarrollo mediante Azure Portal o la CLI de Azure.

Habilitación de la hibernación en Azure Portal

  1. Inicie sesión en Azure Portal.

  2. En el cuadro de búsqueda, escriba centro de desarrollo. En la lista de resultados, seleccione Centros de desarrollo.

  3. Abra el centro de desarrollo que contiene la definición del cuadro de desarrollo que desea actualizar y, a continuación, seleccione Definiciones de cuadro de desarrollo.

    Screenshot that shows the dev center overview page and the menu option for dev box definitions.

  4. Seleccione la definición del cuadro de desarrollo que desea actualizar y, a continuación, seleccione el botón Editar (lápiz).

    Screenshot of the list of existing dev box definitions and the edit (pencil) button.

  5. En la página Editar definición del cuadro de desarrollo, active la casilla Habilitar hibernación .

    Screenshot of the page for editing a dev box definition, with Enable hibernation selected.

  6. Seleccione Guardar.

Habilitación de la hibernación con la CLI de Azure

Para habilitar la hibernación de la definición del cuadro de desarrollo desde la CLI de Azure, establezca la hibernateSupport marca Enabled en al crear la imagen:

az devcenter admin devbox-definition update 
--dev-box-definition-name <devBoxDefinitionName> -–dev-center-name <devCenterName> --resource-group <resourceGroupName> –-hibernateSupport Enabled

Solución de problemas

Si habilita la hibernación en una definición de Dev Box, pero la definición informa de que no se pudo habilitar la hibernación:

  • Se recomienda usar las imágenes de marketplace de Visual Studio para Dev Box, ya sea directamente o como imágenes base para generar la imagen personalizada.
  • La imagen de optimizaciones de Windows + OS contiene la configuración de energía optimizada y no se pueden usar con hibernación.
  • Si usa una imagen personalizada de Azure Compute Gallery, habilite la hibernación en la imagen de Azure Compute Gallery antes de habilitar la hibernación en la definición de Dev Box.
  • Si la hibernación no se puede habilitar en la definición incluso después de habilitarla en la imagen de la galería, es probable que la imagen personalizada tenga una configuración de Windows que impida la hibernación.

Para obtener más información, consulte Configuración no compatible con la hibernación.

Deshabilitar la hibernación en una definición de cuadro de desarrollo

Si tiene problemas para aprovisionar nuevas máquinas virtuales después de habilitar la hibernación en un grupo, puede deshabilitar la hibernación en la definición del cuadro de desarrollo. También puede deshabilitar la hibernación cuando quiera revertir la configuración a solo los cuadros de desarrollo de apagado.

Puede deshabilitar la hibernación en una definición de cuadro de desarrollo mediante Azure Portal o la CLI.

Deshabilitación de la hibernación en Azure Portal

  1. Inicie sesión en Azure Portal.

  2. En el cuadro de búsqueda, escriba centro de desarrollo. En la lista de resultados, seleccione Centros de desarrollo.

  3. Abra el centro de desarrollo que contiene la definición del cuadro de desarrollo que desea actualizar y, a continuación, seleccione Definiciones de cuadro de desarrollo.

  4. Seleccione la definición del cuadro de desarrollo que desea actualizar y, a continuación, seleccione el botón Editar (lápiz).

  5. En la página Editar definición del cuadro de desarrollo, desactive la casilla Habilitar hibernación .

  6. Seleccione Guardar.

Deshabilitación de la hibernación con la CLI de Azure

Para deshabilitar la hibernación de la definición del cuadro de desarrollo desde la CLI de Azure, establezca la hibernateSupport marca Disabled en al crear la imagen:

az devcenter admin devbox-definition update 
--dev-box-definition-name <devBoxDefinitionName> -–dev-center-name <devCenterName> --resource-group <resourceGroupName> –-hibernateSupport Disabled