LUN-Objekt
[Ab Windows 8 und Windows Server 2012 wird die COM-Schnittstelle des Virtuellen Datenträgerdiensts von der Windows Storage Management-API abgelöst.]
Ein LUN-Objekt (Logical Unit Number) modelliert eine logische Einheit des adressierbaren Speicherplatzes, der von einem Hardwareanbieter erstellt und von einem Subsystem angezeigt wird. Jede LUN umfasst mindestens einen LUN-Plex, der wiederum aus Blöcken von einem oder mehreren Laufwerken besteht.
LUN-Typen
VDS unterstützt fünf LUN-Typen: einfach, überspannt, gestreift, gespiegelt und mit Parität gestreift. Einfache, übergreifende und gestreifte LUNs sind nicht fehlertolerant. Gespiegelte LUNs und Paritäts-LUNs sind fehlertolerant. Im weiteren Verlauf dieses Abschnitts werden die einzelnen VDS-LUN-Typen beschrieben.
- Eine einfache LUN ist eine nicht fehlertolerante LUN, die aus einer einzelnen zusammenhängenden Laufwerksausdehnung von einem einzelnen Laufwerk besteht. Die zusammenhängende Ausdehnung kann aus einem einzelnen Bereich von Blöcken oder mehreren bereichen von Blöcken bestehen, die miteinander verknüpft sind.
- Eine übergreifende LUN ist eine nicht fehlertolerante LUN, die aus mehreren nicht fehlerhaften Blöcken von mehreren Laufwerken besteht. Daten werden linear in die einzelnen Blöcke auf dem ersten Laufwerk geschrieben, bis alle ersten Laufwerksausdehnungen gefüllt sind, und dann in die einzelnen Blöcke auf dem zweiten Laufwerk usw. Übergreifende LUNs ermöglichen eine effiziente Nutzung des Laufwerksraums in Subsystemen, die aus Laufwerken verschiedener Größen bestehen.
- Eine Strip-LUN ist eine nicht fehlertolerante LUN, die aus mehreren übereinander bezogenen, zusammenhängenden Blöcken mehrerer Laufwerke besteht. Striped-LUNs verwenden eine RAID-0-Konfiguration, sodass Daten zyklisch über die Blöcke auf den beitragenden Laufwerken hinweg "gestreift" werden. Streifen-LUNs funktionieren am besten mit Laufwerken der gleichen Größe, desselben Modells und des gleichen Herstellers.
- Gespiegelte LUNs sind fehlertolerante LUNs, die eine Notfallwiederherstellung durch Duplizieren der Daten auf mehrere LUN-Plexes ermöglichen. Jeder Plex in einer gespiegelten LUN enthält eine Kopie der Daten, die auf dem ursprünglichen Plex gespeichert sind. Jedes der Plexes befindet sich auf einem separaten Laufwerk. Alle Daten, die in eine gespiegelte LUN geschrieben werden, werden gleichzeitig in jedes ihrer Plexes geschrieben. Wenn eines der mitwirkenden Laufwerke ausfällt, ist der Plex auf diesem Laufwerk nicht verfügbar, aber das System arbeitet weiterhin mit dem nicht betroffenen Plex oder Plexes. Eine gespiegelte LUN kann eine beliebige Anzahl von Plexes aufweisen.
- Stripeset-LUNs mit Parität sind fehlertolerante LUNs, die eine Notfallwiederherstellung ermöglichen, indem Paritätsdaten zeitweilig auf drei oder mehr Laufwerke entfernt werden. Wenn eines der mitwirkenden Laufwerke ausfällt, können die verlorenen Daten aus den verbleibenden Daten und der Parität neu erstellt werden.
LUN-Erstellung
VDS unterstützt vier Modelle, mit denen Anwendungen LUNs erstellen können: explizit gerichtete, teilweise gerichtete, automagische und herstellerspezifische. Alle Hardwareanbieter müssen die explizite und teilweise gesteuerte LUN-Erstellung unterstützen, und es wird dringend empfohlen, die automatische LUN-Erstellung zu unterstützen. (Die herstellerspezifische LUN-Erstellung liegt außerhalb des Rahmens dieses Handbuchs.)
Die explizit gesteuerte LUN-Erstellung ermöglicht es dem Aufrufer, alle Attribute der LUN anzugeben. Die teilweise gesteuerte LUN-Erstellung ermöglicht es dem Aufrufer, nur die Attribute anzugeben, die von besonderem Interesse sind, und ermöglicht es dem Anbieter dann, den Rest auszuwählen. Die Erstellung von automagic LUN umfasst die Möglichkeit, dass der Aufrufer einfach den LUN-Typ und die LUN-Größe zusammen mit einer Reihe von "automagic-Hinweisen" (vordefinierte Einstellungen für LUN-Attribute) angeben kann und dem Anbieter dann ermöglicht wird, die LUN automatisch zu erstellen.
LUN-Masking
VDS unterstützt die LUN-Detarierung für Subsysteme, die diese Funktion bieten. Alle LUNs werden auf dem Computer angezeigt, auf dem der Anbieter ausgeführt wird. Die LUN-Detarierung ermöglicht es einem Aufrufer, ausgewählte LUNs auf anderen Computern im Netzwerk zu "entlarken". Wenn Sie die Maskierung einer LUN auf einem Computer aufheben, hat der Computer Zugriff auf die LUN. Computer, für die eine LUN maskiert ist, nicht.
Eine nicht maskierte LUN macht sowohl die IVdsLun - als auch die IVdsDisk-Schnittstellen für den lokalen Host verfügbar. Sie können IVdsDisk verwenden, um einem Softwareanbieterpaket eine LUN hinzuzufügen, Volumes zu erstellen und zu entfernen, Laufwerkbuchstaben zuzuweisen usw. Weitere Informationen zu den Vorgängen, die auf einem Datenträger ausgeführt werden, finden Sie im Disk-Objekt.
Nachdem eine LUN auf einem Zielcomputer enttarnt oder von einem Zielcomputer maskiert wurde, ändert sich die Sichtbarkeit der LUN auf diesem Computer möglicherweise erst, wenn ein erneuter Busscan durchgeführt wird. Die VDS-Anwendung auf dem Zielcomputer initiiert den erneuten Busscan, indem IVdsService::Reenumerate aufgerufen wird. Die Einleitung der erneuten Überprüfung des Busses liegt in der Verantwortung der VDS-Anwendung, nicht des Hardwareanbieters.
LUN-Multipfading
Hardwareanbieter, die Multipfad-E/A (MPIO) unterstützen, können Lastenausgleichsrichtlinien für Pfade zwischen einer LUN und dem lokalen Host festlegen. LUNs, die diese Funktion unterstützen, machen die IVdsLunMpio-Schnittstelle für den lokalen Host verfügbar.
Arbeiten mit LUNs
Verwenden Sie die IVdsSubSystem::CreateLun-Methode , um ein neues LUN-Objekt zu erstellen. Sie können die LUNs abfragen, die von einem bestimmten Subsystem angezeigt werden, indem Sie die QueryLuns-Methode aufrufen, die auch von IVdsSubSystem verfügbar gemacht wird. Ein Aufrufer kann einen Zeiger auf eine bestimmte LUN abrufen, indem er das gewünschte LUN-Objekt aus der Enumeration auswählt, die von QueryLuns zurückgegeben wird. Mit einem LUN-Objekt können Sie den LUN-Status festlegen. Abfrage für alle aktiven Controller, Plexes und automagic-Hinweise; Erweitern und Verkleinern der LUN; Hinzufügen und Entfernen von Plexes; Masken festlegen; Anwenden von Hinweisen; und löschen Sie die LUN.
Zusätzlich zu einem Objektbezeichner, einem Namen und einer Seriennummer umfassen LUN-Objekteigenschaften den LUN-Typ, die Größe, den Status, die Integrität, den Übergangszustand und die Flags. eine Entlarmungsliste; und eine Prioritätseinstellung für die Neuerstellung.
In der folgenden Tabelle sind verwandte Schnittstellen, Enumerationen und Strukturen aufgeführt.
type | Element |
---|---|
Schnittstellen, die immer von diesem Objekt verfügbar gemacht werden | IVdsLun |
Schnittstellen, die von diesem Objekt immer nur in VDS 1.1- und 2.0-Fibre Channel-Anbietern verfügbar gemacht werden | IVdsLunControllerPorts |
Schnittstellen, die von diesem Objekt immer nur in VDS 1.1- und 2.0-iSCSI-Anbietern verfügbar gemacht werden | IVdsLunIscsi |
Schnittstellen, die von diesem Objekt verfügbar gemacht werden können* |
IVdsMaintenance, IVdsLunMpio, IVdsLunNaming und IVdsLunNumberWindows Server 2008, Windows Vista und Windows Server 2003: Die IVdsLunNumber-Schnittstelle wird nicht unterstützt. |
Zugeordnete Enumerationen | VDS_LUN_FLAG und VDS_LUN_STATUS und VDS_LUN_TYPE |
Zugeordnete Strukturen | VDS_LUN_INFORMATION, VDS_LUN_PROP und VDS_LUN_NOTIFICATION |
* Siehe Disk-Objekt für eine zusätzliche Schnittstelle (IVdsDisk), die verfügbar gemacht wird, wenn die LUN als Datenträger auf dem lokalen Hostcomputer entlarvt wird.