iSCSI (Internet Small Computer System Interface) is een gegevensopslagprotocol waarmee SCSI-commando’s via een netwerkverbinding – meestal Ethernet – kunnen worden uitgevoerd.
In dit artikel leggen we uit hoe iSCSI werkt, wat de voordelen zijn en hoe je het protocol kunt configureren.
Om te begrijpen hoe iSCSI functioneert, bekijken we de structuur.
De belangrijkste componenten zijn de initiators en de targets:
Initiators zijn hosts die een iSCSI-verbinding starten.
Targets zijn hosts die de verbinding accepteren.
Opslagapparaten fungeren dus als targets waarmee initiators verbinding maken.
De verbinding wordt tot stand gebracht via TCP/IP. iSCSI beheert de SCSI-commando’s en de gegevensorganisatie, verpakt deze in datapakketten en verzendt ze tussen de lokale en externe hosts. Aan de ontvangende kant worden de pakketten verwerkt en de SCSI-commando’s uitgepakt, zodat het besturingssysteem de opslag herkent als een lokaal station dat normaal geformatteerd en beheerd kan worden.
In iSCSI worden initiators en targets geïdentificeerd met unieke namen:
IQN (iSCSI Qualified Name) of EUI (Extended Unique Identifier), waarbij EUI vooral wordt gebruikt in IPv6-netwerken.
2003-02 verwijst naar de maand en het jaar waarin het domein is geregistreerd.
De domeinnaam verschijnt in omgekeerde volgorde: site.com → com.site.
name23 is de unieke naam van de iSCSI-host.
De eerste 24 bits identificeren een netwerk of organisatie.
De overige 40 bits identificeren de host binnen dat netwerk.
Elke sessie bestaat uit twee fasen:
Authenticatie via TCP.
Gegevensuitwisseling tussen initiator en opslagdoel over één verbinding.
Na de gegevensoverdracht wordt de sessie afgesloten met het commando iSCSI logout.
Om gegevensverlies te voorkomen bevat iSCSI verschillende herstelmechanismen, waaronder:
Herzending van verloren PDU’s (Protocol Data Units)
Herstel van verbindingen of sessies
Annulering van niet-verwerkte commando’s
Beveiliging wordt verzekerd via het CHAP-protocol (Challenge-Handshake Authentication Protocol), dat geen wachtwoorden in platte tekst verzendt maar hashvergelijkingen gebruikt. Daarnaast kan IPsec worden toegepast voor encryptie en integriteitscontrole van datapakketten.
Er bestaan drie hoofdtypen iSCSI-implementaties:
Host-CPU-verwerking: alle verwerking wordt uitgevoerd door de CPU van de initiator.
TCP/IP-offload met gedeelde belasting: de meeste pakketten worden door het opslagapparaat verwerkt, uitzonderingen door de initiator.
Volledige TCP/IP-offload: alle verwerking vindt volledig plaats op het opslagapparaat.
Daarnaast bestaat een uitbreiding genaamd iSER (iSCSI Extension for RDMA). Deze maakt gebruik van RDMA (Remote Direct Memory Access) om rechtstreeks toegang te krijgen tot extern geheugen. Het voordeel is dat gegevens kunnen worden overgedragen zonder CPU-bronnen van netwerkapparaten te gebruiken, wat leidt tot hogere snelheden en lagere belasting.
iSCSI biedt niet alleen hoge prestaties tegen lage kosten, maar ook:
Eenvoudige implementatie: werkt via standaard Gigabit Ethernet-netwerken.
Gemakkelijk beheer: gebaseerd op vertrouwde TCP/IP-principes, dus geen extra training nodig.
De protocollen iSCSI SAN (Storage Area Network) en FC SAN (Fibre Channel SAN) worden vaak met elkaar vergeleken. Hieronder staan de belangrijkste verschillen:
Kenmerk |
iSCSI SAN |
Fibre Channel SAN |
Gebruik van bestaand netwerk |
Mogelijk |
Niet mogelijk |
Gegevensoverdrachtsnelheid |
1–100 Gbps |
2–32 Gbps |
Installatie op bestaande apparatuur |
Ja |
Nee |
Gegevensstroombeheer |
Geen pakket-hertransmissiebescherming |
Betrouwbaar |
Netwerkisolatie |
Nee |
Ja |
iSCSI SAN is een betaalbare en flexibele oplossing, omdat het werkt via bestaande netwerkhardware. FC SAN vereist daarentegen gespecialiseerde hardware (zoals switches en host bus adapters), maar biedt lagere latentie en hogere stabiliteit.
Elk protocol heeft zijn eigen sterke punten: