Condividi tramite


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 dell'immagine della casella di sviluppo e della definizione 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 (VM). 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à nelle nuove caselle di sviluppo quindi ibernarle e riprenderle. Questa funzionalità offre un modo pratico per gestire le finestre di sviluppo mantenendo l'ambiente di lavoro.

Esistono tre 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
  3. Automatizzare l'ibernazione dei pool di caselle di sviluppo usando pianificazioni di arresto automatico o arresto in caso di disconnessione RDP.

Importante

Dev Box Hibernation è attualmente in ANTEPRIMA. Per altre informazioni sulle anteprime, 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 CPU virtuale. Attualmente, 32 SKU CPU virtuale non supportano l'ibernazione.

  • È possibile abilitare l'ibernazione solo nelle nuove caselle di sviluppo create con definizioni di caselle 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 lavora con un'immagine di Azure Marketplace, è consigliabile usare le immagini della casella di sviluppo di Visual Studio.

  • L'immagine Windows 11 Enterprise CloudPC + ottimizzazione del sistema operativo contiene impostazioni di risparmio energia ottimizzate che 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 ibernano le caselle di sviluppo create dopo aver abilitato l'ibernazione sulla definizione di casella di sviluppo associata. Le finestre di sviluppo create prima di aver abilitato l'ibernazione sulla definizione di casella di sviluppo continueranno a essere arrestate.

    Nota

    La funzionalità per pianificare l'ibernazione automatica delle caselle di sviluppo è disponibile come anteprima pubblica. Per altre informazioni sull'annuncio, vedere Microsoft Dev Box - Auto-Hibernation Schedules Preview (Microsoft Dev Box - Anteprima pianificazioni di ibernazione automatica).

Impostazioni non compatibili 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. Nel menu Start di Windows trovare e aprire Sicurezza di Windows.
    2. Passare a Sicurezza del dispositivo.
    3. In Isolamento memoria centrale, seleziona Dettagli isolamento memoria centrale
    4. In Integrità memoria, impostare l'interruttore su Off.

    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. Nel 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 casella di sviluppo

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 caselle di sviluppo che usano una definizione di casella di sviluppo con ibernazione abilitata possono sia ibernare che arrestare. Se un pool dispone di caselle 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 all’ibernazione. La tua definizione della casella di sviluppo potrebbe non riuscire a convalidare se l'ibernazione non può essere abilitata correttamente usando la tua immagine.

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

Abilitare l'ibernazione nel portale di Azure

  1. Accedere al portale di Azure.

  2. Nella casella di ricerca, immettere centro sviluppo. Nell'elenco dei risultati, selezionare Centri di sviluppo.

  3. Aprire il centro di sviluppo che contiene la definizione della casella di sviluppo che si vuole aggiornare, quindi selezionare Definizioni casella di sviluppo.

    Screenshot che mostra la pagina di panoramica del centro di sviluppo e l'opzione del menu per le definizioni delle caselle di sviluppo.

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

    Screenshot dell'elenco delle definizioni delle caselle di sviluppo esistenti e del pulsante di modifica (matita).

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

    Screenshot della pagina per la modifica della definizione di una casella di sviluppo con l'opzione Abilita ibernazione selezionata.

  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 Windows + ottimizzazione del sistema operativo contiene impostazioni di risparmio energia ottimizzate che 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 ulteriori informazioni, vedere Impostazioni non compatibili con l'ibernazione.

Disabilitare l'ibernazione in una definizione di casella di calcolo

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 centro sviluppo. Nell'elenco dei risultati, selezionare Centri di sviluppo.

  3. Aprire il centro di sviluppo che contiene la definizione della casella di sviluppo che si vuole aggiornare, quindi selezionare Definizioni casella di sviluppo.

  4. Selezionare la definizione della casella di sviluppo da aggiornare, 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