Sin da Windows Server 2008, Microsoft ha stato dato un importante focus agli ambienti di virtualizzazione grazie all’introduzione del ruolo Hyper-V. Sicuramente non devo spiegare in questo articoli i benefici della virtualizzazione e la necessità del consolidamento dei server ma cerchiamo, piuttosto, di fornire una panoramica significativa sull’utilizzo di Hyper-V e sulla sua gestione.
Hyper-V è legato a quella che normalmente viene definita come Server Virtualization: la capacità di creare su un singolo server più macchine virtuali che vengono eseguite in contemporanea e che condividono le risorse della stessa macchina fisica. Il server che esegue Hyper-V viene definito host e tutte le macchine virtuali sono ovviamente i guest di tale sistema.
In ambito di virtualizzazione gli strumenti messi a punto da Microsoft sono molteplici e possiamo elencare i principali qui a seguito:
- Server Virtualization con Hyper-V
- Iaas e Paas attraverso Windows Azure
- Desktop virtualization con Hyper-V nei nuovi Windows 8 Pro ed Enterprise
- Virtual Desktop Infrastructure (VDI)
- Presentation Virtualization
- Application Virtualization (App-V)
Ognuno di questi ambiti di virtualizzazione è un mondo a sé stante e perciò non verrà trattato in questa guida. Analizziamo invece cosa dobbiamo conoscere al fine di progettare la nostra server virtualization.
Installazione del ruolo Hyper-V
Prima di tutto Hyper-V è considerato, all'interno di Windows Server 2012 R2, un ruolo dello stesso server e come tale è installabile dal nostro Server Manager.
Quando decidiamo di installare Hyper-V dobbiamo tenere in considerazione che il server host dovrà avere alcune caratteristiche: il processore x64 dovrà supportare SLAT (chiamata anche “Rapid Virtualization Indexing (RVI)” oppure Extended Page Tables (EPT) per Intel e Nested Page Tables (NPT) per AMD) e Data Execution Prevention. Una nota sulla RAM, il server deve avere almeno 4GB di RAM e, poiché la magia non esiste, il totale della RAM deve essere almeno pari alla somma della memoria minima richiesta dalle singole macchine guest più quella necessaria alla macchina host con Windows Server 2012 R2.
Continuiamo nel processo di installazione fino a completarlo scegliendo le schede di rete da usare per le macchine virtuali:
E scegliendo l’ubicazione predefinita per i file di configurazione delle macchine guest e dei loro virtual hard disk (VHD).
Confermiamo il riepilogo così da installare quanto scelto e concludere così il processo di installazione.
Al termine dell’installazione il Server richiederà il riavvio, ultimato il quale saremmo pronti ad entrare nel vivo della virtualizzazione.
Come sempre dal nostro Server Manager possiamo scegliere di amministrare il nostro ambiente virtualizzato richiamando la Console di gestione di Hyper-V.
In questa console possiamo prender visione di tutti quei nodi, all’interno della rete, sui quali è installato il ruolo di Hyper-V. In caso questi non venissero installati possiamo sempre connetterci ad uno specifico server utilizzando l’apposita funzione nel pannello di destra.
Creazione della macchina virtuale
Andiamo ora a creare nel nostro ambiente una nuova macchina virtuale così da capire a pieno quali sono i passi da effettuare e cosa considerare.
Durante il processo di creazione di una macchina virtuale ci sono alcuni aspetti da tenere in considerazione. Il primo è inerente alla memoria, nella nuova versione di Hyper-V possiamo dinamicamente assegnare un quantitativo di memoria alla macchina virtuale, il che vuol dire che, a seconda della vera necessità richiesta, verrà allocata al guest la RAM necessaria. Possiamo ovviamente scegliere un valore minimo della memoria così da garantire sempre il necessario e corretto funzionamento (soprattutto in fase di avvio del sistema). In Windows Server 2012 R2 questi valori possono essere modificati anche mentre la macchina è in stato di running.
Dal menu di Hyper-V possiamo scegliere di creare un Nuovo / Macchina Virtuale ed entrare così nel wizard che ci consentirà la creazione del nostro primo guest.
Scegliamo un nome per la nostra macchina ed eventualmente scegliamo un percorso diverso per la memorizzazione dei file di configurazione relativi.
Scegliamo di usare la memoria dinamica, come precedentemente illustrato così da impostarne successivamente i minimi e i massimi.
Scegliamo la scheda di rete da usare per la nostra macchina
Creiamo un disco virtuale ed indichiamone il percorso di archiviazione
Scegliamo se dobbiamo installare subito un sistema operativo da un supporto fisico o da un’immagine ISO:
Prendiamo nota del riepilogo ed ultimiamo il processo di creazione della nostra prima macchina virtuale.
Indipendentemente dal sistema operativo che andremmo ad installare sulla nostra macchina guest, esistono una serie di opzioni e impostazioni che possono essere configurate.
Cliccando con il tasto destro sulla macchina possiamo prenderne visione scegliendo dal menu a discesa la voce Impostazioni.
Una prima nota va sicuramente alla gestione della memoria che come avevamo predetto è una memoria allocata dinamicamente all'interno di un range da noi prefissato.
In questa finestra possiamo andare ad impostare anche il numero di processori, il numero di VHD e il tipo collegati alla macchina virtuale, le eventuali schede LAN necessarie con le relative impostazioni e altre due impostazioni che necessitano di una piccola spiegazione: l’avvio e l’arresto automatico della macchina virtuale.
Di default, ogni volta che viene creata una nuova macchina, Hyper-V ne imposta l’avvio automatico; cosicché ogni volta che il nodo host parte si avvia anche la macchina virtuale su di esso ospitata. In questo pannello possiamo quindi andare a configurare tutte le opzioni relative al comportamento della macchina virtuale connesse all’avvio o allo spegnimento dell’host.
Possiamo per esempio ritardare l’avvio della macchina così da evitare la sovrapposizione dell’avvio di altri nodi o in caso di arresto possiamo salvare lo stato della macchina virtuale. Tutti questi parametri sono indispensabili al fine di prevenire comportamenti inopportuni nell'ambiente virtualizzato.
Al fine di migliorare ulteriormente le performance tra host e guest, si possono installare una serie di funzionalità aggiuntive che prendono il nome di Virtual Machine Integration Services.
Per l’installazione di questi dopo aver installato il sistema operativo guest, dal menu Azione della macchina guest possiamo scegliere di inserire il disco di installazione dei servizi di integrazione e lanciarne l’installazione dal sistema operativo stesso.
Hard disk virtuali e networking
Altre due note doverose riguardano i virtual hard disk e il networking. Con la nuova versione di Windows Server 2012 abbiamo importanti novità che riguardano i supporti virtuali annessi alle macchine guest. La prima da tenere in considerazione, soprattutto in ambienti di piccole dimensioni, è la possibilità di memorizzare i VHD in una semplice share di rete SMBv3 anziché in unità LUN, SAN o altri sistemi dedicati di storage. Questa novità è chiaramente un beneficio per tutte quelle “semplici” realtà dove il costo di un sistema di storage dedicato non è facilmente sostenibile o per esempio in ambienti di test dove non sempre si hanno enormi risorse a disposizione.
Un’altra importante novità riguarda l’introduzione del nuovo formato VHDX che consente di aumentare sensibilmente la capacità di ogni singolo virtual hard disk, da 2TB a 64TB, e di migliorare le performance e la stabilità dello stesso supporto al fine di creare ambienti sempre più affidabili e performanti. In una lezione della guida Windows Server 2012 abbiamo indicato tutte le novità introdotte nel nuovo Hyper-V. Le novità di Hyper-V in Windows Server 2012 R2 le abbiamo invece indicate in uno degli articoli della nostra serie dedicata al Cloud OS.
L’ultima doverosa nota, come precedentemente detto, riguarda le cosiddette Virtual Network. Hyper-V introduce molteplici modi di comunicazione tra le macchine guest. Negli scenari più semplici si può pensare solamente alla necessità di far comunicare le macchini virtuali con il mondo esterno ma in scenari un po’ più complessi o che richiedono un minimo in più di progettazione potremmo pensare alla necessità di introdurre dei sistemi di comunicazione peculiari all'interno delle virtual machine stesse.
In tale senso Hyper-V nativamente ci offre un supporto su quelle che sono le interfacce di rete che possono esser configurate a livello globale dell’ambiente di virtualizzazione. Dal pannello di gestione di Hyper-V scegliamo di configurare gli Switch Virtuali.
Questi switch sono essenzialmente di tre tipi:
- Esterni: usati per mappare una rete con una scheda di rete, o un team di schede
- Interni: usati per creare una comunicazione tra le diverse macchine virtuali compresa la comunicazione verso l’host stesso
- Privati: usati solo per la comunicazione tra le macchine virtuali
Quando configuriamo una rete virtuale possiamo anche configurarne un VLAN ID da associare successivamente per la comunicazione con VLAN già presenti sulla rete.
Uno speciale ringraziamento va a Paola Presutto di Microsoft per l'aggiornamento di parte di questa pagina