LIO

aus Wikipedia, der freien Enzyklopädie
Wechseln zu: Navigation, Suche
LIO
Entwickler Datera
Aktuelle Version 4.0.0
(17. Dezember 2010)
Betriebssystem Linux
Kategorie SCSI
Lizenz GPL
www.linux-iscsi.org

"LIO Unified Target" ist ein multiprotokollfähiges SCSI-Target-Modul für den Linux-Kernel ab Version 2.6.38.[1][2] Es ersetzt damit das bisherige STGT-Target.[3] LIO unterstützt aktuell die Protokolle iSCSI, Fibre Channel, FCoE und InfiniBand (SRP und iSER). Neben der x86-Mikroprozessor-Architektur werden IA-64, ARM, MIPS und IBM POWER unterstützt. Das Konzept des Unified-Target-Modul wird vor allem für den Zugriff auf eine Vielzahl von Speichermedien über eine Vielzahl von Protokollen benötigt. LIO als Unified-Target-Modul greift dabei weder selbst auf Daten zu, noch kommuniziert es direkt mit den Applikationen. Aufgabe von LIO ist es, die Semantik verschiedener SCSI-Targets nahtlos zu abstrahieren.[4]

Architektur[Bearbeiten]

LIO Architektur

SCSI-Target-Modul[Bearbeiten]

LIO ist modular um ein zentrales SCSI-Target-Modul aufgebaut. Der Begriff SCSI-Target wird in diesem Zusammenhang nicht nur für dienstleistende Geräte an einem SCSI-Bus verwendet, sondern ganz allgemein für die Befehle empfangende Seite einer SCSI-Verbindung, also auch von SCSI-Verbindungen, die über Netzwerke völlig ohne physikalischem SCSI-Bus arbeiten. Für diese Verbindungen ist das SCSI-Target-Modul in diesem Fall der dienstleistende Server.

Backstores[Bearbeiten]

Um diese Dienstleistung erbringen zu können, benötigt das SCSI-Target-Modul Speichermedien, die je nach Ausführung ihrerseits SCSI-Targets sein können, aber nicht müssen. Die Verbindung zu einer Vielzahl unterschiedlicher Speichermedien wird von sogenannten Backstores geleistet, die als Backend am SCSI-Target-Modul arbeiten. Backstores können über eine Schnittstelle zur Abstraktion von Speichergeräten des Storage Hardware Abstraction Layer (S-HAL) im Linux-Kernel mit dem SCSI-Target-Modul verbunden werden. Das SCSI-Target-Modul unterstützt dabei den SCSI-3 Standard für sämtliche Backstores. Ein spezielles Loopback-Modul erlaubt die Integration von RAM-Disks oder SSD-Speicher. Über das FILEIO-Modul können Dateien aus beliebigen Dateisystemen als Speichermedium eingebunden werden.

Fabric-Module[Bearbeiten]

Ein Fabric-Modul (eng. "Gewebe" oder "Gefüge") stellt die Dienste des SCSI-Target-Modul über ein konkretes Protokoll zur Verfügung. Es gibt Fabric-Module für Fibre Channel, FCoE (Fibre Channel over Ethernet) SCSI über IP-Netze und andere. Damit lassen sich sogenannte Storage Area Networks (SAN) aufbauen.

Initiator[Bearbeiten]

Neben dem SCSI-Target wird von Datera auch noch ein Open Source iSCSI-Initiator names Core-iSCSI bereitgestellt. Ein besonderes Merkmal ist die Unterstützung mehrerer Verbindungen pro Session (Multiple iSCSI connections per iSCSI session – MC/S). Auf diese Weise wird eine verbesserte Verfügbarkeit und Durchsatz ermöglicht. Der Standard-Linux-iSCSI-Initiator unterstützt dieses Feature nicht. Core-iSCSI erlaubt darüber hinaus das Booten von Servern über ein iSCSI-SAN (diskless boot).

Features[Bearbeiten]

LIO unterstützt den iSCSI-Standard[5] sowie Persistent Reservations und ALUAs (Asymmetric Logical Unit Assignment) des SPC-4[6] SCSI-Standards.

Zusammen mit der Replikationssoftware DRBD und der Clustersoftware Corosync lassen sich hochverfügbare Speichersysteme aufbauen. Der RTSdirector implementiert ein eigenes Multinode-Cluster mit linearer Skalierbarkeit.

Die Konfiguration erfolgt über das Linux configfs,[7] die Administration über ein Kommando-Zeilen-Tool (RTSadmin). Mit Erscheinen der Version 2 ist es möglich, Fibre Channel, FCoE und InfiniBand Konfigurationen zu administrieren. Die Version 2 wurde dual lizenziert, und die Community Version 'targetcli' ist unter der AGPL erschienen.[8]

LIO wurde von der Firma Datera entwickelt und wird von einigen Herstellern von Speichersystemen (engl.: "storage appliances") integriert (Buffalo, Netgear, Pure Storage, QNAP, Synology, etc.).

Weblinks[Bearbeiten]

Einzelnachweise[Bearbeiten]

  1. Linus Torvalds: Trivial merge. lkml.org. 15. Januar 2011. Abgerufen am 7. März 2011.
  2. Thorsten Leemhuis: Kernel-Log – Was 2.6.38 bringt (4): Storage. Heise Open Source. 28. Februar 2011. Abgerufen am 7. März 2011.
  3. STGT Target
  4. LIO-Target. linux-iscsi.org. Abgerufen am 26. August 2012.
  5. RFC 3720
  6. Ralph Weber: SCSI Primary Commands - 4 (SPC-4). t10.org. 17. Januar 2011. Abgerufen am 7. März 2011.
  7. Jonathan Corbet: Configfs - an introduction. lwn.net. 24. August 2005. Abgerufen am 7. März 2011.
  8. targetcli. linux-iscsi.org. Abgerufen am 29. Februar 2012.