ESXi kann mit dem Internet SCSI (iSCSI)-Protokoll eine Verbindung zu einem externen SAN-Speicher herstellen. Zusätzlich zum herkömmlichen iSCSI-Protokoll unterstützt ESXi auch iSCSI-Erweiterungen für RDMA (iSER).

Mit dem iSER-Protokoll kann der Host dasselbe iSCSI-Framework verwenden, ersetzt dabei aber den TCP/IP-Transport durch den Remote Direct Memory Access (RDMA)-Transport.

Informationen zu iSCSI-SAN

iSCSI-SAN verwendet Ethernet-Verbindungen zwischen Hosts und Hochleistungsspeichersubsystemen.

Auf der Hostseite enthalten die iSCSI-SAN-Komponenten iSCSI-Hostbusadapter (HBAs) oder Netzwerkkarten (NICs). Das iSCSI-Netzwerk umfasst zudem Switches und Router, die den Speicherdatenverkehr weiterleiten, Verkabelung, Speicherprozessoren (SPs) und Speicherfestplattensysteme.

Die Abbildung stellt zwei Arten von iSCSI-Verbindungen dar, eine mit einem Software-Initiator, die andere mit einem Hardware-Initiator.

Das iSCSI-SAN verwendet eine Client-Server-Architektur.

Der Client, der so genannte iSCSI-Initiator, ist auf Ihrem ESXi-Host installiert. Er startet iSCSI-Sitzungen, indem er SCSI-Befehle ausgibt und diese im iSCSI-Protokoll gekapselt an einen iSCSI-Server überträgt. Der Server ist als iSCSI-Ziel bekannt. Dieses iSCSI-Ziel repräsentiert in der Regel ein physisches Speichersystem im Netzwerk.

Das Ziel kann ebenfalls ein virtuelles iSCSI-SAN sein, z. B. ein in einer virtuellen Maschine ausgeführter iSCSI-Zielemulator. Das iSCSI-Ziel reagiert auf die Befehle des Initiators, indem es die erforderlichen iSCSI-Daten überträgt.

iSCSI-Multipathing

Bei der Datenübertragung zwischen dem Hostserver und dem Speicher nutzt das SAN eine Technik, die als Multipathing bezeichnet wird. Mit Multipathing kann Ihr ESXi-Host über mehrere physische Pfade zu einer LUN in einem Speichersystem verfügen.

In der Regel besteht ein einzelner Pfad von einem Host zu einer LUN aus einem iSCSI-Adapter oder der Netzwerkkarte, Switch-Ports, Verbindungskabeln und dem Speicher-Controller-Port. Falls eine Komponente des Pfads ausfällt, wählt der Host für E/A-Vorgänge einen anderen verfügbaren Pfad. Der Prozess der Erkennung eines ausgefallenen Pfads und des Wechsels auf einen anderen Pfad wird als Pfad-Failover bezeichnet.

Weitere Informationen zum Multipathing finden Sie unter Grundlegende Informationen zum Mehrfachpfad und Failover in der ESXi-Umgebung.

Knoten und Ports im iSCSI-SAN

Ein einzelnes erkennbares Element eines iSCSI-SAN, z. B. ein Initiator oder ein Ziel, stellt einen iSCSI-Knoten dar.

Jeder Knoten hat einen Knotennamen. ESXi verwendet verschiedene Methoden zur Identifizierung eines Knotens.

IP-Adresse
Jeder iSCSI-Knoten kann über eine eigene IP-Adresse verfügen, sodass Router und Switches im Netzwerk eine Verbindung zwischen dem Host und dem Speicher aufbauen können. Diese Adresse ist mit der IP-Adresse vergleichbar, die Sie Ihrem Computer zuweisen, um auf das Unternehmensnetzwerk oder das Internet zugreifen zu können.
iSCSI-Name
Ein weltweit eindeutiger Name zum Identifizieren des Knotens. iSCSI verwendet die Formate IQN (iSCSI Qualified Name) und EUI (Extended Unique Identifier).
ESXi generiert standardmäßig eindeutige iSCSI-Namen für Ihre iSCSI-Initiatoren, zum Beispiel iqn.1998-01.com.vmware:iscsitestox-68158ef2. Der Standardname muss daher in der Regel nicht geändert werden. Wenn Sie ihn dennoch ändern, stellen Sie sicher, dass der neue iSCSI-Name weltweit eindeutig ist.
iSCSI-Alias
Ein besser verwaltbarer Name für ein iSCSI-Gerät oder einen iSCSI-Port, der anstelle des iSCSI-Namens verwendet wird. iSCSI-Aliase sind nicht eindeutig und werden zur benutzerfreundlichen Benennung von Ports verwendet.

Jeder Knoten besitzt mindestens einen Port, der mit dem SAN verbunden wird. iSCSI-Ports sind Endpunkte einer iSCSI-Sitzung.

iSCSI-Benennungskonventionen

iSCSI verwendet einen speziellen, eindeutigen Bezeichner zum Identifizieren eines iSCSI-Knotens, sei es ein Ziel oder ein Initiator.

iSCSI-Namen können zwei verschiedene Formate aufweisen. Das geläufigste Format ist IQN.

Weitere Informationen zu iSCSI-Benennungskonventionen und Zeichenfolgenprofilen finden Sie unter RFC 3721 und RFC 3722 auf der IETF-Website.

iSCSI Qualified Name-Format
Das IQN-Format (iSCSI Qualified Name) hat die Form iqn.yyyy-mm.naming-authority:unique, wobei:
  • yyyy-mm das Jahr und den Monat angibt, in dem die Stelle für die Namensvergabe (Naming Authority) eingerichtet wurde.
  • Namensvergabestelle in der Regel die Syntax des Internetdomänennames der Namensvergabestelle in umgekehrter Reihenfolge angibt. Die iscsi.vmware.com-Namensvergabestelle kann das IQN-Format (iSCSI Qualified Name) iqn.1998-01.com.vmware.iscsi aufweisen. Der Name gibt an, dass der Domänenname vmware.com im Januar 1998 registriert wurde und iscsi eine von vmware.com verwaltete Unterdomäne ist.
  • eindeutiger_Name steht für einen beliebigen Namen, z. B. den Namen des Hosts. Die Namensvergabestelle muss sicherstellen, dass alle zugewiesenen Namen nach dem Doppelpunkt eindeutig sind, z. B.:
    • iqn.1998-01.com.vmware.iscsi:name1
    • iqn.1998-01.com.vmware.iscsi:name2
    • iqn.1998-01.com.vmware.iscsi:name999
Enterprise Unique Identifier-Format
Das EUI-Format (Enterprise Unique Identifier) hat die Form eui.16_hex_digits.

Beispiel: eui.0123456789ABCDEF.

Bei den 16 Hexadezimalstellen handelt es sich um die Textdarstellung einer 64-Bit-Zahl eines IEEE-EUI-Schemas (Extended Unique Identifier). Die oberen 24 Bit identifizieren die Unternehmens-ID, die das IEEE einem bestimmten Unternehmen zuordnet. Die restlichen 40 Bit werden durch die Entität zugewiesen, der diese Unternehmens-ID zugeordnet ist, und müssen eindeutig sein.

iSCSI-Initiatoren

Für den Zugriff auf iSCSI-Ziele verwendet Ihr ESXi-Host iSCSI-Initiatoren.

Der Initiator ist eine auf Ihrem ESXi-Host installierte Software oder Hardware. Der iSCSI-Initiator stellt die Kommunikation zwischen Ihrem Host und einem externen iSCSI-Speichersystem her und sendet Daten an das Speichersystem.

In der ESXi-Umgebung übernehmen die auf Ihrem Host konfigurierten iSCSI-Adapter die Initiatorrolle. ESXi unterstützt verschiedene iSCSI-Adaptertypen.

Weitere Informationen zum Konfigurieren und Verwenden der iSCSI-Adapter finden Sie unter Konfigurieren von iSCSI- und iSER-Adaptern und -Speicher mit ESXi.

Software-iSCSI-Adapter
Ein Software-iSCSI-Adapter ist ein im VMkernel integrierter VMware-Code. Wenn Sie den Software-iSCSI-Adapter verwenden, kann Ihr Host über Standardnetzwerkadapter eine Verbindung zum iSCSI-Speichergerät herstellen. Der Software iSCSI-Adapter dient der iSCSI-Verarbeitung und kommuniziert gleichzeitig mit dem Netzwerkadapter. Mit dem Software iSCSI-Adapter können Sie die iSCSI-Technologie verwenden, ohne besondere Hardware erwerben zu müssen.
Hardware iSCSI-Adapter
Bei einem Hardware-iSCSI-Adapter handelt es sich um einen Adapter eines Drittanbieters, der die gesamte iSCSI- und Netzwerkverarbeitung von Ihrem Host auslagert. Hardware-iSCSI-Adapter werden in Kategorien unterteilt.
  • Dependent Hardware iSCSI Adapter. Hängt vom VMware-Netzwerk sowie von den iSCSI-Konfigurations- und -Verwaltungsschnittstellen ab, die von VMware zur Verfügung gestellt werden.

    Bei diesem Adaptertyp kann es sich um eine Karte handeln, die einen Standard-Netzwerkadapter und die iSCSI-Offload-Funktion für denselben Port bietet. Die iSCSI-Offload-Funktion ist hinsichtlich des Abrufens der IP- und der MAC-Adresse sowie anderer Parameter für iSCSI-Sitzungen von der Netzwerkkonfiguration des Hosts abhängig. Ein Beispiel für einen abhängigen Adapter ist die iSCSI-lizenzierte Broadcom 5709-Netzwerkkarte.

  • Independent Hardware iSCSI Adapter. Implementiert ein eigenes Netzwerk und eigene iSCSI-Konfigurations- und -Verwaltungsschnittstellen.

    In der Regel handelt es sich bei einem unabhängigen Hardware-iSCSI-Adapter um eine Karte, die entweder nur die iSCSI-Offload-Funktion oder die iSCSI-Offload-Funktion und die standardmäßige Netzwerkkartenfunktion bietet. Die iSCSI-Offload-Funktion besitzt eine unabhängige Konfigurationsverwaltung, die die IP- und die MAC-Adresse sowie andere Parameter für die iSCSI-Sitzungen zuweist. Ein Beispiel für einen unabhängigen Adapter ist der QLogic QLA4052-Adapter.

Hardware-iSCSI-Adapter müssen möglicherweise lizenziert werden. Anderenfalls werden sie im Client oder in vSphere-CLI möglicherweise nicht angezeigt. Fragen Sie Ihren Anbieter nach Lizenzierungsinformationen.

Verwenden des iSER-Protokolls mit ESXi

Zusätzlich zum herkömmlichen iSCSI.Protokoll unterstützt ESXi auch die iSCSI-Erweiterungen für RDMA (kurz iSER-Protokoll genannt). Wenn das iSER-Protokoll aktiviert ist, kann das iSCSI-Framework auf dem ESXi-Host RDMA (Remote Direct Memory Access) anstelle von TCP/IP für den Transport verwenden.

Das herkömmliche iSCSI-Protokoll überträgt SCSI-Befehle über ein TCP/IP-Netzwerk zwischen einem iSCSI-Initiator auf einem Host und einem iSCSI-Ziel auf einem Speichergerät. Das iSCSI-Protokoll kapselt die Befehle und stellt diese Daten in Paketen für die TCP/IP-Schicht zusammen. Wenn die Daten beim Ziel eintreffen, disassembliert das iSCSI-Protokoll die TCP/IP-Pakete, sodass die SCSI-Befehle identifiziert und an das Speichergerät übergeben werden können.

iSER unterscheidet sich vom herkömmlichen iSCSI-Protokoll dadurch, dass es das TCP/IP-Datenübertragungsmodell durch den RDMA-Transport (Remote Direct Memory Access) ersetzt. Mithilfe der direkten Datenplatzierungstechnologie von RDMA kann das iSER-Protokoll Daten direkt zwischen den Arbeitsspeicher-Puffern des ESXi-Hosts und den Speichergeräten übertragen. Diese Methode vermeidet unnötige TCP/IP-Verarbeitung und unnötiges Kopieren von Daten und kann zudem die Latenzzeit und die CPU-Last auf dem Speichergerät reduzieren.

In der iSER-Umgebung arbeitet iSCSI genauso wie bisher, verwendet jedoch anstelle der TCP/IP-basierten Schnittstelle eine zugrunde liegende RDMA-Fabric-Schnittstelle.

Da das iSER-Protokoll die Kompatibilität mit der iSCSI-Infrastruktur bewahrt, ähnelt der Prozess der Aktivierung von iSER auf dem ESXi-Host dem entsprechenden iSCSI-Prozess. Weitere Informationen hierzu finden Sie unter Konfigurieren von iSER-Adaptern mit ESXi.

Herstellen von iSCSI-Verbindungen

Im ESXi-Kontext beschreibt der Begriff „Ziel“ eine einzelne Speichereinheit, auf die Ihr Host zugreifen kann. Die Begriffe „Speichergerät“ und „LUN“ beschreiben ein logisches Volume, das Speicherplatz auf einem Ziel darstellt. In der Regel stehen die Begriffe „Gerät“ und „LUN“ im ESXi-Kontext für ein SCSI-Volume, das Ihrem Host von einem Speicherziel angeboten wird und formatiert werden kann.

Verschiedene iSCSI-Speicheranbieter verwenden unterschiedliche Methoden, um Speicher für Hosts bereitzustellen. Einige Anbieter stellen mehrere LUNs auf einem einzigen Ziel dar, während andere Anbieter mehrere Ziele mit je einer LUN verknüpfen.

Abbildung 1. Ziel im Vergleich zu LUN-Darstellungen
In einem Fall sieht der Host ein Ziel mit drei LUNs. Im zweiten Fall werden dem Host drei Ziele mit je einer LUN angezeigt.

In diesen Beispielen stehen für jede dieser Konfigurationen drei LUNs zur Auswahl. Im ersten Fall erkennt der Host ein Ziel, obwohl in diesem Ziel drei LUNs vorhanden sind, die verwendet werden können. Jede LUN steht für ein einzelnes Speichervolume. Im zweiten Fall werden dem Host drei unterschiedliche Ziele mit je einer LUN angezeigt.

Hostbasierte iSCSI-Initiatoren richten nur Verbindungen zu jedem Ziel ein. Das bedeutet, dass sich der LUN-Datenverkehr bei Speichersystemen mit einem Ziel, das mehrere LUNs umfasst, auf diese eine Verbindung konzentriert. Sind in einem System drei Ziele mit je einer LUN vorhanden, bestehen drei Verbindungen zwischen dem Host und den drei verfügbaren LUNs.

Diese Informationen sind nützlich, wenn Sie versuchen, Speicherdatenverkehr für mehrere Verbindungen vom Host mit mehreren iSCSI-Adaptern zusammenzufassen. Sie können den Datenverkehr für ein Ziel auf einen bestimmten Adapter festlegen und einen anderen Adapter für den Datenverkehr an ein anderes Ziel verwenden.

iSCSI-Speichersystemtypen

Zu den ESXi-Speichertypen, die Ihr Host unterstützt, gehören Aktiv-Aktiv, Aktiv-Passiv und ALUA-konform.

Aktiv-Aktiv-Speichersystem
Unterstützt den gleichzeitigen Zugriff auf die LUNs über alle Speicherports, die ohne wesentlichen Leistungsabfall verfügbar sind. Alle Pfade sind immer aktiviert, es sei denn, ein Pfad schlägt fehl.
Aktiv-Passiv-Speichersystem
Ein System, in dem ein Speicherprozessor aktiv den Zugriff auf eine vorhandene LUN ermöglicht. Die anderen Prozessoren fungieren als Sicherung für die LUN und können den Zugriff auf andere LUN-E/A-Vorgänge aktiv bereitstellen. E/A-Daten können ausschließlich an einen aktiven Port gesendet werden. Falls der Zugriff über den aktiven Speicherport fehlschlägt, kann einer der passiven Speicherprozessoren durch die Server, die auf ihn zugreifen, aktiviert werden.
Asymmetrisches Speichersystem
Unterstützt Asymmetric Logical Unit Access (ALUA). ALUA-konforme Speichersysteme bieten verschiedene Zugriffsebenen für einzelne Ports. Mit ALUA können Hosts die Zustände von Zielports bestimmen und Pfade priorisieren. Der Host verwendet einige der aktiven Pfade als primäre Pfade und andere als sekundäre Pfade.
Speichersystem mit virtuellem Port
Unterstützt den Zugriff auf alle verfügbaren LUNs über einen einzigen virtuellen Port. Speichersysteme mit virtuellen Ports sind Aktiv/Aktiv-Speichergeräte, die jedoch die Vielzahl der Verbindungen über einen einzigen Port verdecken. ESXi-Multipathing stellt nicht standardmäßig mehrere Verbindungen von einem bestimmten Port zum Speichersystem her. Einige Speicheranbieter bieten Sitzungs-Manager an, um mehrere Verbindungen zu den von ihnen vertriebenen Speichersystemen herzustellen und zu verwalten. Port-Failover und der Verbindungsausgleich werden von diesen Speichersystemen transparent verarbeitet. Diese Funktion wird häufig als transparentes Failover bezeichnet.

Erkennung, Authentifizierung und Zugriffssteuerung

Sie können mehrere Mechanismen verwenden, um Ihren Speicher zu erkennen und den Zugriff darauf zu beschränken.

Damit die Richtlinie für die Speicherzugriffssteuerung unterstützt wird, müssen Sie den Host und das iSCSI-Speichersystem konfigurieren.

Erkennung
Eine Erkennungssitzung ist Teil des iSCSI-Protokolls und gibt die auf einem iSCSI-Speichersystem verfügbaren Ziele zurück. ESXi bietet zwei verschiedene Erkennungsmethoden: dynamisch und statisch. Bei der dynamische Erkennung wird eine Liste der zugänglichen Ziele vom iSCSI-Speichersystem abgerufen. Bei der statischen Erkennung kann nur auf ein bestimmtes Ziel über den Zielnamen und die Adresse zugegriffen werden.

Weitere Informationen finden Sie unter Konfigurieren der dynamischen bzw. statischen Erkennung für iSCSI und iSER auf einem ESXi-Host.

Authentifizierung
Die Authentifizierung durch iSCSI-Speichersysteme erfolgt nach Name und Schlüsselpaar. ESXi unterstützt das CHAP-Authentifizierungsprotokoll. Sowohl für den ESXi-Host als auch für das iSCSI-Speichersystem muss das CHAP-Protokoll aktiviert sein und beide müssen die gleichen Anmeldeinformationen verwenden, um die CHAP-Authentifizierung verwenden zu können.

Informationen zum Aktivieren von CHAP finden Sie unter Konfigurieren von CHAP-Parametern für iSCSI- oder iSER-Speicheradapter auf dem ESXi-Host..

Zugriffssteuerung
Zugriffssteuerung ist eine auf dem iSCSI-Speichersystem eingerichtete Richtlinie. Eine Vielzahl der Implementierungen unterstützen mindestens eine der drei folgenden Arten der Zugriffssteuerung:
  • Nach Initiatorname
  • Nach IP-Adresse
  • Nach dem CHAP-Protokoll

Nur Initiatoren, die alle Richtlinien einhalten, können auf das iSCSI-Volume zugreifen.

Die ausschließliche Verwendung von CHAP für die Zugriffssteuerung kann zu einer Verlangsamung von erneuten Prüfungen führen, da ESXi zwar alle Ziele ermitteln kann, aber bei der Authentifizierung fehlschlägt. iSCSI kann schneller neu prüfen, wenn der Host nur die Ziele erkennt, die er authentifizieren kann.

Zugriff auf Daten in einem iSCSI-SAN durch virtuelle Maschinen

ESXi speichert Festplattendateien einer virtuellen Maschine in einem VMFS-Datenspeicher, der sich auf einem SAN-Speichergerät befindet. Sobald Gastbetriebssysteme der virtuellen Maschine SCSI-Befehle an die virtuellen Festplatten senden, übersetzt die SCSI-Virtualisierungsebene diese Befehle in VMFS-Dateivorgänge.

Wenn eine virtuelle Maschine mit seinen auf einem SAN gespeicherten virtuellen Festplatten interagiert, finden die folgenden Prozesse statt:

  1. Wenn das Gastbetriebssystem in einer virtuellen Maschine zum Lesen oder Schreiben auf eine SCSI-Festplatte zugreifen muss, sendet dieses SCSI-Befehle an die virtuelle Festplatte.
  2. Gerätetreiber im Betriebssystem der virtuellen Maschine kommunizieren mit den virtuellen SCSI-Controllern.
  3. Der virtuelle SCSI-Controller leitet die Befehle an den VMkernel weiter.
  4. Der VMkernel führt die folgenden Aufgaben aus.
    1. sucht im VMFS-Volume nach einer entsprechenden virtuellen Festplattendatei.
    2. ordnet die Anforderungen für die Blöcke auf der virtuellen Festplatte den Blöcken auf dem entsprechenden physischen Gerät zu.
    3. sendet die geänderte E/A-Anforderung vom Gerätetreiber im VMkernel an den iSCSI-Initiator (Hardware oder Software).
  5. Handelt es sich bei dem iSCSI-Initiator um einen Hardware-iSCSI-Adapter (unabhängig oder abhängig), führt der Adapter die folgenden Aufgaben aus.
    1. kapselt die E/A-Anforderungen in iSCSI-PDUs (Protocol Data Units).
    2. kapselt iSCSI-PDUs in TCP/IP-Pakete.
    3. sendet IP-Pakete über Ethernet an das iSCSI-Speichersystem.
  6. Handelt es sich bei dem iSCSI-Initiator um einen Software-iSCSI-Adapter, findet der folgende Prozess statt.
    1. Der iSCSI-Initiator kapselt E/A-Anforderungen in iSCSI-PDUs.
    2. Der Initiator sendet SCSI-PDUs über TCP/IP-Verbindungen.
    3. Der VMkernel-TCP/IP-Stack gibt TCP/IP-Pakete an eine physische Netzwerkkarte weiter.
    4. Die physische Netzwerkkarte sendet IP-Pakete über Ethernet an das iSCSI-Speichersystem.
  7. Ethernet-Switches und -Router im Netzwerk leiten die Anforderung an das entsprechende Speichergerät weiter.

Fehlerkorrektur

Um die Integrität von iSCSI-Headern und -Daten zu schützen, bietet das iSCSI-Protokoll Methoden zur Fehlerkorrektur, die als Header- und Daten-Digests bezeichnet werden.

Beide Methoden werden vom ESXi-Host unterstützt und können aktiviert werden. Diese Methoden werden verwendet, um den Header und die SCSI-Daten, die zwischen iSCSI-Initiatoren und -Zielen übertragen werden, in beiden Richtungen zu überprüfen.

Header- und Daten-Digests überprüfen die Integrität unverschlüsselter Daten. Diese Prüfung geht über die Integritätsprüfungen hinaus, die andere Netzwerkebenen bereitstellen (z. B. TCP und Ethernet). Die Digests prüfen den gesamten Kommunikationspfad mit allen Elementen, die den Datenverkehr auf Netzwerkebene ändern können, wie Router, Switches und Proxys.

Die Bereitstellung und Art dieser Digests wird verhandelt, sobald eine iSCSI-Verbindung aufgebaut wird. Wenn der Initiator und das Ziel einer Digest-Konfiguration zustimmen, muss dieses Digest für den gesamten Datenverkehr zwischen diesem Initiator und dem Ziel verwendet werden.

Die Aktivierung von Header- und Daten-Digests erfordert eine zusätzliche Verarbeitung durch den Initiator und das Ziel, was zu einer Beeinträchtigung des Durchsatzes und der CPU-Leistung führen kann.

Hinweis: Systeme, die Intel Nehalem-Prozessoren einsetzen, lagern die iSCSI Digest-Berechnungen aus und reduzieren damit die Auswirkungen auf die Leistung.

Weitere Informationen zum Aktivieren von Header-Digests und Daten-Digests finden Sie unter Konfigurieren erweiterter Parameter für iSCSI auf dem ESXi-Host.