XenServer

Multipathing

Dynamische Multipathing-Unterstützung ist für Fibre-Channel- und iSCSI-Speicher-Backends verfügbar.

XenServer verwendet Linux Native Multipathing (DM-MP), die generische Linux-Multipathing-Lösung, als Multipath-Handler. XenServer ergänzt diesen Handler jedoch um zusätzliche Funktionen, sodass XenServer 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 Hosts in Ihrem Pool aktivieren, bevor Sie die SR erstellen. Wenn Sie die SR erstellen, bevor Sie Multipathing aktivieren, müssen Sie Ihre Hosts in den Wartungsmodus versetzen, um Multipathing zu aktivieren.

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.

    iSCSI-Diagramm mit mehreren Pfaden

    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

  1. Klicken Sie im Bereich XenCenter Resources mit der rechten Maustaste auf den Host und wählen Sie In den Wartungsmodus wechseln.

  2. Warten Sie, bis der Host wieder im Bereich Ressourcen mit dem Symbol für den Wartungsmodus (ein blaues Quadrat) angezeigt wird, bevor Sie fortfahren.

  3. Klicken Sie auf der Registerkarte Allgemein für den Host auf Eigenschaften und wechseln Sie dann zur Registerkarte Multipathing .

  4. Um Multipathing zu aktivieren, aktivieren Sie das Kontrollkästchen Multipathing auf diesem Server aktivieren.

  5. Klicken Sie auf OK, um die neue Einstellung zu übernehmen. Es gibt eine kurze Verzögerung, während XenCenter die neue Speicherkonfiguration speichert.

  6. Klicken Sie im Bereich Ressourcen mit der rechten Maustaste auf den Host und wählen Sie Wartungsmodus beenden.

  7. Wiederholen Sie diese Schritte, um Multipathing auf allen Hosts im Pool zu aktivieren.

Stellen Sie sicher, dass Sie Multipathing auf allen Hosts im Pool aktivieren. Die gesamte Verkabelung und, im Fall von iSCSI, die Subnetzkonfigurationen müssen mit den entsprechenden NICs auf jedem Host übereinstimmen.

So aktivieren Sie Multipathing mit der xe-CLI

  1. Öffnen Sie eine Konsole auf dem XenServer-Host.

  2. Trennen Sie alle PBDs auf dem Host 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.

  3. Setzen Sie den Wert des Parameters multipathing auf true, indem Sie den folgenden Befehl verwenden:

    xe host-param-set uuid=<host uuid> multipathing=true
    <!--NeedCopy-->
    
  4. 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-->
      
  5. Wiederholen Sie diese Schritte, um Multipathing auf allen Hosts im Pool zu aktivieren.

Stellen Sie sicher, dass Sie Multipathing auf allen Hosts im Pool aktivieren. Die gesamte Verkabelung und, im Fall von iSCSI, die Subnetzkonfigurationen müssen mit den entsprechenden NICs auf jedem Host übereinstimmen.

Deaktivieren Sie Multipathing

Sie können Multipathing in XenCenter oder in der xe-CLI deaktivieren.

Deaktivieren von Multipathing über XenCenter

  1. Klicken Sie im Bereich XenCenter Resources mit der rechten Maustaste auf den Host und wählen Sie In den Wartungsmodus wechseln.

  2. Warten Sie, bis der Host wieder im Bereich Ressourcen mit dem Symbol für den Wartungsmodus (ein blaues Quadrat) angezeigt wird, bevor Sie fortfahren.

  3. Klicken Sie auf der Registerkarte Allgemein für den Host auf Eigenschaften und wechseln Sie dann zur Registerkarte Multipathing .

  4. Um Multipathing zu deaktivieren, deaktivieren Sie das Kontrollkästchen Multipathing auf diesem Server aktivieren .

  5. Klicken Sie auf OK, um die neue Einstellung zu übernehmen. Es gibt eine kurze Verzögerung, während XenCenter die neue Speicherkonfiguration speichert.

  6. Klicken Sie im Bereich Ressourcen mit der rechten Maustaste auf den Host und wählen Sie Wartungsmodus beenden.

  7. Wiederholen Sie diese Schritte, um Multipathing auf allen Hosts im Pool zu konfigurieren.

So deaktivieren Sie Multipathing mit der xe-CLI

  1. Öffnen Sie eine Konsole auf dem XenServer-Host.

  2. Trennen Sie alle PBDs auf dem Host 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.

  3. Setzen Sie den Wert des Parameters multipathing auf false, indem Sie den folgenden Befehl verwenden:

    xe host-param-set uuid=<host uuid> multipathing=false
    <!--NeedCopy-->
    
  4. 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-->
      
  5. Wiederholen Sie diese Schritte, um Multipathing auf allen Hosts im Pool zu deaktivieren.

Konfigurieren von Multipathing

Um zusätzliche temporäre Änderungen an der Multipath-Konfiguration vorzunehmen, 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 XenServer überschrieben. Wenn Sie dauerhafte Änderungen an Ihrer Multipathing-Konfiguration vornehmen möchten, wenden Sie sich an Ihren Speicheranbieter. Er kann unser Partner-Engineering-Team bitten, die Änderungen dauerhaft hinzuzufügen.

iSCSI-Multipathing in einem einzelnen Subnetz

Sie können XenServer 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 XenServer 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 XenServer qualifiziert sein.

So konfigurieren Sie Multipath:

  1. Machen Sie ein Backup aller Daten, die Sie schützen möchten.

  2. Klicken Sie im Bereich XenCenter Resources mit der rechten Maustaste auf den Host und wählen Sie In den Wartungsmodus wechseln.

  3. Warten Sie, bis der Host wieder im Bereich Ressourcen mit dem Symbol für den Wartungsmodus (ein blaues Quadrat) angezeigt wird, bevor Sie fortfahren.

  4. Klicken Sie auf der Registerkarte Allgemein für den Host auf Eigenschaften und wechseln Sie dann zur Registerkarte Multipathing .

  5. Um Multipathing zu aktivieren, aktivieren Sie das Kontrollkästchen Multipathing auf diesem Server aktivieren.

  6. Klicken Sie auf OK, um die neue Einstellung zu übernehmen. Es gibt eine kurze Verzögerung, während XenCenter die neue Speicherkonfiguration speichert.

  7. Konfigurieren Sie in der Hostkonsole 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:

    1. 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.

    2. 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.

  8. Klicken Sie im Bereich XenCenter Resources mit der rechten Maustaste auf den Host und wählen Sie Exit Maintenance Mode. Setzen Sie Ihre virtuellen Maschinen noch nicht fort.

  9. Führen Sie in der Hostkonsole 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
    
  10. 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>
    
  11. Trennen Sie die LUN und hängen Sie sie erneut an. Dazu gibt es mehrere Methoden:

    • Nachdem Sie die vorherigen Schritte auf allen Hosts 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 die PBD für jeden Host trennen und zerstören und dann die SR reparieren.

      1. Führen Sie die folgenden Befehle aus, um die PBD zu trennen und zu zerstören:

        1. Finden der UUID des SRs:

          xe sr-list
          
        2. Rufen Sie die Liste der PBDs ab, die mit dem SR verknüpft sind:

          xe pbd-list sr-uuid=<sr_uuid>
          
        3. Suchen Sie in der Ausgabe des vorherigen Befehls nach der UUID der PBD des iSCSI-Speicherrepositorys mit einer nicht übereinstimmenden SCSI-ID.

        4. Trennen und vernichten Sie die identifizierte PBD.

          xe pbd-unplug uuid=<pbd_uuid>
          xe pbd-destroy uuid=<pbd_uuid>
          
      2. Reparieren Sie den Speicher in XenCenter.

  12. Sie können jetzt Ihre virtuellen Maschinen fortsetzen.

Multipathing