Progetto di reti locali/Introduzione alle Storage Area Network

Wikibooks, manuali e libri di testo liberi.
Indice del libro

Architetture di archiviazione[modifica]

Una società ha tipicamente bisogno di archiviare molti dati:

  • mainframe (storico): l'accesso ai dati è centralizzato nella stessa macchina in cui sono fisicamente memorizzati;
  • modello client-server: i vari client chiedono a una macchina server di recuperare dei dati memorizzati su dischi fissi;
  • modello peer-to-peer: i dati sono distribuiti tra tutte le macchine collegate tra loro, e ogni macchina può chiedere a ogni altra macchina di avere dei dati.
Confronto
  • costi: ogni macchina nella rete peer-to-peer non richiede un'elevata potenza di calcolo e un'elevata capacità di archiviazione, a differenza di un server che deve gestire richieste da più client allo stesso tempo → i server sono molto costosi;
  • scalabilità: nel modello peer-to-peer i dati possono essere distribuiti su un numero illimitato di macchine, mentre la potenza di calcolo e la capacità di archiviazione di un server sono limitate;
  • robustezza: un server è caratterizzato da un'elevata affidabilità, ma un guasto è più critico da risolvere; le macchine nella rete peer-to-peer invece sono molto più soggette a guasti perché sono macchine low-end e meno affidabili, ma il software che gestisce la rete peer-to-peer, consapevole di questa debolezza, è progettato per mantenere l'integrità dei dati, effettuando ad esempio dei backup automatici.
Datacenter

Un datacenter è un luogo centralizzato in cui sono concentrati tutti i server, e permette di evitare di avere troppi server sparsi in giro per la società sotto il controllo di così tante organizzazioni diverse:

  • accesso ai dati: i dati potrebbero essere disponibili, ma le persone che ne hanno bisogno potrebbero appartenere a un'altra organizzazione o potrebbero non disporre dei permessi necessari;
  • integrità: è difficile effettuare i backup di tutti i server se questi sono sparsi in giro per la società;
  • sicurezza: è facile rubare un disco fisso da un server non protetto.

DAS[modifica]

In un sistema DAS, ogni server ha accesso esclusivo al proprio insieme di dischi fissi:

  • dischi interni: è una soluzione non adatta per i server in quanto, in caso di guasto, è necessario estrarre fisicamente i dischi fissi dall'interno della macchina;
  • dischi esterni: i dischi sono collegati al server tramite SCSI; più insiemi di dischi possono essere collegati in cascata come un'architettura a bus.
    I dischi possono essere messi in un armadietto apposito chiamato JBOD: il controller SCSI è in grado di esportare una struttura di unità virtuale che è differente da quella dei dischi fisici, aggregando o suddividendo le capacità dei dischi e fornendo servizi avanzati (ad es. RAID).

Lo standard SCSI definisce una pila protocollare completa:

  • interfacce fisiche (ad es. cavi e connettori): permettono di collegare fisicamente i dischi fissi ai server;
  • protocolli: permettono di effettuare transazioni di lettura e scrittura indirizzando direttamente i blocchi su disco secondo lo schema Logical Block Addressing (LBA);
  • comandi esportati alle applicazioni: permettono di effettuare operazioni di lettura e scrittura impartendo dei comandi del tipo READ, WRITE, FORMAT, ecc.
Vantaggi
  • bassa latenza: è dell'ordine dei millisecondi attraverso un disco e dei microsecondi attraverso una cache;
  • alta affidabilità: la probabilità di errore è molto bassa, e l'integrità dei dati è sempre garantita;
  • ampia compatibilità: è ampiamente supportato dai sistemi operativi ed è utilizzato da molti dispositivi esterni oltre ai dischi.
Svantaggi
  • recupero dagli errori lento: siccome gli errori capitano raramente, i meccanismi di recupero dagli errori non sono particolarmente efficienti dal punto di vista prestazionale;
  • accesso ai dischi centralizzato: solo il server può accedere ai dischi → in caso di guasto del server, i dischi non sono più accessibili;
  • limiti di scalabilità: possono essere collegati in cascata al massimo 16 dispositivi per una lunghezza massima di 25 metri.

I NAS e le SAN permettono di disaccoppiare i dischi dai server connettendo tali entità tramite una rete → a un disco possono accedere più server.

NAS[modifica]

Esempio di NAS.

Un NAS esporta file system, servendo file logici, anziché blocchi su disco, sulla rete (di solito LAN).

I file system sono condivisi con dei client di rete: sia i server sia i client collegati alla rete possono accedere ai file.

I protocolli tipici utilizzati per esportare i file system sono:

  • NFS: popolare sui sistemi UNIX;
  • CIFS: usato dai sistemi Windows;

che operano su una rete TCP/IP:

Pila protocollare NAS.
NFS/CIFS
TCP
IP
Ethernet
Vantaggi
  • insieme al file system, possono essere esportati i permessi di utente e le protezioni di accesso (ad es. nome utente e password);
  • compatibilità con i client di rete: un sistema NAS ha un impatto minimale sull'infrastruttura esistente: tutti i sistemi operativi sono in grado di montare un disco condiviso senza driver aggiuntivi.
Svantaggi
  • compatibilità con le applicazioni: il disco grezzo è invisibile al client: i dischi non possono essere formattati né gestiti a livello di blocchi → alcune applicazioni che hanno bisogno di accedere direttamente ai blocchi su disco non possono funzionare sui dischi remoti: sistemi operativi, sistemi per la gestione delle basi di dati, file/partizioni di swap;
  • l'appliance NAS richiede una potenza di calcolo sufficiente per la gestione dei permessi di utente e per la rimappatura delle richieste relative a file in richieste relative a blocchi;
  • la pila protocollare non è progettata per i NAS: i meccanismi di recupero dagli errori del TCP possono introdurre un overhead prestazionale non trascurabile.

SAN[modifica]

Esempio di SAN a due livelli.

Una SAN esporta dischi fisici, anziché volumi logici, e permette di indirizzare i blocchi su disco secondo lo schema LBA, proprio come se il disco fosse collegato direttamente al server tramite SCSI (sistema DAS).

I client possono accedere ai dati solo attraverso i server, a cui sono collegati tramite una rete locale o geografica. Tipicamente un datacenter segue un modello a tre livelli:

  1. server Web: è il front-end esposto ai client;
  2. application/database server: può montare un file system a disco condiviso che converte le richieste relative a file da parte dei client in richieste relative a blocchi da inviare ai dischi remoti tramite la SAN;
  3. dischi fissi: sono spesso tenuti nei JBOD.

Le SAN non possono basarsi esclusivamente sul classico TCP/IP, poiché i meccanismi di recupero dagli errori del TCP possono introdurre un overhead prestazionale non trascurabile → sono stati progettati dei protocolli per le SAN volti a mantenere il più possibile l'alta velocità, la bassa latenza e l'elevata affidabilità tipiche di SCSI:

Pile protocollari SAN.
Fibre Channel.
SCSI
Fibre Channel
FCoE.
SCSI
Fibre Channel
FCoE
10 Gigabit Ethernet
iSCSI.
SCSI
iSCSI
TCP
IP
Ethernet
FCIP.
SCSI
Fibre Channel
FCIP
TCP
IP
Ethernet

Tutti i protocolli per le SAN adottano SCSI come il livello superiore nella pila protocollare e operano al di sotto di esso → ciò garantisce la compatibilità con tutte le applicazioni basate su SCSI esistenti, con un impatto minimo per la migrazione dai DAS alle SAN.

Fibre Channel[modifica]

Esempio di SAN basata su Fibre Channel con topologia switched fabric.

Lo standard Fibre Channel è nato dalla necessità di avere un supporto affidabile per i collegamenti in fibra ottica tra i server e i dischi di archiviazione, ed è pensato per rimpiazzare il livello fisico di SCSI. Fibre Channel supporta elevate velocità di trasferimento: 1 Gbps, 2 Gbps, 4 Gbps, 8 Gbps, 16 Gbps.

Topologie[modifica]

Lo standard prevede tre possibili topologie per le SAN:

  • punto punto: connessione diretta tra un server e un JBOD, come in SCSI;
  • arbitrated loop: topologia ad anello a scopo di affidabilità;
  • switched fabric: più server sono collegati a più JBOD attraverso una fabbrica, cioè una rete magliata di bridge.
    La topologia switched fabric è nuova nel mondo dell'archiviazione: SCSI permetteva solo un collegamento a cascata come un'architettura a bus.

Instradamento[modifica]

L'instradamento è svolto dal protocollo Fabric Shortest Path First (FSPF), molto simile al protocollo OSPF delle reti IP. Non è previsto alcun protocollo di spanning tree per gli anelli in topologia.

A ogni porta di un nodo Fibre Channel (server o JBOD) è assegnato dinamicamente un indirizzo da 24 bit:

8 16 24
Domain ID Area ID Port ID

dove i campi sono:

  • campo Domain ID (8 bit): identifica il bridge a cui è collegato il nodo;
  • campo Area ID (8 bit): identifica il gruppo di porte a cui appartiene la porta del bridge a cui è collegato il nodo;
  • campo Port ID (8 bit): identifica la porta del nodo.
    Ogni server è collegato alla fabbrica tramite un'interfaccia chiamata Host Bus Adapter (HBA).

Controllo di flusso[modifica]

Fibre Channel migliora i meccanismi di recupero dagli errori di SCSI introducendo un controllo di flusso hop-by-hop basato su un meccanismo a crediti: ogni porta ha un numero di crediti, che viene decrementato ogni volta che viene inoltrato un pacchetto e viene incrementato ogni volta che viene ricevuto un acknowledge → se il numero di crediti a disposizione scende a 0, la porta non può inviare altri pacchetti e deve aspettare che l'hop successivo comunichi tramite un acknowledge che è pronto a ricevere altri dati nel suo buffer → questo meccanismo evita la congestione dei buffer dei nodi e quindi la perdita di pacchetti.

Il meccanismo a crediti inoltre permette la prenotazione delle risorse e garantisce la consegna in-order delle trame: il nodo di destinazione non ha bisogno di implementare un meccanismo per il riordino dei pacchetti (come nel TCP).

Problemi
  • il traffico di un link può essere bloccato per un certo tempo per la mancanza di crediti → occorre impostare in modo appropriato il massimo numero di crediti di una porta in base alla capacità del buffer della porta che sta all'altra estremità del link;
  • si possono verificare deadlock in una rete magliata con dipendenze cicliche.

Funzionalità avanzate[modifica]

  • Virtual SAN (VSAN): l'equivalente delle VLAN per le SAN;
  • link aggregation;
  • bilanciamento del carico;
  • virtualizzazione: le funzionalità di virtualizzazione del controller SCSI possono essere spostate direttamente sul bridge a cui è collegato il JBOD.

FCoE[modifica]

La tecnologia Fibre Channel over Ethernet (FCoE) permette di incapsulare le trame Fibre Channel in trame Ethernet tramite lo strato di adattamento FCoE, che rimpiazza il livello fisico di Fibre Channel → ciò consente di utilizzare le reti 10 Gigabit Ethernet (o velocità più elevate) preservando il protocollo Fibre Channel.

Prima di FCoE, i datacenter utilizzavano Ethernet per le reti TCP/IP e Fibre Channel per le SAN. Con FCoE, Fibre Channel diventa un altro protocollo di rete operante su Ethernet, insieme al tradizionale traffico IP: FCoE opera direttamente al di sopra di Ethernet nella pila protocollare di rete, a differenza di iSCSI che opera in cima a TCP e IP:

  • vantaggio: il server non deve più avere un'interfaccia HBA specifica per Fibre Channel, ma una singola interfaccia NIC può fornire la connettività sia alla SAN sia a Internet → minor numero di cavi e di bridge e minor consumo di energia;
  • svantaggio: FCoE non è instradabile a livello IP, cioè non può andare sulla rete Internet al di fuori della SAN.
Controllo di flusso basato sulle priorità in FCoE.

Siccome, a differenza di Fibre Channel, l'Ethernet classico non include alcun meccanismo di controllo di flusso, FCoE ha richiesto dei miglioramenti allo standard Ethernet per supportare un meccanismo per il controllo di flusso basato sulle priorità, per ridurre le perdite di trame da congestione.

L'idea di base è adottare i pacchetti PAUSE dallo standard 802.3x per il controllo di flusso su Ethernet, ma il canale Ethernet tra i due bridge è partizionato logicamente in lane (per esempio, una dedicata al traffico di archiviazione e un'altra dedicata al normale traffico Internet) → il pacchetto PAUSE, anziché bloccare tutto il traffico sul link interessato, blocca solo il traffico di una certa lane senza influenzare il traffico delle altre lane.

Tipicamente per i server con tecnologia FCoE si prediligono gli switch top of the rack (TOR) agli switch end of the row (EOR) usati con Fibre Channel, perché gli switch con tecnologia FCoE sono meno costosi rispetto agli switch con tecnologia Fibre Channel:

  • switch end of the row: c'è un singolo switch principale e ogni server è collegato ad esso con un proprio cavo → cavi più lunghi;
  • switch top of the rack: in cima a ogni armadio c'è uno switch, e ogni server è collegato allo switch dell'armadio, poi tutti gli switch degli armadi sono collegati allo switch principale → switch più numerosi, ma cavi più corti.

iSCSI[modifica]

Esempio di SAN basata su iSCSI.

Il protocollo iSCSI, proposto da Cisco per contrastare l'egemonia di Fibre Channel, permette di realizzare una SAN sfruttando la tecnologia di rete più diffusa, ovvero il TCP/IP: i comandi SCSI vengono incapsulati in pacchetti TCP tramite lo strato di adattamento iSCSI e attraversano la SAN su una rete Ethernet.

Vantaggi
  • il server non deve più avere un'interfaccia HBA specifica per Fibre Channel, ma una singola interfaccia NIC può fornire la connettività sia alla SAN sia a Internet → minor numero di cavi e di bridge, e minor consumo di energia;
  • i dischi sono raggiungibili anche dai client tramite Internet;
  • non è necessario posare delle fibre ottiche appositamente adibite al collegamento della SAN.
Svantaggi
  • è necessario dimensionare i buffer dei bridge nella SAN in modo da minimizzare le perdite di pacchetti per overflow dei buffer e quindi l'overhead prestazionale dovuto ai meccanismi per il recupero dagli errori del TCP;
  • la tecnologia Ethernet non è molto conosciuta nel mondo dell'archiviazione, dove si è abituati a usare gli strumenti Fibre Channel → il protocollo iSCSI non ha avuto molto successo.

FCIP[modifica]

Esempio di SAN basata su FCIP.

Un datacenter è soggetto al rischio di perdita dei dati a causa di calamità naturali (quali terremoti, tsunami, ecc.) → al fine di migliorare la resilienza (continuità operativa), il datacenter può essere interamente replicato in un altro luogo, generalmente a qualche centinaio di chilometri di distanza. Il datacenter principale e il datacenter di backup potrebbero comunicare tra loro direttamente utilizzando Fibre Channel, ma sarebbe troppo costoso collegarli con una semplice fibra ottica a causa della lunga distanza.

La tecnologia Fibre Channel over IP (FCIP) consente a SAN geograficamente distribuite di essere interconnesse utilizzando l'infrastruttura TCP/IP esistente, ovvero Internet, senza che gli apparati interni ai datacenter siano consapevoli della presenza della rete IP:

  1. il datacenter principale invia una trama Fibre Channel;
  2. il router di frontiera incapsula la trama Fibre Channel in un pacchetto TCP, tramite lo strato di adattamento FCIP che rimpiazza il livello fisico di Fibre Channel, poi inoltra il pacchetto TCP sulla rete Internet, in una sorta di tunnel, fino all'altro router di frontiera;
  3. l'altro router di frontiera estrae la trama Fibre Channel e la invia al datacenter di backup;
  4. il datacenter di backup riceve la trama Fibre Channel.

La dimensione minima delle trame Fibre Channel, tuttavia, supera il limite di dimensione del payload Ethernet, e l'overhead per la frammentazione sarebbe eccessivo → le trame Ethernet devono essere estese a circa 2,2 KB affinché possano essere incapsulate trame Fibre Channel di dimensione minima.