iSCSI (Internet Small Computer System Interface) è un protocollo di archiviazione dei dati che consente di eseguire comandi SCSI tramite una connessione di rete, solitamente Ethernet. In questo articolo spiegheremo come funziona iSCSI, le sue caratteristiche principali, i vantaggi e come configurarlo passo dopo passo.
Per comprendere il funzionamento di iSCSI, è necessario conoscere i suoi componenti principali: initiator e target.
Gli initiator sono i sistemi che avviano una connessione iSCSI.
I target sono i sistemi che accettano la connessione.
I dispositivi di archiviazione fungono da target ai quali gli initiator si connettono.
La connessione si basa sul protocollo TCP/IP. iSCSI gestisce i comandi SCSI, li incapsula in pacchetti di dati e li trasferisce tra host locali e remoti. Il sistema ricevente elabora i pacchetti, estrae i comandi SCSI e presenta il dispositivo remoto come un disco locale, che può essere formattato e gestito normalmente.
In iSCSI, gli initiator e i target sono identificati da nomi univoci:
IQN (iSCSI Qualified Name) e EUI (Extended Unique Identifier), quest’ultimo usato principalmente con IPv6.
2003-02 indica anno e mese di registrazione del dominio.
Il dominio è scritto in ordine inverso: site.com → com.site.
name23 è il nome univoco assegnato all’host iSCSI.
I primi 24 bit identificano la rete o l’organizzazione.
I restanti 40 bit identificano in modo univoco l’host all’interno di quella rete.
Ogni sessione iSCSI si svolge in due fasi:
Autenticazione tramite TCP.
Trasferimento dei dati tra l’initiator e il dispositivo di archiviazione su una singola connessione.
Quando il trasferimento termina, la sessione viene chiusa con il comando iSCSI logout.
Per evitare perdite di dati, iSCSI include diversi meccanismi di recupero, come:
Ritrasmissione dei pacchetti PDU persi.
Ripristino della connessione o riavvio della sessione.
Annullamento dei comandi non elaborati.
La sicurezza dei dati è garantita dal protocollo CHAP, che non trasmette le password in chiaro ma utilizza una verifica hash. Inoltre, IPsec può essere utilizzato per crittografare i pacchetti e verificarne l’integrità.
Esistono tre principali modalità di implementazione di iSCSI:
Elaborazione tramite CPU dell’host: tutta l’elaborazione avviene sul processore dell’initiator.
Offload TCP/IP parziale: la maggior parte dei pacchetti viene elaborata dal dispositivo di archiviazione, il resto dall’host.
Offload TCP/IP completo: tutti i pacchetti vengono gestiti direttamente dal dispositivo di archiviazione.
Un’estensione chiamata iSER (iSCSI Extension for RDMA) consente l’uso di RDMA (Remote Direct Memory Access), che permette di accedere direttamente alla memoria remota. Questo approccio consente il trasferimento dei dati senza utilizzare le risorse della CPU, aumentando la velocità e riducendo la latenza.
iSCSI offre una combinazione di prestazioni elevate e riduzione dei costi, insieme a numerosi vantaggi:
Semplicità di implementazione: funziona su reti Ethernet Gigabit standard.
Facilità di manutenzione: basato su TCP/IP, non richiede formazione aggiuntiva.
I protocolli iSCSI SAN (Storage Area Network) e FC SAN (Fibre Channel SAN) vengono spesso messi a confronto. Ecco le principali differenze:
Caratteristica |
iSCSI SAN |
Fibre Channel SAN |
Utilizzo della rete esistente |
Sì |
No |
Velocità di trasferimento dati |
1–100 Gbps |
2–32 Gbps |
Configurazione su hardware esistente |
Sì |
No |
Controllo del flusso dei dati |
Nessuna protezione di ritrasmissione |
Affidabile |
Isolamento della rete |
No |
Sì |
iSCSI SAN è una soluzione economica e flessibile, poiché utilizza l’infrastruttura di rete esistente. FC SAN, invece, richiede hardware specializzato (switch e adattatori HBA), ma garantisce latenza ridotta e prestazioni più stabili.
Come mostrato nel confronto, ogni protocollo ha i propri punti di forza:
iSCSI è ideale quando si desiderano costi ridotti, configurazione semplice e gestione immediata.