L’Internet Small Computer Systems Interface (iSCSI) è un protocollo IP‐based che incapsula comandi SCSI all’interno di segmenti TCP, consentendo l’accesso a dispositivi di archiviazione a livello blocco attraverso reti Ethernet standard. In pratica, iSCSI trasforma la “classica” interconnessione SCSI (parallel bus) in un servizio di rete distribuito, permettendo di costruire Storage Area Network (SAN) economiche rispetto a quelle Fibre Channel (FC).
Cosa troverai in questo articolo
Come funziona iSCSI – spiegazione a più livelli
Livello OSI / stack | Unità di dato | Ruolo in iSCSI |
---|---|---|
Applicazione / OS | Comando SCSI | VM, DB, file system generano richieste READ/WRITE |
Transport (TCP) | Segmento | Garantisce consegna affidabile, controllo di flusso, ritrasmissione |
Internet (IP) | Pacchetto | Instrada i segmenti sulla rete Layer 3 |
Link (Ethernet) | Frame | Incapsula il pacchetto IP, indirizza tramite MAC |
- L’applicazione invia un comando SCSI (es. READ 64 KB).
- Il driver iSCSI initiator crea una PDU (Protocol Data Unit) che contiene:
- SCSI Command Descriptor Block (CDB)
- Task Tag, Logical Unit Number (LUN)
- Contatori di offset e lunghezza dati
- La PDU viene inserita nel campo dati di un segmento TCP; quest’ultimo finisce in un pacchetto IP e infine in un frame Ethernet.
- Il frame attraversa switch/router IP. Giunto al target, l’encapsulamento viene rimosso a ritroso e il comando SCSI arriva al controller disco, che lo esegue.
Bidirezionalità: la risposta (status + payload) segue lo stesso percorso inverso, assicurando che l’host “veda” il disco remoto come un dispositivo SCSI locale.
Componenti: initiator & target
Componente | Descrizione pratica | Note implementative |
---|---|---|
Software Initiator | Driver in Windows, Linux, VMware ESXi | Gratuito, usa CPU host |
Hardware Initiator (HBA iSCSI) | Scheda PCIe con ASIC dedicato TOE | Offload TCP/IP, minore latenza |
iSCSI Target | Controller su array, NAS enterprise, appliance virtuale | Espone LUN tramite IQN (iSCSI Qualified Name) |
Prestazioni iSCSI – variabili chiave
- Banda fisica: 1/10/25/40/100 GbE; oggi la scelta tipica per SAN è 10 GbE (≈ 1 GB/s teorici, 900 MB/s effettivi).
- Carico CPU: senza TOE, i pacchetti TCP sono gestiti dallo stack host; su server virtualizzazione ad alta densità conviene HBA dedicato.
- Configurazione del controller: RAID 10 all-flash dà latenze 200-400 µs; un RAID 6 su HDD sale a 8-10 ms.
- Congestione Layer 2/3: se la rete veicola anche traffico utente, la latenza iSCSI può raddoppiare; best practice: VLAN dedicata e, meglio ancora, switch dedicati.
iSCSI vs Fibre Channel (tabella di sintesi)
Caratteristica | iSCSI | Fibre Channel |
---|---|---|
Topologia | IP / Ethernet | Switched fabric FC |
Velocità comune | 10 GbE, 25 GbE | 16 GFC, 32 GFC |
Latenza round-trip | 200-600 µs | 100-300 µs |
CPU host | Maggiore (se TOE assente) | Minore |
Distanza | Teoricamente illimitata (IP routable) | ≤ 10 km a 32 GFC |
Costi CapEx | Bassi (riuso switch) | Elevati (switch + HBA FC) |
Competenze richieste | Networking IP standard | Specialist FC / FCP |
Quando preferire iSCSI
- Scale-out veloce: startup che crescono a step, senza budget per fabric FC.
- Site-to-site replication su WAN: iSCSI attraversa router/IPsec senza tunnelatori FCIP.
- VDI, backup-to-disk, archiviazione secondaria: throughput elevato > IOPS.
- Lab & test environment: facile provisioning, software initiator su VM.
Esempio concreto di implementazione
Scenario: cluster VMware vSphere con 4 host ESXi, array dual-controller 10 GbE, switch TOR dedicati.
- Rete
- Due switch 10 GbE in stack MLAG; VLAN 20 “iSCSI”.
- MTU 9000 configurato end-to-end.
- Storage
- Pool RAID 10 all-flash → LUN “DS-01” da 4 TB.
- Target ports: 10.0.20.10 (Controller A), 10.0.20.11 (Controller B).
- Host
- Ogni ESXi con 2 × 10 GbE; vSwitch-iSCSI con due VMkernel (vmk1, vmk2).
- MPIO policy Round Robin, cambio percorso ogni 1 000 I/O.
- Prestazioni misurate (fio 4 KB random read)
- Latenza p99: 380 µs
- IOPS aggregate: 185 000
- Throughput sequential 256 KB write: 2,1 GB/s
Benefici di iSCSI (ripresi & approfonditi)
- TCP Offload Engine integrato sulle NIC 10/25 GbE riduce l’uso CPU del 30-40 %.
- TCO ridotto: si sfruttano patch panel, cablaggio rame Cat 6A già presenti.
- Interoperabilità multivendor: qualsiasi switch Layer 2 con jumbo frame supporta iSCSI.
- Scalabilità lineare: basta aggiungere altre porte o uplink LACP per salire di banda.
- Sicurezza: autenticazione CHAP / Mutual CHAP e cifratura IPSec senza appliance aggiuntive.
Limitazioni di iSCSI – dettagli tecnici
Limite | Impatto pratico | Mitigazione |
---|---|---|
Congestione di rete | Latenza > 5 ms, ritrasmissioni TCP | VLAN dedicata, QoS, PFC, rete separata |
Serial protocol vs NVMe | Non sfrutta parallelismo PCIe SSD | Valutare NVMe-oF (RoCE, TCP) |
LUN max 250 TB (dipende dal vendor) | Scalabilità verticale limitata | Segmentare in più LUN, VVol |
512 snapshot per target | Backup / replication limitati | Tiering su storage con snapshot nativi illimitati |
255 conn/session | Cluster molto grandi | Usare più target IP o port binding |
Conclusioni
Una SAN iSCSI, se progettata con switch dedicati, jumbo frame, MPIO e storage adeguato, fornisce performance e flessibilità sufficienti alla maggior parte dei carichi enterprise, riducendo costi e complessità rispetto alle fabric Fibre Channel. Per applicazioni con IOPS estremi o latenze sotto i 100 µs, soluzioni FC o NVMe-over-Fabrics restano superiori; in tutti gli altri scenari iSCSI rimane una scelta robusta, scalabile e, soprattutto, economica.
FAQ – Domande frequenti su iSCSI
Domanda | Risposta sintetica |
---|---|
Serve hardware dedicato per iSCSI? | No, un semplice switch 10 GbE gestisce il traffico; per carichi critici, preferibile switch dedicato o VLAN isolata. |
Posso usare iSCSI per database a bassa latenza? | Sì, purché la rete sia 10 GbE+ con TOE o HBA; latenza tipica 300-600 µs può essere adatta a OLTP medi. |
È obbligatorio configurare jumbo frame (MTU 9000)? | Non è obbligatorio, ma riduce overhead TCP/IP ~10-15 %; importante configurare MTU uniforme su host, switch, storage. |
Qual è la differenza tra CHAP e IPSec in iSCSI? | CHAP autentica initiator/target; IPSec cifra l’intero flusso dati. Possono essere usati insieme per sicurezza elevata. |
Quanto è sicuro iSCSI su rete condivisa? | Con VLAN, ACL e IPSec, iSCSI può essere sicuro; tuttavia, per dati sensibili si consiglia rete fisicamente separata. |