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:
- Abilitare l’ibernazione nell’immagine della casella di sviluppo
- Abilitare l'ibernazione nella definizione della casella di sviluppo
- 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:
- Nel menu Start di Windows trovare e aprire Sicurezza di Windows.
- Passare a Sicurezza del dispositivo.
- In Isolamento memoria centrale, seleziona Dettagli isolamento memoria centrale
- 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:
- Nel menu Start, cercare Attiva o disattiva le funzionalità di Windows.
- Nella finestra di dialogo, selezionare la casella di controllo Piattaforma macchina virtuale.
- 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
Accedere al portale di Azure.
Nella casella di ricerca, immettere centro sviluppo. Nell'elenco dei risultati, selezionare Centri di sviluppo.
Aprire il centro di sviluppo che contiene la definizione della casella di sviluppo che si vuole aggiornare, quindi selezionare Definizioni casella di sviluppo.
Selezionare la definizione della casella di sviluppo da aggiornare, quindi selezionare il pulsante modifica (matita).
Nella pagina Modifica definizione della casella di sviluppo, selezionare la casella di controllo Abilita ibernazione .
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
Accedere al portale di Azure.
Nella casella di ricerca, immettere centro sviluppo. Nell'elenco dei risultati, selezionare Centri di sviluppo.
Aprire il centro di sviluppo che contiene la definizione della casella di sviluppo che si vuole aggiornare, quindi selezionare Definizioni casella di sviluppo.
Selezionare la definizione della casella di sviluppo da aggiornare, quindi selezionare il pulsante modifica (matita).
Nella pagina Modifica definizione casella di sviluppo, deselezionare la casella di controllo Abilita ibernazione .
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