Windows Server 2016 è stato ufficialmente rilasciato e molte sono le novità introdotte relative ad Hyper-V che lo rendono sempre più una potente piattaforma di virtualizzazione ricca di nuove e interessanti funzionalità. In questo articolo verranno riportate le nuove funzionalità di Hyper-V in Windows Server 2016 e verranno approfonditi i cambiamenti apportati rispetto alla precedente versione.
Nested Virtualization
Questa funzionalità consente di avere una macchina virtuale con il ruolo di Hyper-V e di conseguenze di poter ospitare su di essa altre machine virtuali. Si tratta di una funzionalità utile per ambienti di test e sviluppo, ma non è idonea per essere utilizzata in ambienti di produzione. Per poter utilizzare la nested virtualization devono essere rispettati i seguenti requisiti:
- La macchina virtuale con il ruolo di Hyper-V deve avere almeno 4 GB di RAM
- Le macchine virtuali guest devono anch’esse essere Windows Server 2016
- Al momento la nested virtualization è disponibile solo se l’host fisico che detiene la VM con il ruolo Hyper-V ha processori Intel (VT-x e tecnologia EPT).
Per approfondimenti in merito potete consultare l’articolo Windows Server 2016: Introduzione ad Hyper-V Nested Virtualization a cura di Silvio Di Benedetto oppure il documento Microsoft riguardante la Nested Virtualization.
Networking Features
Anche in ambito networking sono state introdotte importanti novità che consentono di sfruttare al meglio l’hardware ed avere maggiori performance:
- Remote direct memory access (RDMA) e switch embedded teaming (SET). Switch Embedded Teaming (SET) è una nuova tecnologia alternativa al NIC Teaming che consente di avere più schede di rete in join allo stesso Virtual Switch di Hyper-V. Prima di Windows Server 2016 era necessario avere set di NIC separati (uno per l’utilizzo con i Virtual Switch e uno per sfruttare RDMA) in quanto il teaming del SO non era compatibile con la tecnologia RDMA. In Windows Server 2016 c’è la possibilità di abilitare RDMA sulle schede di rete che sono associate ad un Virtual Switch configurato con oppure senza la modalità Switch Embedded Teaming (SET)
- Virtual machine multi queues (VMMQ). Miglioramento sul VMQ throughput grazie alla possibilità di allocare più hardware queues per singola macchina virtuale
- Quality of service (QoS) per software-defined networks
Hot add and remove for network adapters and memory
Per le machine virtuali di generazione 2 con sistema operativo sia Windows che Linux è possibile aggiungere o rimuovere schede di rete mentre la macchina virtuale è in esecuzione, senza nessun fermo. Inoltre per le macchine virtuali sia di generazione 1 che di generazione 2, ma con sistema operativo Windows Server 2016 o Windows 10 è possibile modificare la quantità di memoria RAM ad essa assegnata mentre è in esecuzione, anche se non è abilitata la memoria dinamica.
Rolling Hyper-V Cluster Upgrade
Importanti sono le novità anche in ambito cluster. Viene fornita la possibilità di aggiungere un nodo Windows Server 2016 a un cluster Hyper-V già esistente costituito da nodi Windows Server 2012 R2. Questo ci consente di aggiornare i sistemi cluster senza avere nessun downtime. Fintanto che tutti i nodi del cluster non vengono aggiornati a Windows Server 2016 il cluster rimane con le funzionalità di Windows Server 2012 R2. Al termine del processo di aggiornamento dei vari nodi del cluster è necessario aggiornare il livello di funzionalità tramite il cmdlet Powershell Update-ClusterFunctionalLevel.
Start Order Priority for Clustered Virtual Machines
Grazie a questa funzionalità si riesce ad ottenere un maggiore controllo sulla priorità di avvio delle machine virtuali in ambiente cluster. Questo può risultare utile per avviare macchine virtuali che forniscono servizi prima di avviarne altre che usufruiscono di questi servizi. Il tutto è facilmente ottenibile configurando dei set, assegnando le macchine virtuali ai vari set e definendo delle dipendenze.
Production Checkpoints
La creazione dei production checkpoint si basa su tecnologie di backup presenti all’interno della macchina virtuale anziché sullo stato di save (save state di Hyper-V). Per le macchine basate su sistema operativo Windows viene utilizzata la tecnologia Volume Snapshot Service (VSS), mentre per le macchine virtuali Linux viene effettuato un flush dei diversi buffer del file system per creare un checkpoint che è consistente a livello di file system. I Production checkpoint sono il default per le nuove macchine virtuali, ma c’è sempre la possibilità di creare i checkpoint basati sullo stato di save della macchina virtuale, denominati ora standard checkpoint.
Host Resource Protection
Questa funzionalità aiuta a prevenire condizioni dove le operazioni svolte da una singola macchina virtuale possono degradare le performance dell’host Hyper-V o di altre machine virtuali. Quando questo meccanismo di monitoring rileva una macchina virtuale con una attività eccessiva a questa vengono ridotte le risorse assegnate. Di default questo meccanismo di controllo è disabilitato ed è possibile attivarlo utilizzando il seguente comando Powershell: Set-VMProcessor -EnableHostResourceProtection $true
Shielded Virtual Machines
Le Shielded virtual machines, aggregando diverse funzionalità, rendono molto più difficili tutte quelle attività che possono essere fatte da malware oppure dagli amministratori stessi di Hyper-V per effettuare l’inspect, la manomissione e l’acquisizione impropria dei dati. I dati e lo stato delle Shielded virtual machines sono criptati e agli amministratori di Hyper-V non è consentito visualizzare l’output video e i dati contenuti nei dischi virtuali. Queste macchine virtuali possono essere eseguite esclusivamente su specifici host Hyper-V definiti e in stato di salute secondo le policy impartite dall’Host Guardian Server. Le shielded virtual machines sono compatibile con la funzionalità di Hyper-V Replica. Per attivare la replica è necessario che venga autorizzato l’host Hyper-V sul quale si vogliono replicare le shielded virtual machine. Per maggiori dettagli relativi a queste nuove funzionalità è possibile consultare il documento Guarded Fabric and Shielded VMs.
Virtualization-based Security for Generation 2 Virtual Machines
Nuove funzionalità in termini di sicurezza sono state introdotte per le machine virtuali generation 2 (a partire dalla versione 8 del file di configurazione) come Device Guard e Credential Guard, che sono in grado di aumentare la protezione del sistema operativo da attacchi malware.
Encryption Support for the Operating System Disk in Generation 1 Virtual Machines
Ora c’è la possibilità di proteggere i dischi del sistema operativo utilizzando BitLocker anche per le machine virtuali di generazione 1. Grazie alla nuova funzionalità Key Storage (richiede almeno la versione 8 del file di configurazione) viene creato un piccolo drive dedicato ad ospitare le chiavi utilizzate da BitLocker anziché utilizzare un Trusted Platform Module (TPM) virtuale che è disponibile solo per le macchine virtuali di generazione 2.
Linux Secure Boot
Le machine virtuali di generazione 2 basate su sistema operativo Linux possono effettuare il boot utilizzando l’opzione Secure Boot. Sono abilitate al Secure Boot su host Windows Server 2016 le seguenti distribuzioni Linux:
- Ubuntu 14.04 +
- SUSE Linux Enterprise Server 12 +
- Red Hat Enterprise Linux 7.0 +
- CentOS 7.0 +
Windows PowerShell Direct
Si tratta di un nuovo metodo per eseguire comandi Windows PowerShell in una macchina virtuale impartendoli direttamente dall’host, senza richiedere un accesso via network e indipendentemente dalla configurazione dei tool di gestione remoti. Windows PowerShell Direct è quindi un’ottima alternative ai tool attualmente utilizzati dagli amministratori di Hyper-V come PowerShell, Remote Desktop oppure Hyper-V Virtual Machine Connection (VMConnect) ed offre un’ottima experience in ambito scripting e automation (difficile ad esempio da ottenere con VMConnect).
Compatible with Connected Standby
Quando il ruolo Hyper-V viene abilitato su un sistema che utilizza come power model Always On/Always Connected (AOAC) è ora disponibile come power state Connected Standby.
Discrete Device Assignment
Questa interessante funzionalità consente di fornire a una macchina virtuale un accesso diretto ed esclusivo ad alcune device harware PCIe. Utilizzando un device in questa modalità viene bypassato l’intero stack di virtualizzazione Hyper-V garantendo così un accesso più rapido all’harware. Per avere maggiori dettagli sui requisiti hardware necessari è possibile consultare il paragrafo “Discrete device assignment” nel documento System requirements for Hyper-V on Windows Server 2016.
Windows Containers
Parlando delle novità in ambito Hyper-V è opportuno citare anche i Windows Containers che consentono l’esecuzione su un sistema di applicazioni isolate. Tra i principali punti di forza dei containers troviamo la velocità di creazione, l’alta scalabilità e la portabilità. Sono disponibili due tipologie di container runtime, ognuno fornisce un differente grado di isolamento dell’applicazione:
- Windows Server Containers che utilizza namespace e process isolation
- Hyper-V Containers che utilizza una piccola macchina virtuale per ogni container
Per maggiori dettagli sui containers vi invito a consultare la documentazione ufficiale dei Windows Container e la sezione specifica su WindowServer.it contenente diversi articoli molto interessanti.
Aggiornamento Funzionalità in Windows Server 2016
More Memory and Processors for Generation 2 Virtual Machines and Hyper-V Hosts
Le machine virtuali di generazione 2, a partire dalla versione 8 del file di configurazione, possono essere configurate con un numero maggiore di risorse in termini di processori virtuali e memoria RAM. Sono inoltre stati rivisti anche i limiti massimi di utilizzo delle risorse da parte degli host fisici. Per tutti i dettagli relativi alla scalabilità di Hyper-V in Windows Server 2016 è possibile consultare il documento Plan for Hyper-V scalability in Windows Server 2016.
Virtual Machine Configuration File Format
Il file di configurazione delle machine virtuali utilizza un nuovo formato che consente di leggere e scrivere in modo più efficiente le differenti configurazioni. Questo nuovo formato lo rende anche più resiliente a corruzioni nel caso dovessero verificarsi failure del sottosistema dischi. L’estensione del nuovo file di configurazione che detiene la configurazione della macchina virtuale è .vmcx mentre l’estensione .vmrs è utilizzata per detenere lo stato di runtime.
Virtual Machine Configuration Version
La versione del file di configurazione rappresenta il Livello di compatibilità della macchina virtuale con la versione di Hyper-V. Le machine virtuali con file di configurazione versione 5 sono compatibili Windows Server 2012 R2 e possono essere attivate sia su Windows Server 2012 R2 che su Windows Server 2016. Macchine virtuali aventi versioni del file di configurazione introdotte in Windows Server 2016 non possono essere eseguite in Hyper-V su Windows Server 2012 R2. Per poter utilizzare tutte le nuove funzionalità sulle macchine virtuali create con Windows Server 2012 R2 e poi migrate o importate in Hyper-V su Windows Server 2016 è necessario aggiornare la configurazione delle macchine virtuali. L’aggiornamento non avviene in automatico. Il downgrade del file di configurazione non è supportato. Tutti i dettagli su come aggiornare la versione della configurazione delle macchine virtuali li trovate nel seguente articolo: Upgrade virtual machine version in Hyper-V on Windows 10 or Windows Server 2016.
Hyper-V Manager Improvements
Anche Hyper-V manager introduce important miglioramenti:
- Alternate credentials support – Viene fornita la possibilità di utilizzare un set di credenziali differenti in Hyper-V Manager quando ci si collega ad un host remoto Windows Server 2016 oppure Windows 10. Le credenziali possono anche essere salvate per essere facilmente riutilizzate.
- Manage earlier versions – Utilizzando Hyper-V Manager in Windows Server 2016 e Windows 10 è possibile gestire anche sistemi Hyper-V basati su Windows Server 2012, Windows 8, Windows Server 2012 R2 e Windows 8.1.
- Updated management protocol – Hyper-V Manager utilizza il protocollo WS-MAN per comunicare con gli host Hyper-V remoti. Tale protocollo di comunicazione consente l’autenticazione CredSSP, Kerberos oppure NTLM e facilita la configurazione degli host per consentire la gestione remota.
Integration Services Delivered Through Windows Update
Di grande utilità è la possibilità di aggiornare gli integration services delle virtual machine basate su sistema operativo Windows tramite Windows Update. Questo è un aspetto di particolare interesse anche per i service providers perché grazie a questo meccanismo il controllo dell’applicazione di questi aggiornamenti viene lasciato nelle mani del tenant che possiede la macchina virtuale. I tenant possono quindi aggiornare in autonomia la propria macchina virtuale Windows con tutti gli aggiornamenti, compresi gli integration services, utilizzando un unico metodo.
Shared Virtual Hard Disks
Viene fornita la possibilità di effettuare il resize dei virtual hard disks di tipologia shared, utilizzati per realizzare ambienti guest clustering, senza alcun downtime. Le dimensioni dei shared virtual hard disks possono infatti essere estese o ridotte mentre la macchina virtuale è online. I guest cluster che utilizzano shared virtual hard disks possono ora essere protetti con l’Hyper-V Replica a fini di disaster recovery.
Storage Quality of Service (QoS)
In ambito storage è possibile creare delle policy di QoS su Scale-Out File Server ed assegnarle ai vari dischi virtuali associati alle macchine virtuali Hyper-V. In questo modo si ha la possibilità di controllare le performance dello storage evitando che l’utilizzo dello stesso da parte delle singole macchine virtuali possa impattare l’intero sottosistema dei dischi. Potete trovare tutti i dettagli riguardanti questo argomento nel documento Storage Quality of Service.
Conclusioni
Molte sono le novità introdotte nella piattaforma di virtualizzazione Microsoft con Windows Server 2016 che la rendono ancora più completa e ricca di nuove funzionalità. Microsoft Hyper-V è ormai disponibile sul mercato da diversi anni, ha raggiunto altissimi livelli di affidabilità ed offre un’ottima soluzione di virtualizzazione a livello enterprise. Nella scelta della piattaforma di virtualizzazione è bene non trascurare anche le varie possibilità che Microsoft offre per scalare verso il public cloud oppure per implementare architetture ibride.
Potete testare tutte le nuove funzionalità di Microsoft Hyper-V Server 2016 scaricando la versione di valutazione dal TechNet Evaluation Center.
Per ulteriori approfondimenti sul tema vi invito a partecipare alle sessioni dedicate ad Hyper-V durante il SID // Windows Server 2016 Roadshow, l’evento gratuito dedicato al nuovo sistema operativo, rivolto a tutte le aziende, consulenti e partner che vogliono prepararsi al futuro e che vogliono conoscere le novità e le best-practice di implementazione del nuovo sistema operativo server.