Tra le innumerevoli novità di Windows Server 2012 reputo che quelle relative alla gestione dello storage meritino un approfondimento, data la loro importanza.
Vengono infatti introdotti due nuovi concetti, quello di Storage Pool e quello di Storage Space. Vediamo cosa sono queste due caratteristiche:
Uno Storage Pool è un gruppo di dischi fisici, anche di tipologia differente tra loro che vengono resi disponibili come un’unica risorsa sulla quale è possibile la creazione di dischi virtuali (Storage Space) e quindi di volumi da esporre al sistema e agli utenti. Possiamo quindi pensare di raggruppare in un unico pool una serie di dischi fisici differenti, siano essi SATA, SAS o addirittura USB.
Uno Storage Space, invece, è un disco virtuale creato sullo spazio libero di uno Storage Pool e reso accessibile al sistema. Uno Storage Space può essere creato tramite thin provisioning e può offrire ridondanza grazie alla possibilità di sfruttare mirror e parity. In alternativa lo storage space può inoltre essere di tipo semplice e, a questo punto, non offrire ridondanza lavorando come un puro stripe.
Grazia alla capacità degli storage space di sfruttare il thin provisioning, è possibile esporre al sistema o agli utenti uno spazio disco la cui capacità sia superiore allo spazio fisico realmente sottostante. Quindi, ad esempio, potremmo esporre uno spazio disco ridondato da 8TB pur avendo alla base, ad esempio, 4 dischi fisici da 1TB. Sul nostro storage space potremmo quindi creare un volume che sarà presentato con una dimensione superiore allo spazio fisicamente disponibile, consentendoci di aggiungere dischi fisici solo quando lo spazio sarà effettivamente necessario.
Ho predisposto un piccolo lab di esempio, lavorando con una VM Windows Server 2012. Alla VM ho connesso 3 dischi virtuali a dimensione dinamica da 127GB cadauno e li ho utilizzati per la creazione di pool e space.
Comincio dalla creazione del pool:
Assegno un nome al nuovo pool (pool_prova):
Seleziono i dischi da inserire nel pool. In questo caso ne seleziono solo 2 per poter aggiungere il terzo in un secondo momento. La colonna Allocazione indica se si intende riservare il disco con la funzionalità di hot spare.
A questo punto il pool è completo e dalla console posso avviare la creazione di un disco virtuale su di esso:
Dopo aver confermato il pool sul quale creare il disco, specifico per quest’ultimo un nome (disco_virtuale_su_pool_prova):
Seleziono la tipologia di ridondanza. Con due dischi posso solo selezionare il mirroring (oppure lasciare un semplice stripe non ridondato), quindi la scelta è obbligata:
Opto per il thin provisioning del disco:
Grazie al thin provisioning sono a questo punto in gradi di creare un disco da 1TB nonostante i due dischi fisici siano da 127GB:
Al termine della creazione parte automaticamente la procedura di aggiunta del volume sul disco appena preparato. Creo un volume da 1TB, ad occupare tutto il disco, e assegno una lettera di unità:
Ed ecco il mio volume da 1TB pronto e utilizzabile!
Per aumentare ulteriormente l’affidabilità del sistema decido ora di aggiungere il terzo disco disponibile come disco di hot spare.
Per fare ciò dico al mio pool_test di aggiungere un nuovo disco rigido:
Dalla finestra seleziono il disco e specifico, come allocazione, la voce Riserva a caldo:
Ed ecco il disco aggiunto correttamente:
Ora, per simulare un guasto disconnetto, tramite l’interfaccia di Hyper-V, uno dei 2 dischi virtuali che compongono il pool. Dopo alcuni istanti la console si accorge che la VM ha perso un disco e mi mostra con un segnale giallo la condizione di errore rilevata:
Anche controllando le proprietà del pool, l’integrità risulta compromessa:
Stesso dicasi per le proprietà del disco:
Grazie alla ridondanza impostata, comunque, il volume risulta tuttora accessibile ed utilizzabile, quindi creo su di esso una cartella di prova:
Ora posso dire al sistema di rimpiazzare il disco danneggiato con quello che avevo riservato come hot spare. Per fare ciò eseguo il ripristino del disco virtuale:
Windows mi avvisa di non eseguire operazioni sul pool durante questo intervento e in pochi istanti lo stato di allarme sul disco scompare:
Il disco disconnesso passa a stato ritirato, nell’elenco dei dischi fisici componenti il pool, come si vede dall’immagine precedente.
Il pool, invece, resta in stato di alert, poiché uno dei suoi dischi non esiste più. Posso a questo punto rimuoverlo e sostituirlo con un altro, oppure riconnetterlo e farlo diventare il nuovo disco di spare.
Nell’esempio ho lavorato con 3 dischi virtuali uguali. Va considerato che grazie alla versatilità di cui parlavo all’inizio dell’articolo, avrei potuto usare una macchina fisica con un disco SATA, un disco SAS e un disco USB per esasperare lo scenario.
Concludo con una considerazione: la nuova gestione dello storage proposta con Windows Server 2012, fa pensare che l’orientamento futuro sarà quello di offrire come caratteristica software delle funzionalità, come quella del thin provisioning, che fino a poco tempo fa erano legate a dispositivi storage decisamente costosi (HP, IBM, Compellent, EqualLogic, ecc.). Questo approccio consentirà di accedere a tecnologie considerate di fascia enteprise anche a realtà con budget più limitati.
2 Comments