Windows Server 2016: Introduzione agli Hyper-V VHD Set

Hyper-V Server

In Windows Server 2016 una nuova e interessante funzionalità è stata introdotta in ambito Hyper-V ed è chiamata VHD Set. Si tratta di una nuova modalità di creazione dei dischi virtuali che necessitano di essere condivisi tra più macchine virtuali, utile per implementare guest cluster. In questo articolo verranno approfondite le caratteristiche dei VHD Set, verrà spiegato come implementarli al meglio e come affrontare in modo efficace scenari di migrazione.

Caratteristiche

La possibilità di condividere dischi virtuali tra più macchine virtuali è necessaria per realizzare configurazioni guest cluster che richiedono la presenza di storage condiviso e per evitare di dover configurare l’accesso allo storage tramite ad esempio HBA virtuali oppure attraverso l’utilizzo del protocollo di comunicazione iSCSI.

Figura 1 – VHD Set

In ambito Hyper-V questa funzionalità è stata introdotta con Windows Server 2012 R2 con la tecnologia chiamata Shared VHDX, la quale presenta i seguenti importanti limiti che spesso ne impediscono l’utilizzo in ambiente di produzione:

  • Il backup degli Shared VHDX deve avvenire con agenti specifici e non è supportato il backup host based
  • Non sono supportati scenari di replica Hyper-V
  • Il resize online di Shared VHDX non è contemplato

Con Hyper-V in Windows Server 2016 è stata rivoluzionata questa funzionalità con l’introduzione dei VHD Set al posto degli Shared VHDX che rimuove le limitazioni sopra elencate rendendola una tecnologia matura e affidabile anche per gli ambienti di produzione. Infatti le macchine virtuali configurate per accedere ai VHD Set è possibile proteggerle tramite backup host based, senza dover installare agenti sulle macchine guest. In questo caso è comunque consigliata una verifica per stabilire se la soluzione di backup in uso supporta questa configurazione. Inoltre i dischi nel formato VHD Set supportano il ridimensionamento online, senza la necessità di dover fermare il guest cluster configurato per accederci. Anche la replica Hyper-V supporta i dischi nel formato VHD Set consentendo di implementare scenari di disaster recovery anche per configurazioni guest cluster.

Al momento le uniche limitazioni nell’utilizzo dei VHD Set sono date dal mancato supporto per la creazione di checkpoint delle macchine virtuali che ci accedono e dall’impossibilità di effettuare delle storage live migration di macchine virtuali con VHD Set. L’obiettivo di Microsoft per il futuro è comunque di rendere le macchine virtuali configurate con VHD Set paritetiche a tutte le altre in termini di funzionalità.

Requisiti per l’utilizzo di VHD Set

Il formato VHD Set è supportato solamente per sistemi operativi guest Windows Server 2016. Inoltre per poter configurare guest cluster dove le macchine virtuali accedono a dischi virtuali condivisi è necessario rientrare in uno dei seguenti scenari:

  • Hyper-V failover cluster con tutti i file delle VMs, compresi i dischi nel formato VHD Set, che risiedono su un Cluster Shared Volumes (CSV).
  • Hyper-V failover cluster che ha come storage location per i VHD Set una share SMB 3.0 erogata da uno Scale Out File Server (SOFS).
Figura 2 – Scenari supportati per l’utilizzo di dischi virtuali condivisi

Come Creare VHD Set

La creazione di dischi virtuali nel formato VHD Set può essere fatta sia da interfaccia grafica (GUI) che tramite Powershell. Per crearli tramite GUI è sufficiente aprire Hyper-V Manager e dal riquadro Actions selezionare New, Hard Disk. Tra i possibili formati sarà presente anche VHD Set come mostrato nella figura seguente:

Figura 3 – Selezione del formato nel wizard di creazione dei dischi virtuali

Proseguendo con il Wizard è possibile specificare se il disco deve essere di tipologia Fixed piuttosto che Dynamic, il nome, la location e la relativa dimensione nel caso si scelga di creare un nuovo disco blank. La stessa operazione può essere svolta anche utilizzando il cmdlet Powershell New-VHD, specificando come estensione del disco virtuale la nuova estensione .vhds, come mostrato dall’esempio seguente:

Figura 4 – Esempio di creazione di un disco nel formato VHD Set utilizzando Powershell

La creazione del disco nel formato VHD Set comporta la creazione nel percorso specificato dei seguenti file:

Figura 5 – File generati dalla creazione di un disco nel formato VHD Set

Il file con estensione .avhdx contiene i dati e può essere fixed o dynamic in base alla scelta fatta durante la creazione, mentre il file .vhds contiene i metadati necessari per coordinare l’accesso dai differenti nodi del guest cluster.

Configurazione delle Macchine Virtuali con Dischi VHD Set

Per poter aggiungere i dischi nel formato VHD Set alle macchine virtuali è sufficiente modificare le proprietà delle stesse e configurare in modo opportuno il collegamento al controller SCSI:

Figura 6 – Aggiunta dello Shared Drive nelle proprietà della VM

Successivamente è necessario selezionare la location del file:

Figura 7 – Configurazione della location del drive condiviso

La stessa operazione sarà necessario svolgerla per tutte le macchine virtuali che costituiranno il guest cluster. In seguito alla configurazione dello storage condiviso, che comporta l’aggiunta alle macchine virtuali dei dischi nel formato VHS Set, è possibile proseguire con la configurazione dell’ambiente guest cluster secondo la procedura standard di creazione di un cluster descritta nella documentazione ufficiale Microsoft.

Conversione di Shared VHDX in VHD Set

In scenari di aggiornamento dell’infrastruttura Hyper-V da Windows Server 2012 R2 a Windows Server 2016, può capitare di dover affrontare la migrazione di Shared VHDX in VHD Set per poter usufruire di tutti i vantaggi apportati nella nuova tecnologia di condivisione dei dischi virtuali. Il passaggio a Windows Server 2016 non comporta nessun aggiornamento automatico degli Shared VHDX in VHD Set ed è comunque consentito continuare ad utilizzare i dischi condivisi nel formato Shared VHDX anche in Windows Server 2016. Per poter migrare gli Shared VHDX nel formato VHD Set è necessario seguire la seguente procedura manuale:

  • Spegnere tutte le macchine virtuali connesse allo Shared VHDX che si intende migrare.
  • Scollegare lo Shared VHDX da tutte le VMs tramite il cmdlet Powershell Remove-VMHardDiskDrive oppure utilizzando Hyper-V Manager.
  • Avviare la conversione dello Shared VHDX nel formato VHD Set tramite il cmdlet Powershell Convert-VHD
  • Collegare il disco appena convertito nel formato VHD Set a tutte le VMs utilizzando il cmdlet Powershell Add-VMHardDiskDrive oppure utilizzando Hyper-V Manager.
  • Accendere le macchine virtuali connesse al VHD Set.

Quando si utilizzano dischi nel formato VHD Set possono essere utili i seguenti cmdlet Powershell:

  • Get-VHDSet: utile per visualizzare diverse informazioni relative al disco nel formato VHD Set, compresa la lista di eventuali checkpoint.
  • Optimize-VHDSet: necessario per ottimizzare l’allocazione dello spazio utilizzato dal disco nel formato VHD Set.

Conclusioni

In Windows Server 2016 l’introduzione dei VHD Set in ambito Hyper-V consente di implementare in modo semplice architetture guest cluster senza dover utilizzare tecnologie di condivisione dello storage che richiedono configurazioni più laboriose e complesse. Inoltre sono state rimosse buona parte delle limitazioni riguardanti la metodologia di condivisione dei dischi virtuali, presenti nella precedente versione di Hyper-V, rendendo VHD Set una tecnologia matura, affidabile e di conseguenza utilizzabile anche in ambienti di produzione.