iSCSI (internet Small Computer System Interface) [ˈaɪskʌzi] ist ein Verfahren, welches die Nutzung des SCSI-Protokolls über TCP ermöglicht. Wie beim gewöhnlichen SCSI gibt es einen Controller (Initiator), der die Kommunikation steuert. Die Speichergeräte (Festplatten, Bandlaufwerke, optische Laufwerke etc.) heißen Target.
iSCSI spezifiziert die Übertragung und den Betrieb direkter Speicherprotokolle nativ über TCP. Bei diesem Verfahren werden SCSI-Daten in TCP/IP-Pakete verpackt und über IP-Netze transportiert (Ports 860, 3260). Beim Multipath iSCSI Routing werden die SCSI-Befehle zunächst zu einem SCSI-Router geleitet, der auf Basis vorhandener Mapping-Tabellen und Parameter wie Netzwerkauslastung und -kosten die bevorzugte Adresse des entsprechenden Zielsystems (Target) ermittelt und für die Kommunikation mit der SCSI-Datenquelle auswählt. Nach dieser Auswahl werden die Pakete in TCP/IP verpackt und zum Netzwerkadapter weitergeleitet, der die Pakete dann über das Netzwerk verschickt.
iSCSI wird eingesetzt, um über eine virtuelle Punkt-zu-Punkt-Verbindung den Zugriff auf das Speichernetz zu ermöglichen, ohne dass eigene Speichergeräte aufgestellt werden müssen. Vorhandene Netzwerkkomponenten (Switch) können genutzt werden, da keine spezielle neue Hardware für die Knotenverbindungen nötig ist, wie es z. B. bei Fibre Channel (FC) der Fall ist. Der Zugriff auf die Festplatten erfolgt blockbasiert, ist also auch für Datenbanken geeignet. Der Zugriff über iSCSI ist darüber hinaus transparent, erscheint auf Anwendungsebene also als Zugriff auf eine lokale Festplatte.
Vor- und Nachteile gegenüber Fibre Channel
Zur Implementierung von iSCSI wird praktisch ausschließlich Ethernet eingesetzt. Gleichzeitig Vor- und Nachteil dieser Vorgehensweise ist die Kapselung von Datenpaketen in Ethernet und TCP/IP. Vorteil der Ethernetbasis ist, dass auf schon verbreitete Netzwerkstandards zurückgegriffen wird und im Storage-Netzwerk gleiche Technik und Komponenten (Verkabelung, Switches usw.) zum Einsatz kommen wie im restlichen Netzwerk. Ein weiterer Vorteil, der durch TCP/IP entsteht, ist die Routingfähigkeit und Eignung für komplexe, unternehmensweite Netzwerkstrukturen sowie für Weitverkehrsnetze. Nachteilig ist die etwas schlechtere Effizienz,[3] die durch die zusätzlichen Ethernet- und TCP/IP-Protokoll-Erfordernisse (zusätzlicher Overhead) und -Beschränkungen (wie Paketgrößen) zustande kommt und zu einer erhöhten CPU-Belastung sowie zu höheren I/O-Anforderungen (mehr Interrupts pro Datenmenge) und zu höheren Latenzen führen kann. Ethernet bietet auch keine preisgünstige Daisy-Chained Arbitrated Loop (FC-AL)-Topologie. Nachteilig für den Einsatz im Speichernetz können auch ungeeignete Ethernet-Switches sein, die zu wenig Pufferspeicher für den kurzfristigen Ausgleich von zu hohem Datenaufkommen bieten oder durch Store and Forward und ungeeigneten internen Aufbau höhere Latenzen als FC-Switches verursachen. Es sind aber bereits Hardwarelösungen wie z. B. Netzwerkkarten mit TCP/IP Offload Engine, iSCSI offload Engine[4] oder auch die I/OAT verfügbar, die zumindest das TCP/IP-Overhead-Problem der zusätzlichen CPU-Last minimieren. Auch gibt es optimierte Switches, die besonders geringe Latenzzeiten bieten. Die Geschwindigkeit von iSCSI, genau wie die von Fibre Channel (FC), wird von der Geschwindigkeit der verwendeten Netzwerktechnik begrenzt. Bei Verwendung eines Ethernetnetzwerks mit einzelnen 1-GBit/s-Links ist iSCSI somit deutlich langsamer als FC mit seinen heute üblichen 2, 4 oder 8 Gbit/s. Mit 10 Gigabit/s-Ethernet und den damit erreichbaren Durchsätzen bietet dann aber wieder iSCSI eine im Vergleich höhere Geschwindigkeit – bei etwa vergleichbaren Latenzen. Hieraus resultiert der Ansatz von converged Netzwerken.
Paketaufbau/Payload
FC-Pakete besitzen ein günstigeres Verhältnis zwischen Overhead und Payload (Nutzdaten) als iSCSI über Standard-Ethernet, allerdings können mit geeigneten Netzwerkkomponenten bei iSCSI auch Jumbo Frames verwendet werden, die ein günstigeres Verhältnis bieten können. Der Payload eines FC-Frames beträgt bis zu 2048 Byte, der Protokoll-Overhead liegt bei lediglich 36 Byte für den Frameheader sowie 24 Byte für den Interframe Gap. Das TCP/IP-basierte iSCSI ohne Jumbo Frames hat folgendes Verhältnis: 1460 Byte Payload bei 78 Byte Overhead; Jumbo Frames mit 9000 Byte MTU: 8960 Byte Payload bei 78 Byte. Die 48 Byte großen iSCSI-Header werden nur jeweils am Anfang einer bis zu 16 MiB großen Transaktion übertragen und fallen praktisch nicht ins Gewicht.
Converged 10 GbE ist ein Standard für Netzwerke, bei denen 10 GbE und 10 GbFC verschmolzen sind. Zum Converged Ansatz gehört auch das neue FCoE (Fibre Channel over Ethernet). Dabei werden FC Pakete in Ethernet gekapselt und für diese dann ebenfalls die Converged Ethernettopologie genutzt – z. B. sind dann entsprechend aktualisierte Switches (Paketgrößen) transparent für FC- und iSCSI-Storage sowie für das LAN nutzbar.
ATA over Ethernet: Bei ATA over Ethernet werden ATA/ATAPI-Pakete in Ethernet gekapselt. Im Unterschied zu iSCSI erfolgt keine Kapselung in TCP/IP, hieraus resultieren geringe Performancevorteile, ATAoE ist nicht routingfähig.
Fibre Channel: FC definiert ein nicht routingfähiges Standardprotokoll aus dem Bereich der Speichernetzwerke, das als ein Nachfolger von Parallel SCSI für die Hochgeschwindigkeitsübertragung großer Datenmengen konzipiert wurde. Natives FC ist nicht mit Ethernet kompatibel, es wird eine separate Infrastruktur (NICs, Switches usw.) benötigt.
Fibre Channel over Ethernet: Bei Fibre Channel over Ethernet werden Fibre-Channel-Pakete in Ethernet gekapselt. Im Unterschied zu iSCSI erfolgt keine Kapselung in TCP/IP, hieraus resultieren geringe Performancevorteile, jedoch ist FCoE nicht routingfähig.
Fibre Channel over IP: Bei Fibre Channel over IP werden Fibre-Channel-Pakete zusätzlich in TCP/IP gekapselt. FCoIP ist daher routingfähig.
HyperSCSI: Bei HyperSCSI werden SCSI-Pakete in Ethernet gekapselt. Im Unterschied zu iSCSI erfolgt keine Kapselung in TCP/IP, hieraus resultieren geringe Performancevorteile, HyperSCSI ist nicht routingfähig.
Weblinks
Commons: ISCSI – Sammlung von Bildern, Videos und Audiodateien
↑ abcdRFC: 7143 – Internet Small Computer System Interface (iSCSI) Protocol (Consolidated). April 2014 (löst RFC 5048 ab, englisch).
↑RFC: 3720 – Internet Small Computer Systems Interface (iSCSI). April 2004 (englisch).
↑iSCSI über Ethernet mit 1500 Byte Standard-MTU: 94,9 %; iSCSI mit 9000 Byte MTU Jumbo Frames: 99,1 %; Fibre Channel: 98,3 % – ohne Berücksichtigung der Layer-1-Kodierung