iSCSI

Verfahren, welches die Nutzung des SCSI-Protokolls über TCP ermöglicht
iSCSI
Familie: Internetprotokollfamilie
Einsatzgebiet: Nutzung des SCSI-Protokolls über TCP
Ports: 3260/TCP
3260/UDP
iSCSI im TCP/IP-Protokollstapel:
Anwendung iSCSI
Transport TCP
Internet IP (IPv4, IPv6)
Netzzugang Ethernet Token
Bus
Token
Ring
FDDI
Standards: RFC 7143[1]

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.

Schematischer Aufbau eines iSCSI-Netzwerkes

Eigenschaften und Funktionen Bearbeiten

Die Spezifikation des iSCSI-Standard wurde durch die Storage Networking Industry Association erstellt und im RFC 3720[2] von der Internet Engineering Task Force festgehalten. Erweiterungen und Aktualisierungen wurden zuletzt in RFC 7143[1] zusammengefasst.

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 Bearbeiten

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.

Vergleich nach Geschwindigkeiten
Name Nominelle Geschwindigkeit (GBit/s) Datendurchsatz (je Richtung in MByte/s) Effizienz[4] Erscheinungsjahr
Fibre Channel 1GFC[5] 01,0625 (8b10b-kodiert) 0103 97,2 % 1997
iSCSI over Gigabit Ethernet[1] 01,000 0119 94,9 % (MTU 1500) 2004
Fibre Channel 2GFC[5] 02,125 (8b10b) 0206 97,2 % 2001
Fibre Channel 4GFC[5] 04,25 (8b10b) 0413 97,2 % 2005
Fibre Channel 8GFC[5] 08,5 (8b10b) 0826 97,2 % 2008
Fibre Channel 10GFC[5] 10,52 (64b66b-kodiert) 1239 97,2 % 2004
Fibre Channel over 10G Ethernet 10GFCoE[5] 10 1206 96,5 % (MTU 2500) 2009
iSCSI over 10G Ethernet[1] 10 1239 99,1 % (MTU 9000) 2004
Fibre Channel 20GFC[5] 21,04 (64b66b) 2478 97,2 % 2008

Converged 10 GbE Bearbeiten

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.

Implementierungen Bearbeiten

Betriebssystem Erscheinungsdatum Version Unterstützte Techniken
i5/OS Oktober 2006 i5/OS V5R4M0 Target, Multipath
VMware ESX Juni 2006 ESX 3.0.0, ESX 3.5, ESX 4 Initiator, Multipath
AIX Oktober 2002 AIX 5.2, AIX 5.3, AIX 6.1 Initiator, Target (nur AIX 5.3 und höher), Multipath IBM iSCSI software initiator and software target on AIX 6.1
Windows Juni 2003 2000, XP Pro, 2003, Vista, 2008, 7, 8, 2012, 10, 2016, 2019, 2022, 11 Initiator, Target (nur im Windows Storage Server, Windows Server 2008 R2, Windows Server 2012), Multipath
NetWare August 2003 NetWare 5.1, 6.5, & OES Initiator, Target
HP-UX Oktober 2003 HP 11i v1, HP 11i v2 Initiator
Solaris Februar 2005 Solaris 10, 11[6] Initiator, Target, Multipath
Linux Juni 2005 2.6.12, ab 2.6.38 LIO Initiator, Target (FCAL, FCoE), Multipath
NetBSD Februar 2006 4.0, 5.0 Initiator (5.0), Target (4.0), Multipath
OpenBSD Mai 2011 ab Version 4.9 Initiator
FreeBSD Februar 2008 7.0 Initiator, Target, Multipath
OpenVMS Februar 2008 8.3-1H1 Initiator, Multipath
Mac OS X Juli 2008 10.4 – 10.5 Initiator, Target

Ähnliche Standards Bearbeiten

  • 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 Bearbeiten

Einzelnachweise Bearbeiten

  1. a b c d RFC 7143 – Internet Small Computer System Interface (iSCSI) Protocol (Consolidated). April 2014 (löst RFC 5048 ab, englisch).
  2. RFC 3720 – Internet Small Computer Systems Interface (iSCSI). April 2004 (englisch).
  3. 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
  4. a b Ujjwal Rajbhandari: Comparing Performance Between iSCSI, FCoE, and FC. In: Enterprise Technology Center. Dell, Oktober 2009, archiviert vom Original (nicht mehr online verfügbar) am 20. August 2010; abgerufen am 20. Oktober 2010 (englisch).  Info: Der Archivlink wurde automatisch eingesetzt und noch nicht geprüft. Bitte prüfe Original- und Archivlink gemäß Anleitung und entferne dann diesen Hinweis.@1@2Vorlage:Webachiv/IABot/www.delltechcenter.com
  5. a b c d e f g Mario Vosschmidt: Storage Trends 2010. (PDF; 2,2 MB) LSI Logic GmbH, 2010, abgerufen am 20. Oktober 2010.
  6. COMSTAR Replaces iSCSI Target Daemon. Solaris 11 Dokumentation; abgerufen am 5. Februar 2013.