Virtualizzazione: Predisposizione alla virtualizzazione

Per distribuire macchine virtuali in un'infrastruttura, è necessario un livello accurato e approfondito di preparazione, ma il gioco vale decisamente la candela.

Brian Marranzini

La virtualizzazione è una preziosa tecnologia che consente di sfruttare al meglio gli investimenti IT. L'equazione costi/benefici è semplice da calcolare e legittimare. La virtualizzazione offre inoltre un valido supporto nella risoluzione dei problemi relativi alla gestione e alla disponibilità grazie a una serie di funzionalità di backup, ripristino, portabilità, testing e rollback.

È possibile acquisire uno snapshot di una macchina virtuale prima di apportare modifiche e quindi eseguirne il rollback se tali modifiche determinano un problema. È possibile eseguire attività di backup e ripristino con diversi supporti hardware semplicemente esportando o importando una macchina virtuale in un sistema che supporta Hyper-V. È infine possibile stabilire la ridondanza dell'hardware eseguendo il clustering degli host di virtualizzazione.

La distribuzione di macchine virtuali richiede tuttavia una gestione specifica e, soprattutto, una valutazione appropriata dei sistemi. Le applicazioni virtualizzate necessitano inoltre di livelli aggiuntivi di gestione e monitoraggio superflui nel mondo fisico.

Nell'articolo verranno tratte queste e altre problematiche relative alla distribuzione di un ambiente virtuale (per ulteriori informazioni, consultare i manuali relativi alla build, all'architettura e alla distribuzione). Ecco alcune procedure consigliate per predisporre l'utilizzo della virtualizzazione di Hyper-V. Sarà possibile in questo modo ottimizzare l'impiego della virtualizzazione, riducendo al contempo i rischi.

Infrastruttura istantanea

La virtualizzazione ha determinato un mutamento di paradigma. Se in passato erano necessarie settimane, se non addirittura mesi, per l'organizzazione, l'inserimento in rack, l'alimentazione, il collegamento in rete e la configurazione, è ora possibile eseguire tutte queste operazioni semplicemente facendo clic con il pulsante destro del mouse su un computer in Microsoft System Center Virtual Machine Manager (VMM), scegliendo "modello" e quindi "distribuisci".

A questo punto verranno automaticamente eseguite tutte le operazioni di base. Compilando un modello, si ottiene una macchina virtuale "sysprepped" basata su requisiti specifici, associata in join a un dominio e pronta per l'esecuzione in 30 minuti o meno se si utilizza la tecnologia di copia basata su SAN con VMM. In questo modo verrà determinato l'host di virtualizzazione con maggiore capacità e verrà di conseguenza collocata la macchina virtuale. Può sembrare semplice, ma la virtualizzazione non è assolutamente un servizio chiavi in mano già predisposto.

Prima di passare all'hardware, è necessario chiedersi se si disponga delle licenze necessarie. Senza scendere troppo nel dettaglio, in questo articolo verrà fornita una panoramica sulle licenze. Per la posizione ufficiale è possibile consultare i diritti sull'utilizzo dei prodotti Microsoft.

Windows Server 2008 Standard Edition consente di eseguire una macchina virtuale per ogni licenza. Ogni licenza Enterprise Edition consente di utilizzare fino a quattro macchine virtuali. Le licenze Datacenter Edition consentono di utilizzare un numero illimitato di macchine virtuali e vengono vendute per processore fisico (non core).

Se si acquista una licenza Windows Server contestualmente all'hardware sotto forma di versioni OEM, non sarà possibile spostare il sistema operativo dall'hardware a cui è associato. Se si acquista mediante contratto multilicenza o da un Large Account Reseller, è possibile spostare la licenza una volta ogni 90 giorni o in caso di errore hardware.

Questo significa che se si desidera eseguire il clustering o spostare le macchine virtuali in un intervallo di tempo di 90 giorni, è possibile assegnare licenze a ogni host per il numero massimo di macchine virtuali che sarà necessario eseguire in quei 90 giorni. È inoltre possibile assegnare licenze a tutti gli host con Datacenter Edition.

Datacenter Edition rappresenta la soluzione più economica per acquistare Windows se si eseguono più di tre o quattro macchine virtuali per processore fisico. Un'altra opzione da considerare è Microsoft Software Assurance. Al rilascio della successiva versione di Windows, se si intende installare una copia e quindi spostarla all'interno del cluster, sarà necessario disporre di una copia per ogni host.

I prodotti System Center sono disponibili in entrambe le versioni, Enterprise e Datacenter. È possibile assicurarsi i diritti di utilizzo dell'intero stack System Center con un numero illimitato di macchine virtuali. Moltiplicare il numero di macchine virtuali in un host per il numero di singole licenze di gestione System Center necessarie per ogni macchina virtuale, aggiungendo il costo dell'host rispetto al costo della famiglia di prodotti di gestione appropriata.

Esiste un limite relativo a tre strumenti o tre macchine virtuali in cui le famiglie di prodotti rappresentano la soluzione di licenze più economica. Per la maggior parte delle applicazioni è disponibile un diritto di mobilità delle licenze che ne consente lo spostamento all'interno di una farm che può includere fino a due data center.

Il passaggio al virtuale

In caso di conversione di computer fisici in macchine virtuali mediante VMM o di creazione di un nuovo ambiente, è possibile gestire tali conversioni tramite Operations Manager o il Microsoft Assessment and Planning (MAP) Toolkit gratuito. In questo modo sarà possibile acquisire ed esaminare le informazioni relative alle prestazioni di potenziali candidati alla virtualizzazione.

Consideriamo ora l'aspetto hardware. I prodotti hardware scelti devono essere in grado di gestire il carico di lavoro cumulativo che si intende eseguire a livelli di picco. Se pertanto si dispone di un carico di lavoro che utilizza un processore dual core da 2 Ghz a un tasso di utilizzo medio dell'80% di picco e di un altro carico che utilizza lo stesso processore a un tasso del 50% di picco, sarà necessario disporre di un sistema corrispondente ad almeno il 150%.

È inoltre possibile utilizzare un processore dual core da 3 Ghz per consentire un sovraccarico (circa il 10% in questo caso) per l'esecuzione dell'host fisico. In genere il processore non rappresenta tuttavia il fattore limitante. La maggior parte dei carichi di lavoro vengono eseguiti a un tasso medio di utilizzo di CPU estremamente basso.

Gli ostacoli più grandi per la virtualizzazione dei carichi di lavoro sono rappresentanti, in ordine decrescente, dall'I/O del disco, dalla RAM, dall'I/O della rete e infine dalla CPU. Un aumento della velocità della CPU e del numero di core riesce comunque a soddisfare o superare le aspettative della Legge di Moore sull'aumento della capacità. I prezzi della RAM continuano a diminuire man mano che la densità aumenta.

Il volume dei dischi è tuttavia notevolmente aumentato nel tempo, ma l'I/O del disco è ancora piuttosto proibitivo in termini economici. Se si opta per la capacità massima, verranno sacrificati necessariamente gli assi e la velocità generale. Prestare la massima attenzione al profilo I/O del disco dei carichi di lavoro.

È inoltre necessario comprendere e pianificare il tipo di I/O, nonché ottimizzare lo spazio di archiviazione per il carico di lavoro. In caso di VDI (Virtual Desktop Infrastructure), se si intende posizionare le macchine virtuali in uno stato salvato o disattivarli quando gli utenti non sono connessi, il carico di lavoro potrebbe determinare avvii simultanei di macchine virtuali.

In linea generale, è meglio disporre di più assi. Con un cluster è opportuno ottimizzare il disco basato su SAN per garantire prestazioni di scrittura ottimali, assi e canali di comunicazione dedicati per i carichi di lavoro di virtualizzazione. Anche l'utilizzo di più percorsi può costituire una soluzione al problema. Separare e segmentare infine i dischi fisici (non le partizioni) per evitare che carichi di lavoro con utilizzo elevato di I/O possano compromettere quelli con un utilizzo ridotto.

Anche la modalità di configurazione dei dischi rigidi delle macchine virtuali comporta alcuni problemi. È possibile optare per dischi rigidi virtuali a espansione dinamica, dischi rigidi virtuali fissi, iSCSI pass-through o nativi direttamente dalla macchina virtuale guest. Sono supportate tutte queste configurazioni.

Le indicazioni di base sono semplici: utilizzare un disco rigido virtuale a meno che non sia assolutamente necessario l'accesso diretto al disco per capacità specifiche di SAN, tra cui backup basati su SAN compatibili con le applicazioni o clustering guest-to-guest tramite iSCSI.

I dischi rigidi virtuali fissi offrono prestazioni migliori rispetto ai dischi rigidi virtuali a espansione dinamica. Tali prestazioni sono in effetti quasi analoghe a quelle dei dischi nativi. È inoltre possibile combinare le configurazioni. Ancora una volta, la soluzione ideale si basa sul carico di lavoro. Per ulteriori dettagli, consultare il white paper sulle prestazioni dei dischi rigidi virtuali.

Un altro punto da ricordare: è opportuno deframmentare regolarmente i dischi rigidi virtuali a espansione dinamica dalla prospettiva dell'host. La frequenza dipenderà dal numero di host presenti sul disco rigido e dalla frequenza di espansione.

Un'ultima considerazione sullo spazio di archiviazione dei dischi è rappresentata da una previsione ragionevole dei requisiti dello spazio per gli snapshot. È opportuno pianificare tra il 20 e il 30% di sovraccarico aggiuntivo, a seconda della frequenza e del numero di snapshot che si decide di utilizzare.

Memoria massima

È relativamente semplice calcolare la quantità di RAM necessaria. Considerare la quantità cumulativa di RAM per tutti i carichi di lavoro combinati e aggiungere 1 GB per l'host, oltre ad altri 20-30 MB per ogni guest.

Hyper-V SP1 include l'allocazione di memoria dinamica, che consente alle macchine virtuali di restituire all'host la quantità di RAM non utilizzata. Anche senza Service Pack 1, se si osserva la quantità di RAM utilizzata da un carico di lavoro, c'è ampio spazio per l'ottimizzazione.

La virtualizzazione consente inoltre di ottimizzare la quantità di RAM disponibile per un carico di lavoro in base alle esigenze, anziché alle dimensioni effettive dei chip di memoria. È ad esempio possibile creare una macchina virtuale con 600 MB di RAM, in cui in genere sussistono limitazioni relative alle dimensioni fisiche dei chip di RAM e ai canali di associazione. Un'unica limitazione: la dimensione della quantità di RAM deve essere un numero pari.

Con System Center Operations Manager (SCOM) è possibile visualizzare le informazioni cronologiche sulle prestazioni nel guest e regolare la RAM in base alle esigenze. La memoria a espansione dinamica in Hyper-V per Windows 2008 R2 SP1 ridurrà la necessità di questo livello di monitoraggio e gestione. Fino ad allora sarà possibile conseguire un notevole consolidamento esaminando queste informazioni sulla memoria dinamica con ogni macchina virtuale.

Le maggiori preoccupazioni riguardo all'I/O della rete riguardano la necessità di disporre del numero di porte e throughput necessario per i carichi di lavoro. Lo switch interno delle macchine virtuali supporta un throughput elevato, ma solo se si configurano i profili hardware della macchina virtuale con il NIC (Network Interface Controller) sintetico. Il NIC legacy è limitato a 100 MB. Se si dispone di NIC legacy per la distribuzione iniziale, è opportuno rimuoverli e riconfigurarli. Utilizzare un NIC sintetico, se supportato dal sistema operativo guest sottostante.

Per i computer host inseriti in cluster con iSCSI per il clustering, dedicare due NIC con Microsoft Multipath I/O in una configurazione di bilanciamento del carico solo per iSCSI. È possibile utilizzarli per le comunicazioni heartbeat mentre sono in fase di gestione del carico iSCSI. Aggiungere un altro NIC dedicato per la gestione degli host. Ciò che rimane è destinato alle macchine virtuali.

Se in genere la scheda madre contiene due NIC, è utile almeno un altro NIC a quattro porte. È consigliabile un numero superiore di NIC se si esegue un carico di lavoro della macchina virtuale con utilizzo elevato della rete, come una distribuzione del sistema operativo o un file server con utilizzo elevato. Le dimensioni di tutti i NIC devono essere di 10 GB.

Backup migliorato

Per quanto riguarda il backup, System Center Data Protection Manager (DPM) offre interessanti funzionalità che supportano Hyper-V e funzionalità specifiche delle applicazioni. Il backup di un'intera macchina virtuale presenta pro e contro rispetto al backup basato sulle applicazioni. Una nuova funzionalità di DPM 2010 consente di montare un disco rigido virtuale ed eseguire il ripristino di singoli file direttamente dal backup della macchina virtuale.

Valutare le singole esigenze delle applicazioni. Un ottimo esempio è rappresentato da SharePoint: se si sceglie di ripristinare un documento da una libreria utilizzando solo backup di macchine virtuali, sarà necessario ripristinare SQL Server, server Web front-end e un controller di dominio in una rete privata. Il passaggio successivo consiste nell'individuare il file all'interno della libreria. Con un backup di applicazioni basato su SharePoint è sufficiente ripristinare la libreria di documenti in un altro sito e quindi recuperare il file.

Con SCOM la soluzione ottimale consiste nell'implementare Performance and Resource Optimization (PRO). PRO consente il monitoraggio da parte di SCOM dei carichi di lavoro a livello di host e singole applicazioni. Consente inoltre di risolvere automaticamente problemi comuni, quali lo spostamento di una macchina virtuale da un host se la ventola della CPU non funziona in modo adeguato o se i requisiti del carico di lavoro superano la capacità host. Per ulteriori dettagli, consultare il manuale per l'integrazione di SCOM e VMM.

In fase di virtualizzazione dei controller di dominio è opportuno considerare anche alcuni problemi. È in genere auspicabile evitare di ripristinare snapshot o backup di un controller di dominio. In questo manuale viene analizzata in dettaglio la virtualizzazione di un controller di dominio.

Virtualizzazione e Hyper-V rappresentano potenti tecnologie in grado di ottimizzare le risorse, semplificare la gestione e conseguire un risparmio IT in termini economici. Una predisposizione appropriata alla distribuzione di un'infrastruttura virtuale consentirà di evitare una serie di problemi in corso d'opera.

Brian Marranzini

Brian Marranzini* è un progettista di tecnologie di infrastrutture principali esperto di virtualizzazione, Windows Server, Windows Client, infrastruttura e sicurezza. È inoltre un autore freelance e ha redatto diversi articoli per pubblicazioni di tecnologia, oltre ad aver condotto vari webcast e distribuito per conto di Hands on Labs una serie di materiali di formazione per interni e clienti. Ha infine sviluppato e condotto varie sessioni in eventi di lancio di importanti prodotti.*

Contenuto correlato: