Premessa
Per seguire con profitto questo tutorial pratico è necessario avere installato Windows Server 2012 in edizione Datacenter. È consigliabile scaricare anche la versione gratuita di System Center 2012 e ottenere una sottoscrizione a Windows Azure. Si possono facilmente utilizzare le versioni di prova messe gratuitamente a disposizione da Microsoft:
- Prova gratuita Windows Server 2012 R2
- Prova gratuita System Center 2012 R2
- Prova gratuita Windows Azure
Le necessità di un Cloud avanzato
Nell’articolo precedente di questa serie dedicata al Cloud OS abbiamo analizzato le componenti Cloud di base adatte ad una piccola rete di computer, una rete che potrebbe trovarsi in qualsiasi delle nostre piccole imprese. Abbiamo, in particolare, analizzato le comode funzionalità di backup che possono essere gestite attraverso Windows Server 2012 R2 e Windows Azure. In questo secondo articolo andremo invece ad analizzare quelle funzionalità del Cloud OS che abbiamo definito “avanzate” e che sono adatte ad una rete di una media azienda che assume sempre più la fisionomia di un piccolo datacenter.
Come abbiamo più volte ripetuto, una delle caratteristiche uniche del complesso di tecnologie sviluppate da Microsoft per supportare l’IT, e che nel loro insieme formano il Cloud OS, è quella di saper accompagnare la crescita della rete potendo contare su strumenti, interfacce e funzionalità coerenti. Quello che abbiamo chiamato “una piattaforma coerente”.
Proprio per rendere evidente questo aspetto, nelle pagine che seguiranno vedremo in pratica come costruire, sulla basa di un’installazione di Windows Server, diversi servizi di supporto all’IT nel campo della virtualizzazione dei server, della gestione dei dati e della gestione del network. Vedremo, in particolare, come aggiungere servizi server ad un datacenter senza dover acquisire nuove macchine (Hyper-V), come ottimizzare l’uso dello spazio degli hard disk del datacenter creando spazi di archiviazione condivisi (Storage Spaces) e, infine, forniremo alcune indicazioni sulle possibilità che offre il Cloud OS nel campo della virtualizzazione delle reti (Network Virtualization).
Le componenti di un piccolo Datacenter
In questo nuovo articolo dedicato alla pratica del Cloud OS cercheremo di comprendere assieme quali sono le componenti fondamentali che possono essere trovate in un datacenter di una piccola o media impresa. Parlare di datacenter in modo generico rischia di essere poco utile poiché sono diverse le angolazioni dalle quali possiamo vedere le problematiche presenti. Potremmo pensare agli aspetti energetici, a quelli inerenti la connettività, al controllo accessi, agli aspetti di durevolezza, a quelli annessi alla proliferazione degli apparati e così via.
Dal punto di vista che abbiamo adottato in questa sede, comprendere un datacenter vuol dire conoscere a livello logico come le nostre risorse possano esser gestite al meglio, favorendo l’utilizzo delle nuove tecnologie introdotte nella versione Datacenter di Windows Server 2012 R2 (scaricala gratuitamente).
Lo scenario cui ci riferiamo pertanto è quello di una PMI che deve erogare un certo numero di servizi interni ed esterni all’azienda. È abbastanza comune pensare che in una azienda di questo tipo siano presenti almeno:
- Domain Controller
- Server WEB
- SQL Server
- Server DNS
Fino a qualche anno fa, quando la realtà della virtualizzazione non era così consolidata, avremmo visto batterie di server ognuno con uno specifico ruolo. Oggi invece, con il Cloud OS, abbiamo a che fare con pochi server fisici che ospitano un numero sempre crescente di ruoli e servizi. Il vantaggio in questo caso è innegabile: non solo in termini di risorse fisiche ed energetiche che sono messe in campo, ma anche perché la gestione non è più affrontata in modo verticale su ognuna delle risorse coinvolte, ma in modo globale verso tutte le risorse virtualizzate.
Nel mondo Microsoft il concetto di virtualizzazione è strettamente legato ad alcune specifiche risorse fisiche che possono essere astratte: server, storage ed in parte la rete. Per noi capire questi aspetti vorrà dire svincolarci dal concetto fisico di queste componenti e concentrarci invece sul loro aspetto logico. Dal nostro punto di vista possiamo prendere come presupposto che esista almeno un server, ben dimensionato per la nostra realtà, in grado di ospitare le risorse logiche che vogliamo mettere a disposizione.
Nel tutorial a seguire sarà nostra cura prendere proprio queste tre risorse e capire come gestirle, cosa è possibile configurare e quali sono le novità introdotte da Windows Server 2012 R2 nei rispettivi ambiti.
Immagine in evidenza gentilmente fornita da Shutterstock.
Lo scenario di riferimento
Andiamo a comprendere più da vicino il nostro scenario e cerchiamo di capire come l’architettura tradizionale venga interessata dalle novità introdotte dalle ultime versioni della piattaforma server di casa Microsoft.
Per molti il datacenter è qualcosa di statico, di intoccabile e una volta progettato deve stare lì per il massimo del tempo concepibile. In fondo è proprio questa fossilizzazione del mondo IT ad averne rallentato per troppo tempo l’innovazione: la paura del cambiamento, dei costi annessi è il vettore di tutti coloro che pensano alla propria infrastruttura come qualcosa di intoccabile.
Il mondo IT è ben diverso: è fortemente dinamico. Si espandono le esigenze dell’azienda, le tecnologie di interesse, le frontiere da intraprendere e non sempre siamo in grado di coprire i costi e le competenze per far fronte al cambiamento. Proprio questo è ciò che la virtualizzazione e il concetto di Cloud OS vogliono superare, entrando a supporto del mondo IT.
Proprio questa è la realtà di rete che prenderemo in considerazione in questo articolo. Nella seguente digura si può facilmente capire qual è la situazione attuale dell’azienda, nella quale sono presenti in certo numero di macchine fisiche, un sistema di storage dedicato ed una rete locale.
Ovviamente questa visione è minimalista, ma è necessaria al fine di capire quale sarà il nostro punto di vista e dove verte il cambiamento. Quello che ci aspettiamo alla fine di questo tutorial è esattamente capire a fondo quali sono i passi atti alla virtualizzazione delle seguenti risorse, come possiamo migrarle in maniera semplice e come sarà il nostro piccolo datacenter dopo avere ultimato e compreso a fondo le diverse componenti: Hyper-V, gli Storage Spaces e il Networking.
Nelle prossime pagine vedremo in dettaglio come utilizzare Hyper-V, Storage Spaces e forniremo nozioni di base del networking di un piccolo datacenter.
Hyper-V: creazione, migrazione, protezione
Hyper-V è il prodotto per la virtualizzazione di Microsoft. Non ci dilungheremo nella descrizione specifica delle funzionalità di questo prodotto, cosa che abbiamo avuto modo di affrontare in altri articoli, quanto piuttosto nella descrizione del suo utilizzo.
Basti dire, in questa sede, che chi utilizza oggi Hyper-V in Windows Server 2012 R2 ha a disposizione lo stato dell’arte dei sistemi di virtualizzazione, sia in termini di funzionalità, sia in termini di scalabilità, sia in termini di sicurezza. Va sottolineato anche che, a differenza di prodotti concorrenti, Hyper-V in Windows Server 2012 R2 è completamente gratuito e già incluso nel sistema (basta semplicemente installarlo). Non è dunque necessario acquistare ulteriori licenze per gestire il proprio ambiente virtualizzato. Se si acquista l'edizione Datacenter, inoltre, si hanno illimitati diritti di virtualizzazione: ciò significa che è possibile creare un ambiente altamente virtualizzato su un solo server acquistando un'unica licenza di Windows Server 2012 R2 Datacenter.
Tornando alle funzionalità, Hyper-V in Windows Server 2012 R2 introduce le seguenti nuove caratteristiche:
Funzionalità |
Descrizione |
Shared virtual hard disk |
È possibile abilitare il clustering delle macchine virtuali direttamene condividendo i Virtual Hard Disk VHDX. Questo vuol dire che più macchine virtuali accedono contemporaneamente allo stesso VHDX. |
Resize virtual hard disk |
È possibile ridimensionare il virtual hard disk delle macchini virtuali anche se queste sono in esecuzione. |
Storage Quality of Service |
Con questa nuova funzionalità è possibile stabilire un massimo ed un minimo di operazioni I/O per secondo (IOPS) per ogni virtual disk. |
Live migrations |
Negli ultimi update sono state migliorate le performance associate al Live Migrations delle macchine virtuali da un nodo all’altro così da permettere all’amministratore di scegliere quali parametri deve avere un nodo al fine di consentire una giusta migrazione. |
Virtual machine generation |
Una nuova funzionalità che consente di scegliere, qualora il sistema che andiamo ad installare lo supporti, di esser configurato come 2° Generazione affinché possa sfruttarne le funzionalità di:
|
Integration services |
È possibile copiare file nella macchina virtuale senza usare una connessione di rete anche se questa è in stato di running. |
Export |
È possibile esportare la macchina virtuale o un suo checkpoint anche se questa è in esecuzione |
Failover Clustering and Hyper-V |
È stata migliorata l’integrazione tra Windows Failover Clustering e Hyper-V al fine di prevenire fallimenti a livello di rete e di storage. |
Enhanced session mode |
Con le ultime novità è stata migliorata l’esperienza della connessione alle macchine virtuali consentendo l’uso di risorse locali al server e migliorando così l’esperienza dell’utente. |
Hyper-V Replica |
È stato migliorato il supporto in caso di replica consentendo ora l’uso di un terzo server Replica aumentando la flessibilità in caso di fallimento. È anche possibile cambiare la frequenza con le quali vengono effettuate le repliche. |
Linux support |
È stato migliorato nelle ultime versioni il supporto al backup delle macchine Linux ed è possibile usare anche in questi ambienti la memoria dinamica. |
Automatic Virtual Machine Activation |
Se il nodo sul quale stiamo lavorando è un Windows Server 2012 R2 Datacenter è possibile delegare in maniera automatica l’attivazione delle nuove macchina virtuale create cui il sistema sia Windows Server 2012 R2 Standard, Essentials o Datacenter. |
Hyper-V Networking |
Tutti le novità riguardanti il mondo del networking verranno approfondite in questo articolo. |
La versione che useremo in questo articolo è Windows Server 2012 Datacenter Edition, versione che può essere utilizzata gratuitamente per 180 giorni scaricandola dal sito Microsoft. Scaricatela ora, vi sarà utile per seguire il nostro tutorial pratico, tutorial in cui vedremo come abilitare Hyper-V, come creare macchine virtuali, come migrare macchine fisiche esistenti nella nuova infrastruttura virtualizzata e come proteggere questa infrastruttura attraverso il servizio Hyper-V Replica.
Prima installazione di Hyper-V
Il ruolo Hyper-V consente di creare e gestire un ambiente di elaborazione virtualizzato. Nel nostro scenario di riferimento questo ruolo sarà installato su due server fisici che chiameremo HYPER1 e HYPER2.
Per installare il ruolo basta andare sul Server Manager del nostro server, fare clic su Aggiungi Ruoli e Funzionalità (dal link Gestione in alto a destra), selezionare il Server sul quale vogliamo andare ad installare il ruolo specifico:
Nel menu successivo selezionare dall’elenco il ruolo Hyper-V. Alla selezione del ruolo verrà eseguito un wizard di configurazione che ci richiederà di installare le funzionalità collegate al nuovo ruolo.
Proseguendo nel wizard di installazione saremo informati su alcune importanti nozioni a riguardo alla gestione delle schede di rete e sulla gestione del nodo Hyper-V in creazione.
Scegliamo le schede di rete da coinvolgere nel processo di installazione e configurazione, quelle che ci consentiranno di connetterci alla rete fisica, e procediamo avanti nel wizard.
Nella schermata successiva ci verrà richiesto di abilitare o no la funzionalità di Live Migration che, come descritto in altro articolo, offre la possibilità di eseguire migrazioni in tempo reale delle macchine virtuali in cluster o non in cluster. Avendo due nodi sui quali lavorare, conviene abilitare questa funzionalità al fine di poterne in seguito beneficiare qualora necessario.
Nell’ultima schermata prima del riepilogo ci viene richiesto il percorso predefinito dove Hyper-V andrà a salvare le configurazioni delle macchine e i nuovi dischi associati.
Confermiamo quanto configurato e aspettiamo il termine del processo di installazione.
Installando il ruolo Hyper-V vengono installati i componenti necessari e, facoltativamente, gli strumenti di gestione quali Windows Hypervisor, il Servizio Virtual Machine Management Hyper-V, il provider WMI di virtualizzazione e altri componenti di virtualizzazione come il bus per la macchina virtuale (VMBus), il provider di servizi di virtualizzazione (VSP) e il driver dell'infrastruttura virtuale.
Per abilitare il nostro secondo server, replichiamo le stesse operazioni sul server HYPER2.
Fate attenzione: bisogna ovviamente considerare che trovandoci nel contesto di una rete aziendale ambedue queste macchine saranno joinate sul dominio preesistente.
Centralizzazione della gestione
Il join a dominio delle due macchine server ci consente di centralizzarne la gestione e di usufruire in maniera del tutto semplificata delle nuove funzionalità introdotte in Hyper-V. Di fatto dalla Console di gestione di Hyper-V (si avvia dal menu Strumenti del Server Manager) di un singolo nodo (per es. HYPER1) possiamo aggiungere anche il secondo server semplicemente cliccando su Connetti al Server e selezionando il computer specifico indicando il suo nome host oppure sfogliando la rete.
A questo punto possiamo controllare completamente tutte le macchine presenti su ogni nodo, comprese le impostazioni degli stessi server raggiungibili con un semplice click dal menu Azioni.
Tutorial passo per passo
Dopo aver installato Hyper-V, addentriamoci ora nel processo che permette di migrare uno o più server fisici presenti nel nostro datacenter in nuovi server virtuali, procedendo così al consolidamento dell’hardware, il primo passo che deve affrontare chiunque voglia abilitare nel proprio reparto IT le novità del Cloud OS.
Sono molte le soluzioni che possiamo percorre al fine di migrare il nostro ambiente. Possiamo considerare principalmente tre diversi scenari:
- Creare le nuove macchine direttamente nel nodo virtuale;
- Migrare le macchini virtuali da un hypervisor pre-esistente al nuovo nodo Hyper-V;
- Convertire le macchine fisiche preesistenti in macchine virtuali.
Considereremo nel nostro tutorial principalmente il primo e il terzo scenario. Le migrazioni del secondo tipo, le migrazioni V2V (virtual to virtual), variano molto da scenario a scenario. Di fatto, a seconda dell’hypervisor preesistente dobbiamo capire se esistono metodi di conversione e/o importazione automatica delle macchine oppure se dobbiamo (in casi estremi) considerare il nodo virtuale come fosse un nodo fisico da importare e pertanto ricadere nel terzo dei nostri casi.
Creazione di nuove macchine in Hyper-V
Il primo caso che prendiamo in considerazione è la creazione di una nuova macchina nel nostro ambiente di virtualizzazione. Per fare ciò possiamo semplicemente accedere ad uno dei nostri server e scegliere di creare la macchina virtuale su uno dei server su cui abbiamo installato il ruolo Hyper- V.
Il wizard che ci guiderà nel processo ha il compito di andare ad impostare delle informazioni essenziali, come il nome della macchina e il percorso di archiviazione:
Le opzioni annesse al tipo di generazione (la seconda generazione di macchine virtuali è stata descritta ad apertura di pagina quando abbiamo indicato le novità di Hyper-V in Windows Server 2012 R2).
Assegniamo quindi la quantità di memoria da assegnare alla singola macchina e la possibilità di utilizzare memoria dinamica a seconda della richiesta:
Poi le opzioni annesse alla configurazione di rete e nello specifico a quale scheda di rete dobbiamo collegare la nostra macchina:
Prima di procedere nel concreto nella creazione della macchina ci viene richiesto di creare un disco rigido virtuale o di usarne uno preesistente. Il wizard ci consente anche scegliere l’ubicazione dei nostri VHDX o di posticipare la nostra scelta ad un secondo momento.
In ultima battuta ci vengono richieste le informazioni riguardanti il sistema operativo da installare al termine della creazione.
Per ogni macchina virtuale creata abbiamo la possibilità di applicare delle impostazioni avanzate con le quali impostare un certo numero di informazioni supplementari, siano esse annesse all’hardware della macchina sia alla gestione dell’hypervisor sulla macchina stessa.
Possiamo, ad esempio, aggiungere delle schede di rete, gestire il numero di processori da assegnare ad un nodo, gestire la quantità di memoria dinamica da allocare e così via. Tutte queste opzioni consentono quindi di modellare al meglio il nostro ambiente virtuale a seconda delle reali esigenze da coprire.
Convertire le macchine fisiche preesistenti in macchine virtuali
Per questo tipo di procedura possiamo sostanzialmente procedere per due diverse vie a seconda dell’ambiente in cui ci troviamo. Una di queste prevede l’utilizzo di System Center 2012 R2 Virtual Machine Manager, uno dei componenti di System Center 2012 R2, che ha già inclusa la procedura di importazione di macchine fisiche. Per maggiori informazioni riguardo a questa procedura, vi invitiamo a consultare la documentazione ufficiale di TechNet.
Il processo invece che interessa a noi più da vicino sfrutta l’ausilio di un tool per la conversione dei dischi fisici in VHD. Il tool in questione è Disk2vhd sviluppato da Mark Russinovich e Bryce Cogswell.
Una volta lanciata la sua esecuzione, dalla macchina che dobbiamo migrare (Disk2vhd supporta sistemi Windows Server 2003 e successivo e Windows XP SP2 e successivo), non dobbiamo far altro che scegliere il percorso dove salvare il disco, quale disco dobbiamo migrare e siamo pronti al processo di creazione.
Una volta creato il VHD siamo pronti per ripristinare e migrare la macchina nel nuovo ambiente virtuale. Basta seguire i passi visti sopra per la creazione di una nuova istanza e, al momento di scegliere il disco, basta selezionare il VHDX appena creato.
Replica delle macchine virtuali
Una funzionalità molto utile in un contesto virtualizzato di un piccolo datacenter è l’utilizzo della replica delle macchine critiche. Hyper-V Replica, questo il nome del servizio, permette di copiare, a intervalli periodici, impostazioni, contenuti e snapshot di macchine virtuali su server remoti e di ripristinarli nel caso di perdita dei dati.
Per sfruttare al funzionalità dobbiamo, per prima cosa, abilitarla sia sui server che ricevono la replica, sia sui server che la inviano (entrambi, naturalmente, devono avere il ruolo Hyper-V installato e configurato).
Apriamo per prima cosa la Console di gestione di Hyper-V e, dalle Impostazioni di Hyper-V, abilitiamo la replica sul server scelto come destinazione (il Replica server). Per semplicità nel nostro ambiente abbiamo deciso di effettuare l’autenticazione su protocollo HTTP senza così aver necessità di un certificato previsto dalle connessioni HTTPS. Abbiamo anche autorizzato al contempo tutti i server che sono autenticati rispetto al dominio esistente.
A questo punto accertiamoci di abilitare la porta sul firewall di Windows. Nel caso di Windows Firewall basta abilitare la regola con il nome Listener HTTP replica Hyper-V (TCP-in) (nel caso di connessioni HTTPS la regola è Listener HTTPS di Replica Hyper-V (TCP-In)).
L’operazione di Replica a questo punto è veramente a portata di un clic. Torniamo sulla Console di gestione di Hyper-V, facciamo clic con il pulsante destro del mouse sulla macchina che vogliamo replicare e scegliamo l’opzione Abilitazione replica per entrare nello specifico wizard che ci guiderà passo per passo nella configurazione.
Scegliamo il server di destinazione della nostra replica e, per ottimizzare la trasmissione dei dati, selezioniamo Comprimi i dati trasmessi in rete.
Scegliamo i dischi che vogliamo copiare, in questo caso abbiamo solo un VHD:
Scegliamo la frequenza con la quale vogliamo inviare le modifiche al server di replica
In caso di necessità possiamo scegliere di creare più punti di ripristino della macchina che andiamo a replicare.
Ed infine scegliamo l’opzione per pubblicare la prima replica sul server di destinazione che può esser fatto a mezzo di trasferimento di rete, su supporto fisico o su una macchina virtuale già esistente sul server di replica.
A questo punto sul nuovo nodo troveremo una macchina omonima a quella appena replicata.
Come usare Storage Spaces
Tra le novità che andiamo ad affrontare in questo tutorial ci sono quelle associate allo spazio fisico che dedichiamo ai dati. In una qualsiasi realtà aziendale, è ormai impossibile pensare che non ci sia qualche TB di materiale da condividere, qualche disco dedicato alle macchini virtuali, ai database, alle cartelle utente e così via.
Quando parliamo di storage in ottica di IT moderna, la cosa che dobbiamo veramente tenere in conto è tuttavia la velocità con la quale questi dati si espandono.
Questa è una delle chiavi che ha mosso Microsoft a rivedere nelle ultime versioni di Windows Server le funzionalità di gestione di piccoli e grandi archivi dei dati. Queste preoccupazioni sono state affrontate con l’introduzione di una nuova tecnologia: Storage Spaces. Storage Spaces è una tecnologia dedicata alla virtualizzazione dello storage che permette di aggregare in un unico gruppo virtuale lo spazio di diversi dischi connessi o fisicamente presenti in un server e di suddividere successivamente questo gruppo in segmenti da assegnare a macchine virtuali o server fisici.
Poiché supporta hardware comune e dischi tradizionali a basso costo (anche USB), Storage Spaces è una tecnologia che permette ad una piccola e media impresa di sfruttare al cento per cento lo spazio disponibile nei propri dispositivi di archiviazione e metterlo a disposizione del datacenter senza dover acquistare costose soluzioni tipo SAN.
Come abbiamo già indicato in altri articoli di questo sito, Storage Spaces è stato introdotto per la prima volta in Windows Server 2012 e migliorato in Windows Server 2012 R2. Nell’ultima versione del server di Microsoft (che si può scaricare gratuitamente in prova per 180 giorni) questa funzionalità è stata migliorata in modo da aumentare performance e sicurezza. In particolare, attraverso gli Storage tiers è possibile distribuire automaticamente i file da uno storage SSD (più veloce) ad uno storage HHD (meno veloce) in base al loro utilizzo, mentre la funzionalità Write-back cache consente di salvare sui dischi SSD presenti nel pool i dati prima di essere scritti sui dischi HHD (vedremo entrambe le tecnologie a fine pagina).
Le parole chiavi di questa astrazione che incontreremo lungo il nostro percorso sono:
- Storage pools: una collezione di dischi fisici che possono esser aggregati tra loro a formare un unico gruppo.
- Storage spaces: unità logiche create nello spazio messo a disposizione degli Storage pool con particolari attributi che scopriremo in seguito.
Andiamo a capire più da vicino questa tecnologia con degli esempi concreti all’interno del nostro datacenter. Diamo per assunto che all’interno della nostra infrastruttura siano presenti due server FS1 e HYPER2 configurati con il ruolo File Server e cui sono “attaccati” dischi fisici SSD e HDD. Per la configurazione dello specifico ruolo (Servizi file e archiviazione raggiungibile dal Server Manager) nel nostro caso sono state attivate tutte le funzionalità.
Come sempre da un singolo nodo riusciamo ad aggregare e gestire tutti i server associati. Per creare un nuovo Storage Pool dal Server Manager andiamo su Servizi File e archiviazione, selezioniamo la voce Pool di Archiviazione e, dal menu Attività, scegliamo la voce Nuovo Pool di archiviazione.
Procediamo nel wizard che ci compare dando un nome alla risorsa da creare (nel nostro caso Pool1):
Nel secondo passaggio selezioniamo i dischi da aggiungere al Pool1. I dischi possono essere dischi di varia tipologia: USB, SATA, SAS, ma anche dischi virtuali in formato VHD o VHDX. Dopo aver selezionato i dischi, al termine della configurazione, possiamo decidere di creare all’interno del gruppo di dischi (all’interno di Pool1 dunque) un nuovo disco virtuale da utilizzare per salvare i nostri dati.
Scegliamo un nome per il disco virtuale da creare:
Scegliamo il tipo di layout:
- Semplice: i dati sono distribuiti, senza ridondanza o informazioni di parità, su due o più dischi. È l’equivalente di una configurazione RAID 0 (striping) e offre un aumento di prestazioni, ma non offre soluzioni di sicurezza.
- Mirror: i dati vengono duplicati su due o tre dischi. È l’equivalente di una configurazione RAID 1 (mirroring) che offre tolleranza ai guasti (fault-tolerance) e affidabilità.
- Parity: i dati vengono distribuiti su tre o più dischi salvando uniformemente i dati di parità dei file su uno dei dischi. È l’equivalente di una configurazione RAID 5 (parity) e offre la configurazione più sicura per la protezione dei dati.
Si deve scegliere anche il tipo di provisioning che vogliamo per il nostro disco tra le opzioni:
- Thin: viene utilizzato solo lo spazio necessario disponibile sul volume che cresce fino al suo esaurimento.
- Fisso: viene utilizzato uno spazio fisso.
Stabiliamo la dimensione desiderata del disco.
E ultimiamo il processo di creazione dello stesso. Al termine di questa procedura possiamo creare un nuovo volume di dati e renderlo disponibile al nostro datacenter.
Data deduplication
Storage space supporta la funzionalità di Data deduplication introdotta in Windows Server 2012. La nuova funzionalità viene usata al fine di risparmiare spazio su disco evitando di creare molteplici copie degli stessi file. In pratica, quando questa funzionalità viene attivata, i file sono suddivisi in piccoli frammenti chiamati chunk le cui dimensioni possono variare da 32 a 128 KB. Il sistema analizza i chunk, cancella quelli identici preservando solo quelli unici. I file, quando vengono richiesti, sono ricomposti utilizzando i vari chunk disponibili.
All’interno di una rete questa funzionalità è molto importante e ancor di più all’interno di un datacenter virtualizzato dove le molteplici macchine virtuali condividono gran parte dei file del sistema operativo. L’immagine di seguito ci fa capire quanto abilitare questa funzione ci permette di salvare in percentuale di spazio sui nostri volumi in base alla tipologia di file cui viene applicata.
Durante la configurazione di questa opzioni possiamo scegliere un intervallo di tempo minimo oltre il quale un file può esser soggetto alla deduplica e configurare quali estensioni sono esenti da tale processo.
È sempre possibile controllare lo stato della deduplica, e quanto sia concreto il beneficio di applicazione della tecnologia, direttamente dal pannello dei Servizi di file e archiviazione alla voce Volumi.
Storage Tier
Una delle grandi novità introdotte da Windows Server 2012 R2 è la funzionalità Storage Tier. Questa funzionalità è stata creata al fine di beneficiare delle performance degli SSD e dello spazio dei normali HDD.
Storage Tier permette di combinare i due tipi di supporto facendo in modo che i dati maggiormente usati siano collocati fisicamente sui dischi SSD e quelli meno usati sui tradizionali dischi a piatti. Tutte queste operazioni sono del tutto trasparenti sia agli utenti sia all’amministratore e permettono un aumento delle performance significativo in termine di velocità di accesso alle risorse senza andare a discapito della quantità di spazio, garantita dai normali dischi HDD. L’immagine che segue, recuperata da Microsoft TechNet, rende molto bene l’idea anche in presenza di un solo disco SSD e di un disco HDD, nel quale vengono simulati rispettivamente 4 dischi SSD e 8 dischi HDD.
Sempre a proposito di dischi, un’altra utile funzionalità disponibile in Windows Server 2012 R2 che riguarda l’uso degli SSD è quella chiamata Write-back cache secondo la quale su una porzione dell’SSD è creata una cache di scrittura necessaria ad ottimizzare le scritture stesse da parte dei job di sistema.
Come gestire il networking
Negli ultimi anni sono state moltissime le innovazioni che Microsoft ha introdotto nel campo del networking dei propri prodotti server. Parlare di tutte queste innovazioni in maniera anche solo descrittiva potrebbe portare ad un discorso lungo, laborioso e, soprattutto, al di fuori delle necessità che ci siamo posti nel progettare questa serie di articoli dedicati al Cloud OS. Coloro che fossero interessati ad approfondire le tecnologie di rete negli ambienti server potrebbero partire dal documento di riferimento della libreria TechNet.
Nel nostro caso ci soffermeremo invece principalmente nel descrivere quali sono gli aspetti da prendere in considerazione della cosiddetta network virtualization.
Quando parliamo di network virtualization non stiamo facendo altro che estendere all’intera rete il concetto di isolamento ed astrazione che abbiamo sino ad ora applicato ai server fisici o ai dispositivi di archivazione. In questa configurazione dunque ogni scheda virtuale ha l’illusione di essere collegata ad una rete dedicata. Questo concetto di isolamento ed autonomia è molto importante soprattutto nella prospettiva del Cloud OS, nella quale diversi clienti possono usare indirizzamenti interni uguali; per evitare collisioni è importante pertanto poter etichettare il traffico in specifiche VLAN.
Nell'immagine sottostante si capisce con maggior chiarezza come sia necessario astrarre il concetto di rete al fine di prevenire collisioni di diversi clienti/server e di riconfigurare gli ambienti preesistenti.
Tra le diverse opzioni che abbiamo a disposizione nella creazione e configurazione della rete del nostro datacenter dobbiamo premettere che a livello di nodo Hyper-V possiamo creare diversi virtual switch (in italiano ‘commutatore virtuale’) a seconda delle nostre esigenze. I modelli a disposizione nella creazione sono essenzialmente tre:
- Esterna: crea un legame con la scheda di rete fisica in modo da comunicare con il mondo esterno.
- Interna: crea un virtual switch che permette la comunicazione solo tra le macchine virtuali in esecuzione su quel computer fisico e lo stesso.
- Privata: crea un virtual switch che permette la comunicazione solo tra le macchine virtuali in esecuzione su quel computer fisico.
Per creare nuovi virtual switch possiamo aprire la Console di gestione di Hyper-V e scegliere dal menu a tendina del server l’opzione gestione commutatori virtuali ed andare a creare ciò di cui abbiamo bisogno.
A questo punto possiamo andare sulle diverse schede di rete di ogni macchina virtuale ed impostare l’identificatore VLAN (ID VLAN) al fine di “colorare” differentemente il traffico all’interno dello stesso nodo Hyper-V.
Per fare ciò andiamo nelle impostazioni della macchina virtuale, abilitiamo l’ID VLAN sotto la scheda di rete e assegniamo un numero che serve per etichettare il traffico.
Come possiamo dedurre anche da questa immagine, sono molte le funzionalità annesse al networking degli ambienti virtuali, come la larghezza di banda assegnata, la diagnostica sulle schede di rete, la possibilità di sfruttare NIC Teaming per aggregare banda o per politiche di failover e così via.
Non è compito del nostro tutorial approfondire tutte queste possibilità, per le quali vi rimando ad un importante whitepaper nel quale troverete molte delle possibilità del nostro Windows Server 2012 R2 in ambito di rete.
Nel nostro studio di caso è invece importante configurare e segmentare la rete al fine di impedire sovrapposizioni del traffico. I due server, per consentire maggior efficienza, potrebbero dunque avere delle schede di rete dedicate alla Replica e al Live Migration e un numero di schede di rete proporzionale alla qualità minima del servizio richiesto sulle diverse macchine; per esempio possiamo pensare di dedicare una scheda di rete al server WEB così da non andare a diminurine le performance in caso di elevate richieste, una condivisa tra Active Directory e server SQL e così via.
Come si evince da questo semplice scenario, configurare in maniera adeguata il networking prevede un’adeguata conoscenza sulle politiche di traffico da adottare e sui requisiti minimi stabiliti per ogni servizio che si vuole erogare.
Uno scenario abbastanza ricorrente in ambito di networking è quello di rispondere ad eventuali guasti e permettere così un’alta affidabilità del servizio anche a livello della rete. Per rispondere a questa esigenza, una delle possibilità, è quella di sfruttare la nuova funzionalità introdotta in Windows Server 2012 del NIC teaming. Il concetto è quello di creare un gruppo di schede di rete che lavorano insieme al fine di permettere la continuità del servizio. Oltre alla continuità un altro problema al quale si risponde tramite la scelta dell’adozione del gruppo di schede di rete è quello dell’allocazione di banda; di fatto aggregare le schede vuol dire anche andare ad ottenere maggiore banda a disposizione. L’algoritmo di load-balancing di Windows Server 2012 R2 ha la responsabilità di far lavorare al meglio le schede che fanno parte del team. Quello che andremo a fare ora è creare un nuovo gruppo di schede che sia associato e serva il nostro server Hyper-V. Questo a seguito è lo schema di riferimento sul quale stiamo lavorando.
Sul nostro server Hyper1 abbiamo installato una nuova scheda di rete. Provvediamo ora a creare un nuovo gruppo di shede. Per fare ciò, comodamente dal nostro Server Manager, possiamo cliccare con il destro sul nostro host HYPER-V e scegliere l’opzione di creazione del gruppo NIC
Dal menu attività del box gruppi scegliamo di creare un nuovo gruppo (Configura gruppo NIC).
Nel wizard che ci troviamo di fronte compiliamo il nome del team secondo le nostre esigenze e scegliamo le schede da assegnare. Dal menu Proprietà aggiuntive possiamo andare ad impostare ulteriori informazioni riguardanti la modalità di bilanciamento del carico, piuttosto che altre impostazioni necessarie alla creazione del gruppo.
Lasciamo nel nostro caso le impostazioni che ci assegna il wizard di default e ultimiamo la configurazione del nostro gruppo. Dopo qualche secondo, nella stessa schermata di creazione del team, possiamo prendere visione di quanto creato.
A questo punto andiamo ad aggiungere dalla console di gestione di Hyper-V il nostro nuovo gruppo di schede. Per fare ciò scegliamo la voce Gestione commutatori virtuali e, nella schermata che abbiamo di fronte, andiamo a creare un nuovo commutatore di rete virtuale Esterno.
Clicchiamo sul pulsante Crea commutatore virtuale e dalla nuova schermata andiamo a compilare quanto necessario:
- Il nome del commutatore;
- Come tipo di connessione scegliamo Microsoft Network Adapter Multiplexor Drive che rappresenta il nostro gruppo precedentemente creato.
Impostiamo se necessario un ID per la VLAN di riferimento e confermiamo il processo di creazione. Un alert ci informa che durante l’applicazione delle scelte fatte è possibile avere problemi istantanei di connettività sul nodo Hyper-V. Confermiamo e concludiamo il nostro processo di creazione.
A questo punto possiamo associare il nostro Gruppo di schede ad una o più macchine virtuali presenti (o da creare) sullo stesso Hyper-V. Cliccando con il tasto destro del mouse sulla macchina virtuale da modificare scegliamo il pannello delle proprietà e, sotto Scheda di Rete, andiamo ad associare il nostro nuovo commutatore virtuale creato.
Sotto il menu Funzionalità avanzate delle schede di rete spuntiamo l’opzione sotto il Gruppo NIC al fine di ereditarne i benefici configurati sul sistema operativo guest.
A questo punto sulla macchina virtuale godremmo di tutti i benefici in termine di banda e di risposta al fallimento configurati nella macchina Hyper-V.