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 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]

LIO Unified Target
Basisdaten

Entwickler Datera
Aktuelle Version 4.0.0
(17. Dezember 2010)
Betriebssystem Linux
Kategorie SCSI
Lizenz GPL
www.linux-iscsi.org

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 physikalischen 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. In: lkml.org. 15. Januar 2011, ehemals im Original (nicht mehr online verfügbar); abgerufen am 7. März 2011 (englisch).@1@2Vorlage:Toter Link/git.kernel.org (Seite nicht mehr abrufbar. Suche in Webarchiven)  Info: Der Link wurde automatisch als defekt markiert. Bitte prüfe den Link gemäß Anleitung und entferne dann diesen Hinweis.
  2. Thorsten Leemhuis: Kernel-Log – Was 2.6.38 bringt (4): Storage. Heise Open Source, 28. Februar 2011, abgerufen am 7. März 2011 (englisch).
  3. STGT Target
  4. LIO-Target. In: linux-iscsi.org. Abgerufen am 26. August 2012 (englisch).
  5. RFC 3720 – Internet Small Computer Systems Interface (iSCSI). April 2004 (englisch).
  6. Ralph Weber: SCSI Primary Commands – 4 (SPC-4). In: t10.org. 17. Januar 2011, abgerufen am 7. März 2011 (englisch).
  7. Jonathan Corbet: Configfs – an introduction. In: lwn.net. 24. August 2005, abgerufen am 7. März 2011 (englisch).
  8. targetcli. In: linux-iscsi.org. Abgerufen am 29. Februar 2012 (englisch).