LIO Unified Target

aus Wikipedia, der freien Enzyklopädie
Zur Navigation springen Zur Suche springen
LIO Unified Target
Basisdaten

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

LIO Architektur

SCSI-Target-Modul[Bearbeiten | Quelltext 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 | Quelltext 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 | Quelltext 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 | Quelltext 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 | Quelltext 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 | Quelltext bearbeiten]

Einzelnachweise[Bearbeiten | Quelltext 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).