RSIO

Aus MARJORIE-WIKI
Wechseln zu: Navigation, Suche

RSIO (Remote Storage I/O) ist ein von der deutschen Firma OSL speziell für Netzwerkinfrastrukturen und Speichervirtualisierung entwickeltes Block-I/O-Protokoll. Es wurde 2009 zum ersten Mal öffentlich vorgestellt [1]

Eigenschaften und Funktionen[Bearbeiten]

Anders als andere Block-I/O-Protokolle setzt RSIO nicht für Festplatten genutzte Schnittstellen wie SCSI oder ATA um, sondern bildet die Block-I/O-Schnittstellen des Betriebssystems auf einem entfernten RSIO-Server ab. Der Protokollstack wird damit sowohl auf der Serverseite (entspricht einem FC-Target) als auch auf der Client-Seite (entspricht FC-Initiator) deutlich flacher, was zu einer signifikanten Reduzierung des CPU-Bedarfs für den Transport und geringfügig kürzeren Latenzen führt. In der Administration wird erstmals zwischen Netzwerkverbindungen und Device-Kontext unterschieden, so dass die typischen Problemstellungen in der Abbildung von Bus-Protokollen auf Netzwerkarchitekturen umgangen werden.[2]

In das Protokoll integriert sind Funktionen wie Netzwerk-Discovery, Multipathing einschließlich Trunking und Error Recovery. Zur Übertragung werden eigene Frames variabler Größe verwendet, die je Frame allerdings nur einen Overhead von 16Bytes erzeugen. Ebenso wie iSCSI nutzt die derzeit bekannte OSL-Implementierung von RSIO TCP-Sockets, jedoch werden I/O-Pakete prinzipiell mit einem besonderen Multiplex-Verfahren übertragen, das die Transportzeiten im Vergleich zu iSCSI deutlich reduziert. Die Nachteile von Ethernet gegenüber Fibre Channel hinsichtlich der Latenzen werden damit bei gleicher nomineller Übetragungsrate kompensiert. Mit RSIO sind Transferraten von 116MByte/s über eine GBit-Ethernetschnittstelle möglich. Bei mehreren Schnittstellen skaliert der Durchsatz nahezu linear, 10GE liefert entsprechend höhere Bandbreiten. [3] Das Protokoll kombiniert so die Eignung für große Netze (u. a. Routingfähigkeit und große Zahl von Rechnerknoten) mit einer maximalen Performance und niedrigem CPU-Bedarf.

RSIO erlaubt n:n-Beziehungen zwischen Storage-Servern und Storage-Clients und damit Cluster von Servern und Clients. Geräte können von mehreren Servern angeboten werden und bilden dann einen "Namespace". Clients können zugleich auf mehrere Namespaces zugreifen. Typischerweise wird RSIO in Verbindung mit einer Speichervirtualisierung verwendet. Festplattentypische Aufgaben wie Plattenformatierung, Partitionierung u. a. entfallen damit. RSIO im Netzwerk

Die derzeit bekannte Implementierung unterstützt in einem Namespace bis zu 256 Server und 8192 Clients mit je bis zu 8 Netzwerk-Interfaces. Durch die Verwendung von TCP/IP ist diese Implementierung routingfähig.

Auf dem Client stellt sich ein RSIO-Device wie eine lokale Festplatte dar, der Zugriff erfolgt blockbasierend, so dass das Protokoll für Datenbanken, Filesysteme und für andere Anwendungen geeignet ist. Im Kontext virtueller Maschinen erlaubt die Fähigkeit zum parallelen aber kontrollierten Zugriff durch mehrere Clients eine sichere Live-Migration.

Vergleich mit iSCSI, Fibre Channel und FCoE[Bearbeiten]

Bei der Verwendung von Ethernet-Netzwerken gelten hinsichtlich der Hardware die gleichen Randbedingungen wie für iSCSI. In der Übertragungsgeschwindigkeit bietet RSIO gegenüber iSCSI Vorteile bei gleichzeitig deutlich reduziertem CPU-Bedarf. Mit Fibre Channel sind bei niedrigerer CPU-Belastung höhere Durchsätze erzielbar. Demgegenüber machen die Netzwerk-, Virtualisierungs- und Verfügbarkeitseigenschaften RSIO für skalierbare Infrastrukturen (Cloud-Konzepte) und virtuelle Maschinen interessant. RSIO benötigt im Unterschied zu FCoE kein "Lossless Ethernet" und funktioniert bei gleichem Potential für Netzwerkkonvergenz auch mit konventionellen Ethernet-Switches und dazu passender Verkabelung.

Implementierungen[Bearbeiten]

Da Server und Client direkt über die Block-I/O-Schnittstelle des jeweiligen Clients kommunizieren, wird auf Server- wie auf Clientseite entsprechende Software benötigt. Bekannt sind Implementierungen für Ethernet auf aktuellen Distributionen von Solaris und Linux, jedoch nicht für Microsoft Windows oder VMware vSphere. OSL hat Implementierungen für andere Socket-Typen und Schnittstellen angekündigt, eine Umsetzung ist nicht bekannt.

Ähnliche Protokolle[Bearbeiten]

  • iSCSI (SCSI over IP): Bei iSCSI werden SCSI-Pakete in TCP/IP gekapselt. Unterschiede zu RSIO sind die Umwandlung der I/O-Aufträge in SCSI-Requests, höherer Ressourcenbedarf bei niedrigeren Durchsätzen, fehlende Virtualisierungsunterstützung und das Gesamtdesign der Kommunikation. iSCSI wird allerdings auf allen wichtigen Plattformen unterstützt.
  • ATA over Ethernet: Bei ATA over Ethernet werden ATA/ATAPI-Pakete in Ethernet gekapselt. Im Unterschied zu RSIO erfolgt keine Kapselung in TCP/IP, ATAoE ist nicht routingfähig.
  • Fibre Channel: FC definiert ein nicht routingfähiges Standardprotokoll aus dem Bereich der Speichernetzwerke, das als Nachfolger von SCSI für die Hochgeschwindigkeitsübertragung großer Datenmengen konzipiert wurde. FC ist nicht mit Ethernet kompatibel, es wird eine separate Infrastruktur (NICs, Switche, usw.) benötigt.
  • Fibre Channel over Ethernet: Bei Fibre Channel over Ethernet werden Fibre Channel-Pakete in Ethernet gekapselt. Im Unterschied zu RSIO erfolgt aber keine Kapselung in TCP/IP, FCoE ist 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 RSIO erfolgt keine Kapselung in TCP/IP, HyperSCSI ist damit nicht routingfähig.

Weblinks[Bearbeiten]

Einzelnachweise[Bearbeiten]

Info Sign.svg Dieser Wikipedia-Artikel wurde, gemäß GFDL, CC-by-sa mit der kompletten History importiert.