Storage virtualization
Fino a questo momento abbiamo applicato il concetto di virtualizzazione a elementi che elaborano dati (come i server e i desktop) o che eseguono compiti specifici (come le applicazioni). Ma l'infrastruttura informatica di un'azienda non è fatta solo di processori e memoria RAM; il cuore pulsante di ogni servizio, la vera ricchezza da proteggere e gestire, sono i dati. E i dati risiedono fisicamente sui dischi rigidi.
In questa lezione faremo un passo in profondità nell'architettura di un centro di calcolo, spostando la nostra attenzione dalla potenza di elaborazione allo spazio di archiviazione. Scopriremo come la Storage Virtualization (virtualizzazione dell'archiviazione) abbia liberato i dati dalla prigione fisica dei singoli computer, permettendo la nascita di funzionalità avanzatissime che oggi diamo per scontate, come lo spostamento istantaneo delle macchine virtuali e i salvataggi in tempo reale.
Il problema: la rigidità dei dischi fissi locali
Per decenni, l'approccio standard all'archiviazione in ambito informatico è stato il [tooltip]DAS: Direct Attached Storage, ovvero "archiviazione collegata direttamente"[/tooltip]. In questo modello tradizionale, ogni server fisico ha i propri dischi rigidi (meccanici o SSD) avvitati all'interno del proprio telaio di metallo e collegati direttamente alla scheda madre con un cavo. È esattamente lo stesso principio con cui è costruito il normale computer di casa o il vostro portatile.
Questo approccio genera due enormi criticità in un ambiente aziendale moderno. La prima è una clamorosa mancanza di flessibilità. Se il server che gestisce la posta elettronica di una scuola esaurisce improvvisamente lo spazio sul suo disco interno, l'amministratore deve letteralmente spegnere il server, aprire il telaio con un cacciavite, installare fisicamente un nuovo disco rigido, riavviare la macchina e affrontare complesse procedure per estendere i volumi. Nel frattempo, l'istituto intero resta senza e-mail e i servizi sono bloccati.
La seconda criticità è il rischio del cosiddetto intrappolamento dei dati. Se la scheda madre o l'alimentatore di quel server brucia, i dati sono sani e salvi sui dischi interni, ma risultano "intrappolati" nella macchina rotta. Non possono essere resi immediatamente disponibili a un altro server senza prima smontarli ed estrarli fisicamente. Questo rende impossibile garantire la continuità operativa del servizio in tempi rapidi, poiché l'intervento manuale di un tecnico diventa un obbligo inaggirabile.
Che cos'è la Storage Virtualization
La Storage Virtualization interviene rompendo alla radice il legame indissolubile tra il singolo server e i suoi dischi interni. L'idea fondamentale è "estrarre" concettualmente tutti i dischi rigidi dai singoli server e raggrupparli all'interno di un apparato esterno massiccio, indipendente e ultra-sicuro, chiamato genericamente Storage Array (o spesso semplicemente "lo storage").
In questo enorme e costoso contenitore, decine o persino centinaia di dischi fisici vengono uniti da un software specializzato in un unico gigantesco "bacino" di spazio vuoto condiviso (un pool). A questo punto, il software di virtualizzazione prende questo spazio sterminato e lo "affetta" in tante fette logiche, chiamate dischi virtuali. Questi dischi virtuali creati dal nulla vengono poi "presentati" via rete ai vari server dell'azienda.
Il server della posta, accendendosi, rileverà un normalissimo disco locale da 500 Gigabyte. Il sistema operativo installato (come Windows Server o Linux) non ha modo di sapere che quel disco non è avvitato dentro la sua pancia di metallo, ma è in realtà una fetta logica di un macchinario situato a tre metri di distanza nell'armadio rack. Crede fermamente di parlare con un componente fisico locale, mentre in realtà sta leggendo e scrivendo i suoi dati attraverso un cavo di rete.
Regola fondamentale: La Storage Virtualization maschera la reale complessità fisica, la dislocazione e il numero effettivo dei dischi rigidi, presentando a chi usa lo spazio un semplice e rassicurante volume logico standard, manipolabile a piacimento dal sistemista.
I due grandi modelli: SAN e NAS
In ambito aziendale, questa architettura si concretizza principalmente in due grandi tecnologie. La prima è la SAN (Storage Area Network). Una SAN fornisce ai server un'astrazione a livello di blocco: il server remoto vede il disco virtuale come se fosse un disco fisso fisico grezzo, non formattato, e ha il completo compito di formattarlo (ad esempio in NTFS o ext4) e di gestirne il file system. È la tecnologia più performante e costosa, tipicamente usata nei grandi CED per ospitare i dischi rigidi virtuali delle macchine virtuali (VM).
La seconda tecnologia è il NAS (Network Attached Storage). A differenza della SAN, il NAS astrae l'archiviazione a livello di file. Il server che vi si collega non vede un disco grezzo da formattare, ma vede una "cartella condivisa in rete" già pronta all'uso, gestita interamente dal software del NAS, in cui può limitarsi a salvare documenti e immagini. Il NAS è immensamente popolare anche nelle piccole imprese per creare il classico archivio aziendale in cui scambiarsi i file (il famoso "Disco Z:" visibile su tutti i PC dell'ufficio).
I vantaggi pratici: Snapshot e Thin Provisioning
Rendere il disco una risorsa logica sblocca abilità magiche per i sistemisti. Il primo grande vantaggio è l'elasticità (il Thin Provisioning). Se il famoso server della posta ha bisogno di altri 100 Gigabyte per far fronte a nuove assunzioni, l'amministratore non deve spegnere nulla. Digita semplicemente un comando nell'interfaccia centrale dello storage e il disco virtuale del server si "allarga" all'istante, attingendo la nuova capacità dal pool centrale condiviso senza alcuna interruzione di servizio.
Il secondo, e forse più rivoluzionario vantaggio, è la possibilità di fare Snapshot (istantanee). Essendo il disco un'entità puramente logica gestita da un software centrale, quest'ultimo può "congelare" lo stato esatto dei blocchi del disco in una frazione di secondo, senza fermare o rallentare il server. Se un grave aggiornamento di sistema va male e distrugge il sistema operativo, l'amministratore può ricaricare lo snapshot fatto dieci minuti prima e far "tornare indietro nel tempo" l'intero disco fisso istantaneamente, recuperando la completa operatività.
Una banca deve testare un nuovo e rischioso aggiornamento del software di home banking, ma se qualcosa andasse storto, il server smetterebbe di funzionare e ci vorrebbero svariate ore per ripristinare il backup tradizionale a nastro. Grazie alla Storage Virtualization, il tecnico isola il disco virtuale del server di produzione, preme un bottone e ne crea un "clone istantaneo" che, in modo intelligente, non occupa alcuno spazio aggiuntivo finché non viene attivamente modificato. Il temibile aggiornamento viene così testato in totale sicurezza e isolamento sul disco clone.
Errori comuni e limiti strutturali
Un errore di concetto tipico degli studenti è confondere un sistema di Storage Virtualization di tipo SAN aziendale con un popolare servizio di archiviazione in cloud come Google Drive, Dropbox o OneDrive. Mentre i vari Dropbox servono a sincronizzare file di testo o immagini tra vari PC in modo esplicito e visibile all'utente finale (livello file e applicativo), una vera Storage Virtualization fornisce "dischi fissi nudi e crudi" ai sistemi operativi dei server, ed è un'operazione del tutto invisibile e trasparente che lavora rigidamente dietro le quinte.
Dal punto di vista dei limiti, il grande e onnipresente nemico di questa tecnologia è il collo di bottiglia della rete. Se, di punto in bianco, si spostano fisicamente i dischi rigidi fuori dal server, i dati, per arrivarci, devono per forza attraversare dei cavi e transitare nell'aria. Se quei cavi o gli interruttori (switch) di rete non sono sufficientemente veloci e sgombri, l'intero server risulterà paralizzato, perché dovrà attendere la rete per ogni singola, banale operazione di lettura e scrittura. Per questo motivo primario, le moderne infrastrutture SAN richiedono cablaggi dedicati, speciali e costosissimi, spesso realizzati in fibra ottica ad altissima velocità (protocollo Fibre Channel), totalmente separati dalla normale rete dove navigano i dipendenti dell'azienda.
Sintesi applicativa
In sintesi, la Storage Virtualization risolve i pesanti vincoli logistici dei dischi installati localmente (modello DAS) separando nettamente l'infrastruttura dei dischi fisici dai server che li utilizzano. Raggruppando i dischi fisici in possenti storage di rete esterni (SAN o NAS) e presentandoli sotto forma di agili volumi logici ai server, l'amministrazione dello spazio di archiviazione diventa dinamica, sicura e, soprattutto, non richiede alcuna interruzione di servizio in caso di manutenzione. Senza questa specifica tecnologia abilitante, le funzionalità più avanzate e spettacolari dei moderni data center, come lo spostamento "a caldo" di una macchina virtuale accesa da un server fisico a un altro (tecnica nota come vMotion), sarebbero letteralmente impossibili, poiché il pesante disco della VM dovrebbe per forza viaggiare lentamente attraverso la rete insieme ad essa, facendola spegnere. Nella prossima lezione esploreremo l'ultimo grande pilastro fisico che mancava all'appello: i cavi, i router e gli switch, anch'essi pronti per essere digitalizzati tramite l'innovativa Network Virtualization.
Domanda di autoverifica: Una startup tecnologica ha tutti i dischi rigidi delle proprie macchine virtuali esternalizzati e virtualizzati su una potente e sicurissima SAN in sala server. Una notte estiva, un cortocircuito fa esplodere in modo irreparabile l'alimentatore e la scheda madre del server fisico che gestisce il loro prezioso sito e-commerce. Il server è completamente distrutto da buttare, ma il tecnico reperibile notturno, avvisato da un allarme sul telefono, non va minimamente nel panico. Perché è matematicamente in grado di rimettere online l'e-commerce in pochissimi minuti usando semplicemente un altro server vecchio e vuoto che teneva spento di scorta in magazzino?