Logical Unit Number (LUN)
Was ist eine Logical Unit Number (LUN)?
Eine Logical Unit Number (LUN) ist eine eindeutige Kennung zur Bezeichnung eines einzelnen oder einer Gruppe von physischen oder virtuellen Speichergeräten, die Eingabe-/Ausgabe-Befehle (I/Os) mit einem Host-Computer ausführen, wie im SCSI-Standard definiert.
SCSI ist eine weit verbreitete I/O-Schnittstelle, die den Datenaustausch zwischen Servern und Speichergeräten über verschiedene Transportprotokolle wie iSCSI oder Fibre Channel (FC) ermöglicht. Ein SCSI-Initiator im Host startet die Übertragung von I/O-Befehlen, die an ein Zielsystem (Target) beziehungsweise ein Empfänger-Speichergerät weitergeleitet werden. Eine logische Einheit (Logical Unit) ist dabei eine adressierbare Entität innerhalb des SCSI-Ziels, die auf diese Befehle reagiert.
LUNs ermöglichen es, bestimmte logische Einheiten oder Datenbereiche auf einem Speichergerät eindeutig zu identifizieren, sodass Computer gezielt darauf zugreifen und darauf abgestimmte Operationen durchführen können.
So funktionieren LUNs
Die Einrichtung von LUNs variiert je nach System. Eine Logical Unit Number wird zugewiesen, wenn ein Host ein SCSI-Gerät scannt und eine logische Einheit entdeckt. Die LUN identifiziert die spezifische logische Einheit gegenüber dem SCSI-Initiator, wenn sie mit Informationen wie der Zielportkennung kombiniert wird.
Die logische Einheit kann Teil eines Speicherlaufwerks, ein gesamtes Speicherlaufwerk oder alle Teile mehrerer Speicherlaufwerke wie Festplatten, Solid-State-Laufwerke oder Bänder in einem oder mehreren Speichersystemen sein. Eine LUN kann auf einen gesamten RAID-Satz, ein einzelnes Laufwerk oder eine Partition oder mehrere Speicherlaufwerke oder Partitionen verweisen. In jedem Fall wird die logische Einheit wie ein einzelnes Gerät behandelt und anhand der logischen Einheitsnummer identifiziert. Die Kapazitätsgrenze einer LUN variiert ebenso je nach System.
Eine LUN ist für die Verwaltung eines Blockspeicher-Arrays in einem Speichernetzwerk (Storage Area Network, SAN) von zentraler Bedeutung. LUNs können die Verwaltung von Speicherressourcen vereinfachen, da Zugriffs- und Kontrollrechte über die logischen Kennungen gezielt zugewiesen werden können.
Arten von LUNs
Die zugrunde liegende Speicherstruktur und der Typ der logischen Einheit spielen eine Rolle für die Leistung und Zuverlässigkeit. Beispiele hierfür sind:
- Mirrored LUN. Fehlertolerante LUN mit identischen Kopien auf zwei physischen Laufwerken für Datenredundanz und Sicherung.
- Concatenated LUN. Konsolidiert mehrere LUNs zu einer einzigen logischen Einheit oder einem einzigen Volume.
- Striped LUN. Schreibt Daten auf mehrere physische Laufwerke und verbessert so möglicherweise die Leistung, indem I/O-Anforderungen auf die Laufwerke verteilt werden.
- Striped LUN mit Parität. Verteilt Daten und Paritätsinformationen auf drei oder mehr physische Laufwerke. Wenn ein physisches Laufwerk ausfällt, können die Daten aus den Informationen auf den verbleibenden Laufwerken rekonstruiert werden. Die Paritätsberechnung kann sich auf die Schreibleistung auswirken.
- Virtuelle LUN: Eine LUN, deren Speicherplatz dynamisch (Thin Provisioning) oder vollständig (Thick Provisioning) aus einem größeren Speicherpool zugewiesen wird. Virtuelle LUNs ermöglichen eine flexible und effiziente Nutzung der Speicherressourcen, da der tatsächlich genutzte Speicherbedarf erst bei Bedarf bereitgestellt wird.
Verwendung von LUNs
Die primäre Funktion einer LUN besteht darin, als eindeutige Kennung zur Adressierung eines Speichergeräts oder eines Speicherbereichs zu dienen. Die konkrete Verwendung kann je nach LUN-Typ variieren:
- Eine einfache LUN bezeichnet typischerweise einen bestimmten Bereich oder eine Partition auf einer physischen Festplatte.
- Spanned LUNs (überspannende LUNs) erstrecken sich über zwei oder mehr physische Festplatten und fassen deren Speicherplatz zu einer einzigen logischen Einheit zusammen.
- Mirrored LUNs (gespiegelte LUNs) speichern identische Kopien der Daten auf zwei Festplatten, um bei einem Ausfall eines Laufwerks die Datenverfügbarkeit sicherzustellen.
LUNs werden häufig für die Zoneneinteilung (Zoning) und Maskierung (LUN Masking) in Storage Area Networks verwendet, um den Zugriff auf Speicherressourcen gezielt zu steuern. Zudem können LUNs virtualisiert werden, sodass mehrere physische LUNs zu einer logischen Einheit zusammengefasst oder flexibel bereitgestellt werden können.
Obwohl der Begriff LUN streng genommen nur die Identifikationsnummer der logischen Einheit bezeichnet, wird er im alltäglichen Sprachgebrauch häufig als Synonym für die gesamte logische Einheit verwendet.
LUN Zoning und LUN Masking
Speichernetzwerke steuern den Zugriff von Hosts auf LUNs, um die Datensicherheit und -integrität zu gewährleisten. LUN Masking und Switch-basiertes Zoning verwalten die SAN-Ressourcen, auf die die angeschlossenen Hosts zugreifen können.

Das LUN Zoning bietet isolierte Pfade für I/O über eine FC-SAN-Struktur zwischen Endports, um ein deterministisches Verhalten zu gewährleisten. Ein Host ist auf die Zone beschränkt, der er zugewiesen ist. Die LUN-Zoneneinteilung wird in der Regel auf der Switch-Ebene eingerichtet. Sie kann dazu beitragen, die Sicherheit zu verbessern und Hotspots im Netzwerk zu beseitigen.
Das LUN Masking beschränkt den Host-Zugriff auf bestimmte SCSI-Ziele und deren LUNs. Die LUN-Maskierung erfolgt in der Regel auf dem Speicher-Controller, kann aber auch auf der HBA- oder Switch-Ebene durchgesetzt werden. Mit der LUN-Maskierung können mehrere Hosts und Zonen denselben Port auf einem Speichergerät verwenden, jedoch nur die ihnen zugewiesenen SCSI-Ziele und LUNs sehen.
LUNs und Virtualisierung
Eine LUN stellt eine Form der Virtualisierung dar, da sie die zugrunde liegenden Hardwarekomponenten abstrahiert und über eine standardisierte SCSI-Schnittstelle identifizier- und ansprechbar macht. Das durch die LUN repräsentierte Speicherobjekt kann bereitgestellt, komprimiert, dedupliziert oder verschoben werden, solange die Präsentation gegenüber dem Host unverändert bleibt. LUNs können innerhalb eines Speichersystems oder zwischen verschiedenen Systemen migriert, kopiert, repliziert, mit Snapshots versehen und in verschiedene Speicherklassen (Tiers) unterteilt werden.
Virtuelle LUNs ermöglichen es, mehrere physische LUNs zu bündeln und die bereitgestellte Kapazität zu virtualisieren. So können beispielsweise Thin Provisioned LUNs erstellt werden, deren logische Kapazität die tatsächlich verfügbare physische Kapazität übersteigen kann. Der physische Speicherplatz wird dabei erst bei tatsächlicher Nutzung (Datenbeschreibung) zugewiesen, was eine effiziente Nutzung der Speicherressourcen ermöglicht.
Virtuelle LUNs können auf verschiedenen Ebenen eingerichtet werden: auf dem Serverbetriebssystem, im Hypervisor oder direkt auf dem Speicher-Controller. In virtualisierten Umgebungen sieht die virtuelle Maschine (VM) die zugrunde liegende physische LUN in der Regel nicht direkt, weshalb kein klassisches LUN Zoning erforderlich ist.
Ob LUN Zoning erforderlich ist, hängt davon ab, ob der Speicherzugriff auf der Ebene der VMs, des Hypervisors oder direkt durch physische Server erfolgt. In den meisten Virtualisierungsszenarien wird das Zoning weiterhin auf Host-Ebene benötigt, um den Zugriff auf die zugrunde liegenden Speicherressourcen zu kontrollieren, auch wenn die VMs selbst keinen direkten Bezug zu den LUNs haben.
Softwarelösungen können LUNs direkt an VMs präsentieren, die auf einem Gastbetriebssystem laufen. Proprietäre Technologien wie VMware vSphere Virtual Volumes (vVols) stellen eine zusätzliche Virtualisierungsschicht bereit, die eine flexible und granulare Verwaltung von Speicherressourcen ermöglicht.
Verwalten von LUNs
Nach der Erstellung werden LUNs in der Regel über spezialisierte Managementsoftware verwaltet, die die Zuordnung (Mapping) zwischen LUNs und Hosts sowie die Zugriffsrechte steuert. Zu den zentralen Verwaltungsaufgaben gehören das Steuern der Verfügbarkeit, das Anpassen der Größe (sofern vom System unterstützt), das Löschen, das Sichern sowie das Monitoring der LUNs. Die empfohlenen Vorgehensweisen (Best Practices) unterscheiden sich je nach eingesetzter Speicherumgebung, eingesetztem Protokoll und Herstellerempfehlungen.
- Größenanpassung: Die Größe einer LUN kann in vielen Systemen nachträglich erhöht werden, sollte aber immer an den tatsächlichen Bedarf angepasst werden, um Ressourcenverschwendung zu vermeiden. Es gibt systemabhängige Obergrenzen für die maximale LUN-Größe, und Metadaten benötigen zusätzlichen Speicherplatz.
- Löschen: Das Löschen einer LUN bedeutet in der Regel, dass die LUN aus der Zuordnung entfernt und der belegte Speicherplatz im Volume freigegeben wird. Das vollständige Überschreiben der Daten (sicheres Löschen) ist eine zusätzliche, sicherheitsrelevante Maßnahme. Das Entfernen oder Trennen einer LUN (Unmapping) ist ein separater Vorgang. Aus Sicherheitsgründen sollten nur Administratoren zum Löschen oder Entfernen von LUNs berechtigt sein.
- Sicherung: LUNs können durch Snapshots, Replikation oder Backups gesichert werden, abhängig von den Funktionen des Speichersystems.
- Zoning und Masking: Zoning und LUN Masking sind keine Synonyme für Sicherung, sondern bezeichnen Zugriffskontrollmechanismen im SAN. Zoning (auf Switch-Ebene) und LUN Masking (auf Storage-Ebene) regeln, welche Hosts auf welche LUNs zugreifen dürfen und tragen so zur Sicherheit und Segmentierung der Speicherumgebung bei.
Die optimale Verwaltung von LUNs umfasst die sorgfältige Planung der LUN-Größe und -Anzahl, die Überwachung der Auslastung, die konsequente Umsetzung von Zugriffskontrollen (Zoning, Masking), die regelmäßige Sicherung und die Beachtung der Herstellerempfehlungen für das jeweilige System
Herausforderungen bei LUNs
Typische Herausforderungen im Umgang mit LUNs ergeben sich häufig aus der ungenauen Verwendung des Begriffs, da LUN sowohl als Kennung als auch als Synonym für die logische Einheit oder das Speichergerät verwendet wird. Dies kann zu Missverständnissen bei der Ressourcenverwaltung, beim Multipath-I/O und bei der Bereitstellung führen.
Eine wichtige Herausforderung ist die Kapazitätsplanung: Werden LUNs zu groß dimensioniert, kann es zu einer ineffizienten Nutzung der verfügbaren Speicherressourcen kommen, da reservierter, aber ungenutzter Speicherplatz für andere LUNs nicht zur Verfügung steht. Thin Provisioning ermöglicht es, größere LUNs bereitzustellen, als physisch vorhanden sind, birgt jedoch das Risiko einer Überbelegung (Overcommitment). Ist der physische Speicher erschöpft, können Zugriffsprobleme auftreten.
Das Management vieler LUNs kann komplex werden, insbesondere in großen Umgebungen oder bei Windows-Servern. Technologien wie Cluster Shared Volumes (CSV) erleichtern die Verwaltung, indem sie mehreren Servern den gleichzeitigen Zugriff auf gemeinsam genutzte LUNs ermöglichen und so Ausfallsicherheit und Flexibilität erhöhen. Dennoch bleibt die Überwachung der Ressourcenauslastung und die rechtzeitige Erweiterung des Speicherplatzes eine essenzielle Aufgabe für Administratoren.
Weitere Herausforderungen sind:
- Die Komplexität der Konfiguration und Überwachung vieler LUNs.
- Performance-Probleme, wenn zu viele LUNs auf einem einzelnen Speicher-Array liegen.
- Die Notwendigkeit sorgfältiger Zugriffskontrolle und Sicherheitskonfiguration (Zoning, Masking).
- Mögliche Ausfallzeiten oder Aufwand bei Migration und Anpassung von LUNs.
Mit geeigneten Management-Tools, klaren Namenskonventionen, regelmäßiger Überwachung und einer durchdachten Kapazitätsplanung lassen sich viele dieser Herausforderungen jedoch bewältigen.