Virtual machine configuration version in Hyper-V in Windows 10, Windows Server 2016 e Windows Server 2019

Tantissime sono le funzionalità di Hyper-V (nuove e aggiornate) in Windows Server 2016 e Microsoft Hyper-V Server 2016. Per utilizzare queste nuove funzionalità è necessario però utilizzare la corretta versione di configurazione (virtual machine configuration version) della macchina virtuale.

Al momento della creazione della macchina virtuale verrà sempre utilizzata la versione più recente ma se spostate o se importate la VM creata con una versione precedente di Hyper-V sarà necessario aggiornare manualmente la versione di configurazione della VM.

In Hyper-V in Windows Server 2016 e Microsoft Hyper-V Server 2016 sono state introdotte o aggiornate le seguenti funzionalità:

  • Compatible with Connected Standby (novità)
  • Discrete device assignment (novità)
  • Encryption support for the operating system disk in generation 1 virtual machines (novità)
  • Host resource protection (novità)
  • Hot add and remove for network adapters and memory (novità)
  • Hyper-V Manager improvements (aggiornamento)
  • Integration services delivered through Windows Update (aggiornamento)
  • Linux Secure Boot (novità)
  • More memory and processors for generation 2 virtual machines and Hyper-V hosts (aggiornamento)
  • Nested virtualization (novità)
  • Networking features (novità)
  • Production checkpoints (novità)
  • Rolling Hyper-V Cluster upgrade (novità)
  • Shared virtual hard disks (aggiornamento)
  • Virtual machine backup (novità)
  • Shielded virtual machines (novità)
  • Start order priority for clustered virtual machines (novità)
  • Storage quality of service (QoS) (aggiornamento)
  • Virtual machine configuration file format (aggiornamento)
  • Virtual machine configuration version (aggiornamento)
  • Virtualization-based security for generation 2 virtual machines (novità)
  • Windows Containers (novità)
  • Windows PowerShell Direct (novità)

Trovate tutti i dettagli alla pagina https://docs.microsoft.com/en-us/windows-server/virtualization/hyper-v/what-s-new-in-hyper-v-on-windows

In Hyper-V in Windows Server 2019 e Microsoft Hyper-V Server 2019 sono state introdotte o aggiornate le seguenti funzionalità:

  • Storage Spaces Direct (aggiornamento)
  • Shielded VM (aggiornamento)
  • Encrypted Subnets (novità)
  • Simplified Two-Node Clusters (novità)
  • Persistent Memory (novità)
  • ReFS Deduplication (novità)

Maggiori informazioni sono disponibili alla pagina https://docs.microsoft.com/en-us/windows-server/get-started-19/whats-new-19

Modifica della versione di configurazione della macchina virtuale

Ho già evidenziato prima che quando si sposta o si importa una macchina virtuale in un computer che esegue Hyper-V in Windows Server 2019, Windows Server 2016 o Windows 10, la versione di configurazione della macchina virtuale non viene aggiornata automaticamente. Ciò significa che è possibile riportare la macchina virtuale in un host Hyper-V che esegue una versione precedente di Windows o Windows Server ma senza l’aggiornamento di versione non è possibile utilizzare alcune delle nuove funzionalità di macchina virtuale finché non si aggiorna manualmente la versione di configurazione.

Quando si aggiorna la versione di configurazione si modifica la struttura dei file che viene utilizzata per archiviare la configurazione di macchine virtuali e i file del checkpoint. Le macchine virtuali aggiornate usano un nuovo formato di file di configurazione (.VMCX) progettato per aumentare l’efficienza di lettura e scrittura dei dati di configurazione della VM.

Cosa accade se non viene aggiornata la versione di configurazione della macchina virtuale?

Se si hanno macchine virtuali che sono state create con una versione precedente di Hyper-V, alcune funzionalità che sono disponibili negli host di virtualizzazione più recenti potrebbero non funzionare finché non si aggiorna la versione di configurazione delle macchine virtuali.

Come indicazione generale, è consigliabile aggiornare la versione di configurazione dopo aver aggiornato correttamente gli host di virtualizzazione a una versione più recente di Windows e avere la ragionevole certezza che non è necessario eseguire il rollback del sistema operativo.

La tabella seguente illustra la versione di configurazione minima che la macchina virtuale deve avere per poter usare alcune funzionalità di Hyper-V.

Funzionalità

Versione minima di configurazione macchina Virtuale

Versione di Windows Server

Aggiunta o rimozione di memoria a caldo

6.2

Windows Server 2016 Technical Preview 3
Windows 10 versione 1507
Avvio protetto per le macchine virtuali Linux

6.2

Windows Server 2016 Technical Preview 3
Windows 10 versione 1507
Checkpoint di produzione

6.2

Windows Server 2016 Technical Preview 3
Windows 10 versione 1507
PowerShell Direct

6.2

Windows Server 2016 Technical Preview 3
Windows 10 versione 1507
Raggruppamento di macchine virtuali (grouping)

6.2

Windows Server 2016 Technical Preview 3
Windows 10 versione 1507
Virtual Trusted Platform Module (vTPM)

7.0

Windows Server 2016 Technical Preview 4
Windows 10 versione 1511
Macchina virtuale multi queue (VMMQ)

7.1

Windows Server 2016 Technical Preview 5
Supporto per XSAVE

8.0

Windows Server 2016

Windows 10 Anniversary Update

Key storage drive

8.0

Windows Server 2016

Windows 10 Anniversary Update

Supporto della sicurezza basata su virtualizzazione guest (VBS)

8.0

Windows Server 2016

Windows 10 Anniversary Update

Virtualizzazione annidata

8.0

Windows Server 2016

Windows 10 Anniversary Update

Numero di processori virtuali maggiore

8.0

Windows Server 2016

Windows 10 Anniversary Update

Macchine virtuali con grandi quantità di memoria RAM

8.0

Windows Server 2016

Windows 10 Anniversary Update

64 dispositivi virtuali per ogni dispositivo

8.3

Windows Server versione 1803
Windows 10 April 2018 Update (versione 1803)
Funzionalità aggiuntive del processore per Perfmon

9.0

Windows Server 2019
Windows Server versione 1809Windows 10 October 2018 Update (versione 1809)
Supporto di modalità di ibernazione

9.0

Windows Server 2019
Windows Server versione 1809Windows 10 October 2018 Update (versione 1809)

9.1

Windows Server 1903

L’aggiornamento della versione può essere effettuato sia tramite Hyper-V Manager che tramite comandi PowerShell. La macchina virtuale però deve essere spenta. La macchina verrà aggiornata direttamente alla massima versione supportata dall’host di virtualizzazione e non sarà possibile scegliere versioni intermedie.

Figura 1: Aggiornamento della versione di configurazione della macchina virtuale tramite Hyper- V Manager

Figura 2: Richiesta di conferma dell’aggiornamento della versione di configurazione della VM

Figura 3: Aggiornamento della versione di configurazione della VM completata

Le operazioni di aggiornamento della versione di configurazione della macchina virtuale possono essere effettuate anche tramite PowerShell. Per conoscere la versione supportata dall’host Hyper-V potete utilizzare il comando Get-VMHostSupportedVersion -Default, mentre per elencare tutte le VM e la rispettiva versione potete utilizzare il comando Get-VM * | Format-Table Name, Version . L’aggiornamento può essere effettuato lanciando il comando Update-VMVersion <NomedellaVM> . Nella figura sotto è mostrato il risultato

Figura 4: Aggiornamento della versione di configurazione delle macchine virtuali effettuato tramite comando PowerShell

Una volta modificata la versione la macchina virtuale non potrà essere più accesa su un host che non supporta la versione aggiornata e non sarà possibile effettuare il downgrade della versione di configurazione. Sarà perciò necessario ricreare la VM.

NOTA: Anche se in questo articolo abbiamo parlato di Windows Server 2016 e Windows Server 2019, le stesse operazioni sono valide per Client Hyper-V disponibile in Windows 10 e Windows 8.1
Se volete approfondire le novità introdotte in Client Hyper-V vi rimando alla lettura dell’articolo Novità introdotte in Client Hyper-V in Windows 10 Fall Creators Update

Conclusioni

Aggiornando la versione di configurazione delle macchine virtuali in Hyper-V abbiamo la possibilità di sfruttare al meglio le funzionalità più recenti introdotte in Windows 10, Windows Server 2016 e Windows Server 2019. In questo modo le VM saranno più performanti, potranno utilizzare virtual hardware aggiuntivo e avranno un livello di sicurezza superiore grazie alle feature native di protezione del boot, di utilizzo del TPM e per finire anche di crittografia, di cui abbiamo parlato nell’articolo Creare un Guarded Fabric con l’Admin-trusted attestation e le Shielded VMs in Windows Server 2016