Configurare l'ibernazione in Microsoft Dev Box

Questo articolo illustra come abilitare e disabilitare l'ibernazione in Microsoft Dev Box. È possibile controllare l'ibernazione a livello di definizione dell'immagine della casella di sviluppo e della casella di sviluppo.

L'ibernazione delle caselle di sviluppo alla fine del giorno lavorativo consente di risparmiare una parte sostanziale dei costi della macchina virtuale.Hibernating dev box at the end of the workday can help you save a substantial portion of your virtual machine (VM) cost. Elimina la necessità per gli sviluppatori di arrestare la propria finestra di sviluppo e perdere le finestre e le applicazioni aperte.

Con l'introduzione di Dev Box Hibernation (anteprima), è possibile abilitare questa funzionalità nei nuovi box di sviluppo e ibernarli e riprenderli. Questa funzionalità offre un modo pratico per gestire le finestre di sviluppo mantenendo l'ambiente di lavoro.

Esistono due passaggi per abilitare l'ibernazione:

  1. Abilitare l'ibernazione nell'immagine della casella di sviluppo
  2. Abilitare l'ibernazione nella definizione della casella di sviluppo

Importante

Dev Box Hibernation è attualmente disponibile in ANTEPRIMA. Per altre informazioni sullo stato di anteprima, vedere Condizioni per l'utilizzo supplementari per le anteprime di Microsoft Azure. Il documento definisce i termini legali applicabili alle funzionalità di Azure in versione beta, in anteprima o non ancora rilasciate nella disponibilità generale.

Considerazioni sulle immagini abilitate per l'ibernazione

Prima di abilitare l'ibernazione nella casella di sviluppo, esaminare le considerazioni seguenti per le immagini abilitate per l'ibernazione.

  • Attualmente due SKU supportano l'ibernazione: 8 e 16 SKU vCPU. Attualmente, 32 SKU vCPU non supportano l'ibernazione.

  • È possibile abilitare l'ibernazione solo nelle nuove caselle di sviluppo create con definizioni di box di sviluppo abilitate per l'ibernazione. Non è possibile abilitare l'ibernazione nelle caselle di sviluppo esistenti.

  • È possibile ibernare una casella di sviluppo solo usando il portale per sviluppatori Microsoft, l'interfaccia della riga di comando di Azure, PowerShell, gli SDK e l'API REST. L'ibernazione dall'interno della casella di sviluppo in Windows non è supportata.

  • Se si usa un'immagine di Azure Marketplace, è consigliabile usare le immagini della casella di sviluppo di Visual Studio per sviluppatori.

  • L'immagine Windows 11 Enterprise CloudPC + Ottimizzazione del sistema operativo contiene impostazioni di risparmio energia ottimizzate e non possono essere usate con l'ibernazione.

  • Dopo aver abilitato l'ibernazione, non è possibile disabilitare la funzionalità in tale casella di sviluppo. Tuttavia, è possibile disabilitare il supporto di ibernazione nella definizione della casella di sviluppo in modo che le caselle di sviluppo create in futuro non abbiano ibernazione.

  • Per abilitare l'ibernazione, è necessario abilitare la virtualizzazione annidata nel sistema operativo Windows. Se la funzionalità "Virtual Machine Platform" non è abilitata nell'immagine DevBox, DevBox abilita automaticamente la virtualizzazione annidata se si sceglie di abilitare l'ibernazione.

  • L'ibernazione non supporta le funzionalità di integrità del codice protetto dall'hypervisor (HVCI)/Integrità della memoria. La casella di sviluppo disabilita automaticamente questa funzionalità.

  • Le pianificazioni di arresto automatico arrestano ancora le caselle di sviluppo. Se si vuole ibernare la casella di sviluppo, è possibile eseguire questa operazione tramite il portale per sviluppatori o usando l'interfaccia della riga di comando di Azure.

    Nota

    La funzionalità per pianificare l'ibernazione automatica delle caselle di sviluppo è disponibile in anteprima. È possibile iscriversi all'anteprima in Microsoft Dev Box - Auto-Hibernation Schedules Preview.

Impostazioni non compatibile con l'ibernazione

Le impostazioni seguenti sono note come incompatibili con l'ibernazione e non sono supportate per gli scenari di ibernazione:

  • Integrità della memoria/Integrità del codice hypervisor

    Per disabilitare l'integrità della memoria/l'integrità del codice hypervisor:

    1. In Windows menu Start trovare e aprire Sicurezza di Windows.
    2. Passare a Sicurezza del dispositivo.
    3. In Isolamento principale selezionare Dettagli isolamento core
    4. In Integrità memoria impostare l'interruttore su Disattivato.

    Dopo aver modificato questa impostazione, è necessario riavviare il computer.

  • Funzionalità basate sulla modalità sicura virtuale guest senza virtualizzazione annidata abilitata

    Per abilitare la virtualizzazione annidata:

    1. Nella menu Start cercare Attiva o disattiva le funzionalità di Windows.
    2. Nella finestra di dialogo selezionare la casella di controllo Piattaforma macchina virtuale.
    3. Selezionare OK per salvare le modifiche alle impostazioni.

Abilitare l'ibernazione nell'immagine della casella di sviluppo

Se si prevede di usare un'immagine personalizzata da una raccolta di calcolo di Azure, è necessario abilitare le funzionalità di ibernazione quando si crea la nuova immagine. Non è possibile abilitare l'ibernazione per le immagini esistenti.

Nota

Le immagini di Visual Studio e Microsoft 365 fornite da Microsoft Dev Box in Azure Marketplace sono già configurate per supportare l'ibernazione. Non è necessario abilitare l'ibernazione su queste immagini, ma sono pronte per l'uso.

Per abilitare le funzionalità di ibernazione, impostare il IsHibernateSupported flag su true quando si crea l'immagine:

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 si usa sysprep e una macchina virtuale generalizzata per creare un'immagine personalizzata, acquisire l'immagine usando l'interfaccia della riga di comando di Azure:

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

Per altre informazioni sulla creazione di un'immagine personalizzata, vedere Configurare una casella di sviluppo usando Image Builder di macchine virtuali di Azure.

Abilitare l'ibernazione in una definizione di dev box

In Microsoft Dev Box è possibile abilitare l'ibernazione per una nuova definizione della casella di sviluppo quando la definizione usa un'immagine personalizzata abilitata per l'ibernazione o Azure Marketplace. È anche possibile aggiornare una definizione di finestra di sviluppo esistente che usa un'immagine personalizzata o di Azure Marketplace abilitata per l'ibernazione.

Tutte le nuove finestre di sviluppo create nei pool di dev box che usano una definizione di dev box con ibernazione abilitata possono sia ibernare che arrestare. Se un pool dispone di finestre di sviluppo create prima dell'abilitazione dell'ibernazione, tali caselle di sviluppo continuano a supportare solo l'arresto.

Microsoft Dev Box convalida l'immagine per il supporto di ibernazione. La definizione della casella di sviluppo potrebbe non riuscire a convalidare se l'ibernazione non può essere abilitata correttamente usando l'immagine.

È possibile abilitare l'ibernazione in una definizione di dev box usando il portale di Azure o l'interfaccia della riga di comando di Azure.

Abilitare l'ibernazione nella portale di Azure

  1. Accedere al portale di Azure.

  2. Nella casella di ricerca immettere dev center. Nell'elenco dei risultati selezionare Dev Center.

  3. Aprire il dev center che contiene la definizione della casella di sviluppo che si vuole aggiornare e quindi selezionare Definizioni casella di sviluppo.

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

  4. Selezionare la definizione della casella di sviluppo da aggiornare e quindi selezionare il pulsante modifica (matita).

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

  5. Nella pagina Modifica definizione della casella di sviluppo selezionare la casella di controllo Abilita ibernazione .

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

  6. Seleziona Salva.

Abilitare l'ibernazione con l'interfaccia della riga di comando di Azure

Per abilitare l'ibernazione per la definizione della casella di sviluppo dall'interfaccia della riga di comando di Azure, impostare il hibernateSupport flag su Enabled quando si crea l'immagine:

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

Risoluzione dei problemi

Se si abilita l'ibernazione in una definizione di Dev Box, ma la definizione segnala che non è stato possibile abilitare l'ibernazione:

  • È consigliabile usare le immagini del marketplace di Visual Studio per Dev Box, direttamente o come immagini di base per generare l'immagine personalizzata.
  • L'immagine ottimizzazioni di Windows e sistema operativo contiene impostazioni di risparmio energia ottimizzate e non possono essere usate con l'ibernazione.
  • Se si usa un'immagine personalizzata della raccolta di calcolo di Azure, abilitare l'ibernazione nell'immagine della raccolta di calcolo di Azure prima di abilitare l'ibernazione nella definizione di Dev Box.
  • Se l'ibernazione non può essere abilitata nella definizione anche dopo averla abilitata nell'immagine della raccolta, è probabile che l'immagine personalizzata abbia una configurazione di Windows che impedisce l'ibernazione.

Per altre informazioni, vedere Impostazioni non compatibile con l'ibernazione.

Disabilitare l'ibernazione in una definizione di dev box

Se si verificano problemi durante il provisioning di nuove macchine virtuali dopo aver abilitato l'ibernazione in un pool, è possibile disabilitare l'ibernazione nella definizione della casella di sviluppo. È anche possibile disabilitare l'ibernazione quando si desidera ripristinare l'impostazione in modo da arrestare solo le caselle di sviluppo.

È possibile disabilitare l'ibernazione in una definizione di dev box usando il portale di Azure o l'interfaccia della riga di comando.

Disabilitare l'ibernazione nel portale di Azure

  1. Accedere al portale di Azure.

  2. Nella casella di ricerca immettere dev center. Nell'elenco dei risultati selezionare Dev Center.

  3. Aprire il dev center che contiene la definizione della casella di sviluppo che si vuole aggiornare e quindi selezionare Definizioni casella di sviluppo.

  4. Selezionare la definizione della casella di sviluppo da aggiornare e quindi selezionare il pulsante modifica (matita).

  5. Nella pagina Modifica definizione casella di sviluppo deselezionare la casella di controllo Abilita ibernazione .

  6. Seleziona Salva.

Disabilitare l'ibernazione con l'interfaccia della riga di comando di Azure

Per disabilitare l'ibernazione per la definizione della casella di sviluppo dall'interfaccia della riga di comando di Azure, impostare il hibernateSupport flag su Disabled quando si crea l'immagine:

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