Multipathing
Dynamische Multipathing-Unterstützung ist für Fibre-Channel- und iSCSI-Speicher-Backends verfügbar.
Citrix Hypervisor verwendet Linux Native Multipathing (DM-MP), die generische Linux-Multipathing-Lösung, als Multipathing-Handler. Citrix Hypervisor ergänzt diesen Handler jedoch um zusätzliche Funktionen, sodass Citrix Hypervisor herstellerspezifische Funktionen von Speichergeräten erkennen kann.
Die Konfiguration von Multipathing bietet Redundanz für den Remote-Speicherverkehr bei teilweisem Konnektivitätsverlust. Multipathing leitet den Speicherverkehr über mehrere Pfade an ein Speichergerät weiter, um Redundanz und erhöhten Durchsatz zu gewährleisten. Sie können bis zu 16 Pfade zu einer einzelnen LUN verwenden. Multipathing ist eine aktiv-aktive Konfiguration. Standardmäßig verwendet Multipathing je nach Speicher-Array-Typ entweder Round-Robin- oder Multibus-Lastausgleich. Alle Strecken haben während des normalen Betriebs aktiven Verkehr, was zu einem erhöhten Durchsatz führt.
Wichtig:
Wir empfehlen, dass Sie Multipathing für alle Server in Ihrem Pool aktivieren, bevor Sie das SR erstellen. Wenn Sie das SR erstellen, bevor Sie Multipathing aktivieren, müssen Sie Ihre Server in den Wartungsmodus versetzen, um Multipathing zu ermöglichen.
NIC-Bonding kann auch Redundanz für den Speicherverkehr bieten. Für iSCSI-Speicher empfehlen wir, nach Möglichkeit Multipathing anstelle von NIC-Bonding zu konfigurieren.
Multipathing ist in den folgenden Szenarien nicht wirksam:
- NFS-Speichergeräte
- Sie haben eine begrenzte Anzahl von Netzwerkkarten und müssen iSCSI-Verkehr und Dateiverkehr (NFS oder SMB) über dieselbe Netzwerkkarte leiten
In diesen Fällen sollten Sie stattdessen die NIC-Bindung verwenden. Weitere Informationen zum NIC-Bonding finden Sie unter Netzwerk.
Voraussetzungen
Bevor Sie Multipathing aktivieren, überprüfen Sie, ob die folgenden Anweisungen zutreffen:
-
Auf Ihrem Speicherserver sind mehrere Ziele verfügbar.
Beispielsweise gibt ein iSCSI-Speicher-Backend, das nach
sendtargets
für ein bestimmtes Portal abgefragt wird, mehrere Ziele zurück, wie im folgenden Beispiel:iscsiadm -m discovery --type sendtargets --portal 192.168.0.161 192.168.0.161:3260,1 iqn.strawberry:litchie 192.168.0.204:3260,2 iqn.strawberry:litchie
Sie können jedoch eine zusätzliche Konfiguration durchführen, um iSCSI-Multipath für Arrays zu aktivieren, die nur ein einziges Ziel verfügbar machen. Weitere Informationen finden Sie unter iSCSI Multipath für Arrays, die nur ein einziges Zielverfügbar machen.
-
Nur für iSCSI hat die Steuerdomäne (dom0) eine IP-Adresse in jedem Subnetz, das vom Multipath-Speicher verwendet wird.
Stellen Sie sicher, dass Sie für jeden Pfad, den Sie zum Speicher haben möchten, über eine Netzwerkkarte verfügen und dass auf jeder Netzwerkkarte eine IP-Adresse konfiguriert ist. Wenn Sie beispielsweise vier Pfade zu Ihrem Speicher wünschen, müssen Sie über vier Netzwerkkarten verfügen, für die jeweils eine IP-Adresse konfiguriert ist.
-
Nur für iSCSI hat jedes iSCSI-Ziel und jeder iSCSI-Initiator einen eigenen IQN.
-
Nur für iSCSI arbeiten die iSCSI-Zielports im Portalmodus.
-
Nur für HBA sind mehrere HBAs an die Switch-Fabric angeschlossen.
-
Wenn Sie sekundäre Schnittstellen konfigurieren, muss sich jede sekundäre Schnittstelle in einem separaten Subnetz befinden. Wenn Sie beispielsweise zwei weitere sekundäre Schnittstellen für den Speicher konfigurieren möchten, benötigen Sie IP-Adressen in drei verschiedenen Subnetzen — ein Subnetz für die Verwaltungsschnittstelle, ein Subnetz für Secondary Interface 1 und ein Subnetz für Secondary Interface 2.
Dieses Diagramm zeigt, wie sich beide NICs auf dem Host in einer Multipath-iSCSI-Konfiguration in unterschiedlichen Subnetzen befinden müssen. In diesem Diagramm befinden sich NIC 1 auf dem Host zusammen mit Switch 1 und NIC 1 auf beiden Speichercontrollern in einem anderen Subnetz als NIC2, Switch 2 und NIC 2 auf den Speichercontrollern.
Multipathing aktivieren
Sie können Multipathing in XenCenter oder auf der xe-CLI aktivieren.
So aktivieren Sie Multipathing über XenCenter
-
Klicken Sie im Bereich XenCenter Resources mit der rechten Maustaste auf den Server und wählen Sie Wartungsmodus aufrufen.
-
Warten Sie, bis der Server mit dem Symbol für den Wartungsmodus (ein blaues Quadrat) im Bereich Ressourcen wieder angezeigt wird, bevor Sie fortfahren.
-
Klicken Sie auf der Registerkarte Allgemein für den Server auf Eigenschaften, und wechseln Sie dann zur Registerkarte Multipathing .
-
Um Multipathing zu aktivieren, aktivieren Sie das Kontrollkästchen Multipathing auf diesem Server aktivieren.
-
Klicken Sie auf OK, um die neue Einstellung zu übernehmen. Es gibt eine kurze Verzögerung, während XenCenter die neue Speicherkonfiguration speichert.
-
Klicken Sie im Bereich Ressourcen mit der rechten Maustaste auf den Server, und wählen Sie Wartungsmodus beenden.
-
Wiederholen Sie diese Schritte, um Multipathing auf allen Servern im Pool zu aktivieren.
Stellen Sie sicher, dass Sie Multipathing auf allen Servern im Pool aktivieren. Die gesamte Verkabelung und, im Fall von iSCSI, Subnetzkonfigurationen müssen mit den entsprechenden Netzwerkkarten auf jedem Server übereinstimmen.
So aktivieren Sie Multipathing mit der xe-CLI
-
Öffnen Sie eine Konsole auf dem Citrix Hypervisor-Server.
-
Trennen Sie alle PBDs auf dem Server mit dem folgenden Befehl:
xe pbd-unplug uuid=<pbd_uuid> <!--NeedCopy-->
Sie können den Befehl verwenden
xe pbd-list
, um die UUID der PBDs zu finden. -
Setzen Sie den Wert des Parameters
multipathing
auftrue
, indem Sie den folgenden Befehl verwenden:xe host-param-set uuid=<host uuid> multipathing=true <!--NeedCopy-->
-
Wenn auf dem Server SRs vorhanden sind, die im Single-Path-Modus ausgeführt werden, aber mehrere Pfade haben:
-
Migrieren oder sperren Sie alle laufenden Gäste mit virtuellen Datenträgern in den betroffenen SRs
-
Schließen Sie die PBD aller betroffenen SRs erneut an, um sie mithilfe von Multipathing erneut zu verbinden:
xe pbd-plug uuid=<pbd_uuid> <!--NeedCopy-->
-
-
Wiederholen Sie diese Schritte, um Multipathing auf allen Servern im Pool zu aktivieren.
Stellen Sie sicher, dass Sie Multipathing auf allen Servern im Pool aktivieren. Die gesamte Verkabelung und, im Fall von iSCSI, Subnetzkonfigurationen müssen mit den entsprechenden Netzwerkkarten auf jedem Server übereinstimmen.
Deaktivieren Sie Multipathing
Sie können Multipathing in XenCenter oder in der xe-CLI deaktivieren.
Deaktivieren von Multipathing über XenCenter
-
Klicken Sie im Bereich XenCenter Resources mit der rechten Maustaste auf den Server und wählen Sie Wartungsmodus aufrufen.
-
Warten Sie, bis der Server mit dem Symbol für den Wartungsmodus (ein blaues Quadrat) im Bereich Ressourcen wieder angezeigt wird, bevor Sie fortfahren.
-
Klicken Sie auf der Registerkarte Allgemein für den Server auf Eigenschaften, und wechseln Sie dann zur Registerkarte Multipathing .
-
Um Multipathing zu deaktivieren, deaktivieren Sie das Kontrollkästchen Multipathing auf diesem Server aktivieren .
-
Klicken Sie auf OK, um die neue Einstellung zu übernehmen. Es gibt eine kurze Verzögerung, während XenCenter die neue Speicherkonfiguration speichert.
-
Klicken Sie im Bereich Ressourcen mit der rechten Maustaste auf den Server, und wählen Sie Wartungsmodus beenden.
-
Wiederholen Sie diese Schritte, um Multipathing auf allen Servern im Pool zu konfigurieren.
So deaktivieren Sie Multipathing mit der xe-CLI
-
Öffnen Sie eine Konsole auf dem Citrix Hypervisor-Server.
-
Trennen Sie alle PBDs auf dem Server mit dem folgenden Befehl:
xe pbd-unplug uuid=<pbd_uuid> <!--NeedCopy-->
Sie können den Befehl verwenden
xe pbd-list
, um die UUID der PBDs zu finden. -
Setzen Sie den Wert des Parameters
multipathing
auffalse
, indem Sie den folgenden Befehl verwenden:xe host-param-set uuid=<host uuid> multipathing=false <!--NeedCopy-->
-
Wenn auf dem Server SRs vorhanden sind, die im Single-Path-Modus ausgeführt werden, aber mehrere Pfade haben:
-
Migrieren oder sperren Sie alle laufenden Gäste mit virtuellen Datenträgern in den betroffenen SRs
-
Trennen Sie die PBD aller betroffenen SRs und schließen Sie sie erneut an, um sie mithilfe von Multipathing erneut zu verbinden:
xe pbd-plug uuid=<pbd_uuid> <!--NeedCopy-->
-
-
Wiederholen Sie diese Schritte, um Multipathing auf allen Servern im Pool zu deaktivieren.
Konfigurieren von Multipathing
Um eine zusätzliche Multipath-Konfiguration durchzuführen, erstellen Sie Dateien mit dem Suffix .conf
im Verzeichnis /etc/multipath/conf.d
. Fügen Sie die zusätzliche Konfiguration in diesen Dateien hinzu. Multipath durchsucht das Verzeichnis alphabetisch nach Dateien, die auf .conf
enden, und liest daraus die Konfigurationsinformationen.
Bearbeiten Sie die Datei nicht /etc/multipath.conf
. Diese Datei wird durch Updates für Citrix Hypervisor überschrieben.
Multipath-Werkzeuge
Die Multipath-Unterstützung in Citrix Hypervisor basiert auf dem Geräte-Mapper multipathd components
. Die Storage Manager-API verwaltet die automatische Aktivierung und Deaktivierung von Multipath-Knoten. Im Gegensatz zu den Standardtools dm-multipath
in Linux werden Device Mapper-Knoten nicht automatisch für alle LUNs im System erstellt. Device Mapper-Knoten werden nur bereitgestellt, wenn LUNs aktiv von der Speicherverwaltungsebene verwendet werden. Daher ist es nicht erforderlich, eines der CLI-Tools dm-multipath
zum Abfragen oder Aktualisieren von DM-Tabellenknoten in Citrix Hypervisor zu verwenden.
Wenn es notwendig ist, den Status von Device-Mapper-Tabellen manuell abzufragen oder aktive Device Mapper-Multipath-Knoten im System aufzulisten, verwenden Sie das Dienstprogramm mpathutil
:
mpathutil list
<!--NeedCopy-->
mpathutil status
<!--NeedCopy-->
iSCSI-Multipathing in einem einzelnen Subnetz
Sie können Citrix Hypervisor so konfigurieren, dass iSCSI-Multipath mit Speicher-Arrays verwendet wird, die ihre Ziele und IQN (s) in einem einzigen Subnetz verfügbar machen. Sie können diese Schritte beispielsweise befolgen, um Dell EqualLogic PS und FS Unified Series Storage-Arrays einzurichten.
Standardmäßig stellt Citrix Hypervisor nur eine Verbindung pro iSCSI-Ziel her. Daher wird bei der Standardkonfiguration empfohlen, NIC-Bonding zu verwenden, um Failover und Lastausgleich zu erreichen. Das in diesem Abschnitt beschriebene Konfigurationsverfahren beschreibt eine alternative Konfiguration, bei der mehrere iSCSI-Verbindungen für ein einzelnes Subnetz oder Ziel eingerichtet werden. NIC-Bonding ist nicht erforderlich.
Hinweis:
Die folgende Konfiguration wird nur für Server unterstützt, die ausschließlich an Speicher-Arrays angeschlossen sind, die ihre Ziele und IQN (s) über ein einziges Subnetz verfügbar machen. Diese Speicher-Arrays müssen für dieses Verfahren mit Citrix Hypervisor qualifiziert sein.
So konfigurieren Sie Multipath:
-
Machen Sie ein Backup aller Daten, die Sie schützen möchten.
-
Klicken Sie im Bereich XenCenter Resources mit der rechten Maustaste auf den Server und wählen Sie Wartungsmodus aufrufen.
-
Warten Sie, bis der Server mit dem Symbol für den Wartungsmodus (ein blaues Quadrat) im Bereich Ressourcen wieder angezeigt wird, bevor Sie fortfahren.
-
Klicken Sie auf der Registerkarte Allgemein für den Server auf Eigenschaften, und wechseln Sie dann zur Registerkarte Multipathing .
-
Um Multipathing zu aktivieren, aktivieren Sie das Kontrollkästchen Multipathing auf diesem Server aktivieren.
-
Klicken Sie auf OK, um die neue Einstellung zu übernehmen. Es gibt eine kurze Verzögerung, während XenCenter die neue Speicherkonfiguration speichert.
-
Konfigurieren Sie in der Serverkonsole zwei bis vier Open-iSCSI-Schnittstellen. Jede iSCSI-Schnittstelle wird verwendet, um einen separaten Pfad einzurichten. Die folgenden Schritte zeigen den Ablauf für zwei Schnittstellen:
-
Konfigurieren Sie zwei iSCSI-Schnittstellen und führen Sie die folgenden Befehle aus:
iscsiadm -m iface --op new -I c_iface1 iscsiadm -m iface --op new -I c_iface2
Stellen Sie sicher, dass die Schnittstellennamen das Präfix
c_
haben Wenn die Schnittstellen diesen Benennungsstandard nicht verwenden, werden sie ignoriert und stattdessen wird die Standardschnittstelle verwendet.Hinweis:
Diese Konfiguration führt dazu, dass die Standardschnittstelle für alle Verbindungen verwendet wird. Dies zeigt an, dass alle Verbindungen über eine einzige Schnittstelle hergestellt werden.
-
Binden Sie die iSCSI-Schnittstellen mithilfe der folgenden Befehle an xenbr1 und xenbr2:
iscsiadm -m iface --op update -I c_iface1 -n iface.net_ifacename -v xenbr1 iscsiadm -m iface --op update -I c_iface2 -n iface.net_ifacename -v xenbr2
Hinweis:
Bei dieser Konfiguration wird vorausgesetzt, dass die für die Steuerdomäne konfigurierten Netzwerkschnittstellen (einschließlich xenbr1 und xenbr2) und xenbr0 für die Verwaltung verwendet werden. Es wird auch davon ausgegangen, dass die für das Speichernetzwerk verwendeten NIC-Karten NIC1 und NIC2 sind. Wenn dies nicht der Fall ist, verwenden Sie Ihre Netzwerktopologie, um die Netzwerkschnittstellen und NIC-Karten zu ermitteln, die in diesen Befehlen verwendet werden sollen.
-
-
Klicken Sie im Bereich XenCenter Resources mit der rechten Maustaste auf den Server und wählen Sie Wartungsmodus beenden. Setzen Sie Ihre virtuellen Maschinen noch nicht fort.
-
Führen Sie in der Serverkonsole die folgenden Befehle aus, um die Sitzungen zu ermitteln und sich bei ihnen anzumelden:
iscsiadm -m discovery -t st -p <IP of SAN> iscsiadm -m node -L all
-
Löschen Sie die veralteten Einträge mit alten Sitzungsinformationen, indem Sie die folgenden Befehle verwenden:
cd /var/lib/iscsi/send_targets/<IP of SAN and port, use ls command to check that> rm -rf <iqn of SAN target for that particular LUN> cd /var/lib/iscsi/nodes/ rm -rf <entries for that particular SAN>
-
Trennen Sie die LUN und hängen Sie sie erneut an. Dazu gibt es mehrere Methoden:
- Nachdem Sie die vorherigen Schritte auf allen Servern in einem Pool ausgeführt haben, können Sie XenCenter verwenden, um die LUN für den gesamten Pool zu trennen und erneut anzuhängen.
-
Alternativ können Sie das PBD für jeden Server trennen und zerstören und dann das SR reparieren.
-
Führen Sie die folgenden Befehle aus, um die PBD zu trennen und zu zerstören:
-
Finden der UUID des SRs:
xe sr-list
-
Rufen Sie die Liste der PBDs ab, die mit dem SR verknüpft sind:
xe pbd-list sr-uuid=<sr_uuid>
-
Suchen Sie in der Ausgabe des vorherigen Befehls nach der UUID der PBD des iSCSI-Speicherrepositorys mit einer nicht übereinstimmenden SCSI-ID.
-
Trennen und vernichten Sie die identifizierte PBD.
xe pbd-unplug uuid=<pbd_uuid> xe pbd-destroy uuid=<pbd_uuid>
-
-
Reparieren Sie den Speicher in XenCenter.
-
-
Sie können jetzt Ihre virtuellen Maschinen fortsetzen.