Speicher im Netz (Teil 3)

Speichernetz mit iSCSI einfach realisieren

12.05.2010 von Mona Moser
Schneller auf den Speicher im Netz zugreifen, ohne gleich in Fibre Channel zu investieren? Dann könnte iSCSI für Sie eine Alternative sein.
Mit iSCSI können Speicher im Netz wie lokale Festplatten angesprochen werden.

Die blockbasierende Datenübertragung via iSCSI erfreut sich zunehmender Beliebtheit. Wer die technischen und finanziellen Hürden einer Fibre-Channel-Lösung scheut, dem bietet das iSCSI-Protokoll eine pragmatische Speichernetz-Alternative.

Was ist iSCSI?

iSCSI oder Internet SCSI ist ein standardisiertes Protokoll zur blockbasierenden Datenübertragung via Ethernet und bietet damit ein Verfahren, das die Nutzung des SCSI-Protokolls über TCP/IP ermöglicht (SCSI over IP). Das iSCSI-Protokoll kann mit vielen SCSI-Geräten kommunizieren, wird aber bevorzugt eingesetzt, um Servern den Zugriff auf Datenträger in Speichersystemen zu ermöglichen. Das Protokoll sendet auf Blockbasis und erstellt hierzu eine virtuelle Punkt-zu-Punkt-Verbindung. So ist iSCSI schneller als die File-basierende Übertragung via CIFS oder NFS

Aufbau eines iSCSI-Netzes

Vereinfacht dargestellt, enthält ein iSCSI-Netz mehrere Clients, Server und ein Speichersystem. Anders als Fibre Channel, das eine spezielle aktive und passive Infrastruktur benötigt, kann iSCSI über bestehende IP und Switch-Infrastruktur transportiert werden.

Der Client-PC, der innerhalb des Systems die Verbindung zu den gespeicherten Daten herstellen möchte, wird als iSCSI-Initiator bezeichnet. Zur Nutzung des iSCSI-Protokolls benötigt der Client oder Server einen software- oder hardwarebasierenden iSCSI-Initiator. Er übernimmt den Part, den bei einem PC normalerweise der SCSI-Bus-Adapter ausfüllt, nur dass statt der physischen Verkabelung der SCSI-Geräte die Befehle bei iSCSI über TCP/IP übermittelt werden.

iSCSI-Initiatoren

Es gibt zwei Arten von iSCSI-Initiatoren: Hardware- und Software-Initiatoren. Der Hardware-Initiator wird in Form einer speziellen iSCSI-Karte, auch iSCSI HBA genannt, am Server angebracht. Ein Hardware-Initiator verringert den Overhead von iSCSI und die Ethernet-Interrupts. Im Vergleich zum Software-Initiator wird so eine höhere Server-Performance erzielt. Trotzdem ist der Software-Initiator gebräuchlicher. Er nutzt Code zur Datenübertragung und ist nichts anderes als ein spezieller Treiber für gängige Netzkarten, der diese zur iSCSI-Übertragung befähigt. Initiatoren für Microsoft, Linux und Mac stehen bei den Anbietern zum Download zur Verfügung.

Beide Arten von Initiatoren werden vom Betriebssystem des Clients als SCSI-Adapter erkannt und können so herkömmliche SCSI-Kommandos weiterleiten. Das Betriebssystem auf dem Client nimmt den iSCSI-Speicher wie eine interne Festplatte wahr. Die Daten können über gängige Ethernet-Infrastrukturen ohne Entfernungseinschränkungen transportiert werden.

Das iSCSI-Target

Selbst bei kleinen NAS-Systemen (im Bild: Synology DS209+ II) gehört heute die iSCSI-Unterstützung bereits zum guten Ton.
Foto: Synology/Hill

Das iSCSI-Target ist eine Speicherressource, die auf einem Server liegt, also ein über Ethernet verfügbarer, nicht lokaler Festplattenspeicher. iSCSI-Targets befinden sich auch in großen, in Rechenzentren stationierten Storage-Arrays. Nahezu jedes moderne Betriebssystem beinhaltet die iSCSI-Funktion, das heißt, die iSCSI-Target-Funktion ist bereits in die Software implementiert. Das iSCSI-Laufwerk muss zunächst wie eine normale Festplatte partitioniert und formatiert werden. Um über das Internet transportierbar zu sein, muss SCSI in das iSCSI-Protokoll transferiert werden, was entweder durch einen iSCSI-Server oder via spezielle Netzhardware (iSCSI-Router, iSCSI Bridge) geschehen kann.

Mittlerweile verfügen auch viele NAS-Geräte über eine iSCSI-Unterstützung. So kann das NAS, das üblicherweise die Daten per File-basierenden Transfer übermittelt, auch blockbasierend via iSCSI Daten übertragen. Damit nehmen NAS-Speicher zunehmend den Platz kleiner Server-Anlagen ein. Prozessoren mit Gigahertz-Geschwindigkeit haben genügend Rechenleistung und ermöglichen somit einen reibungslosen iSCSI-Datentransfer.

Stärken und Schwächen des iSCSI-Datentransfers

Das iSCSI-Laufwerk stellt sich dem zugreifenden Client als physische lokale Festplatte zur Verfügung. Hosts wie Datenbanken oder Web-Server nehmen also nicht wahr, dass es sich beim iSCSI-Target nicht um ein lokales Speichermedium handelt. So können Anwendungen genutzt werden, die normalerweise nicht für die Zusammenarbeit mit Netzlaufwerken geeignet sind. iSCSI eignet sich für alle Datenübertragungen, die in der Regel Blockdevices benötigen.

Netzinfrastruktur

Für iSCSI kann die vorhandene Ethernet-Netzwerkinfrastruktur und die bestehende Hardware genutzt werden. Dennoch empfiehlt es sich, ein abgetrenntes Netz zu installieren. Das heißt, es müssen eigene Netzkarten, separate Switches und eine eigene passive Infrastruktur für iSCSI aufgebaut werden, damit die maximale Performance erreicht wird. Die iSCSI-Hardware ist jedoch günstiger als Fibre-Channel-Equipment, woraus sich für den Netzbetreiber Kostenvorteile ergeben. Ein Nachteil im Vergleich zu Fibre Channel ist bis dato allerdings die Performance. Solange 10-GB-Ethernet noch nicht als gängiger Standard in allen Rechenzentren und Netzen Einzug gehalten hat, ist Gigabit Ethernet beispielsweise bei der Übertragung großer Datenbankanwendungen überfordert.

In der Praxis bringtr iSCSI merkliche Geschwindigkeitsvorteile bei der Datenübertragung.
Foto: Synology/Hill

Abhilfe kann hier etwa die Aktivierung von Jumbo-Frames schaffen, die den Datendurchsatz deutlich vergrößert. Dazu wird die maximale Paketgröße (MTU) auf 9216 erhöht, da dies hinsichtlich der 32-Bit-Checksumme einen optimalen Wert darstellt. Allerdings müssen alle beteiligten Komponenten wie Switches oder Netzkarten Jumbo Frames unterstützen. Erschwerend kommt hinzu, dass sich die Jumbo-Frames-Implementierungen der einzelnen Hersteller teilweise unterscheiden. Im schlechtesten Fall kann die Aktivierung des Jumbo Frames den Datentransfer sogar bremsen - in der Praxis sollte diese Option also kritisch geprüft werden.

Für die meisten Anwendungen reicht jedoch die Performance von Gigabit Ethernet völlig aus. Kleinere Datenmengen überträgt iSCSI genauso schnell wie Fiber Channel. Wenn aber für den iSCSI-Betrieb kein Subnetz angelegt wird, kann die Performance empfindlich leiden. Auch sollte man bedenken, dass Fiber Channel over Ethernet ebenfalls keine eigene Infrastruktur benötigt.

Storage-Konsolidierung

Organisationen bündeln verstärkt ihre Daten, die auf verschiedenen Netz-Servern gelagert sind, an einem zentralen Punkt. Dadurch wird der Speicherplatz effizienter verteilt. iSCSI eignet sich hier zur Storage-Konsolidierung und Zentralisierung vieler Anwendungen, falls diese eine geringe I/O-Belastung aufweisen. Web-Server, Mail-Server und File-Server mit hoher Kapazität sind besonders für iSCSI geeignet, auch wird es bevorzugt zur Sicherung kritischer Daten auf der Festplatte eingesetzt.

Das Speichersystem selbst kann überall aufgestellt werden. Benötigt wird nur eine Ethernet-Verbindung. Zudem ermöglicht iSCSI eine unkomplizierte und kostengünstige Zentralisierung des Speicherplatzes. So lassen sich vorhandene Direct-Attached-Storage-(DAS-)Systeme einfach zusammenfassen. Das spart nicht nur Administrationsaufwand, sondern auch Energie, da ein Speichersystem alle einzelnen DAS-Systeme ablöst. Server-Virtualisierung erhöht die Verfügbarkeit, die Input-Output-Last ist dabei nicht übermäßig hoch. Auch hier ist iSCSI eine Option.

Verschlüsselung und Datenschutz

SCSI überträgt die Daten in der Regel im Klartext. Für Punkt-zu-Punkt-Verbindungen ist das unkritisch, da niemand von außen mithören kann. iSCSI-Daten werden jedoch über ein Netz transportiert, weswegen die Verbindung unbedingt verschlüsselt werden sollte. Es gibt auch Verfahren, die eine Punkt-zu-Punkt-Verschlüsselung aufbauen, hierfür sind jedoch zusätzliche Ressourcen nötig.

Fazit

iSCSI basiert mit SCSI, TCP/IP und Ethernet auf bewährten Techniken, die jeder Server und jedes Betriebssystem beherrscht. Zudem sprechen für iSCSI die relativ niedrigen Implementierungskosten. Auf der anderen Seite weist iSCSI in den weit verbreiteten Gigabit-Ethernet-Netzen nicht die erforderliche Performance für den Transport großer Datenmengen aus. Der große Wachstumsschub für die iSCSI-Technologie dürfte deshalb erst mit dem standardmäßigen Einsatz des 10-Gigabit-Ethernet kommen. (hi)