XenServer

Speicher-Multipathing

Die Unterstützung für dynamisches Multipathing ist für Fibre Channel- und iSCSI-Speicher-Back-Ends verfügbar.

XenServer® verwendet Linux Native Multipathing (DM-MP), die generische Linux-Multipathing-Lösung, als seinen Multipath-Handler. XenServer ergänzt diesen Handler jedoch um zusätzliche Funktionen, damit 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 zu einem Speichergerät, um Redundanz und einen erhöhten Durchsatz zu gewährleisten. Sie können bis zu 16 Pfade zu einer einzelnen LUN verwenden. Multipathing ist eine Aktiv-Aktiv-Konfiguration. Standardmäßig verwendet Multipathing entweder Round-Robin- oder Multibus-Lastverteilung, abhängig vom Typ des Speicherarrays. Alle Routen haben im Normalbetrieb aktiven Datenverkehr, was zu einem erhöhten Durchsatz führt.

Wichtig:

Wir empfehlen, Multipathing für alle Hosts in Ihrem Pool vor dem Erstellen des SR zu aktivieren. Wenn Sie das SR vor der Aktivierung von Multipathing erstellen, 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, wann immer möglich, Multipathing anstelle von NIC-Bonding zu konfigurieren.

Multipathing ist in den folgenden Szenarien nicht effektiv:

  • NFS-Speichergeräte
  • Sie haben eine begrenzte Anzahl von NICs und müssen iSCSI-Verkehr und Dateiverkehr (NFS oder SMB) über dieselbe NIC leiten.

In diesen Fällen sollten Sie stattdessen NIC-Bonding in Betracht ziehen. Weitere Informationen zum NIC-Bonding finden Sie unter Netzwerk.

Voraussetzungen

Bevor Sie Multipathing aktivieren, vergewissern Sie sich, dass die folgenden Aussagen zutreffen:

  • Auf Ihrem Speicherserver sind mehrere Ziele verfügbar.

    Zum Beispiel gibt ein iSCSI-Speicher-Back-End, das sendtargets auf einem bestimmten Portal abfragt, 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 zusätzliche Konfigurationen vornehmen, um iSCSI-Multipath für Arrays zu aktivieren, die nur ein einziges Ziel bereitstellen. Weitere Informationen finden Sie unter iSCSI-Multipath für Arrays, die nur ein einziges Ziel bereitstellen.

  • Nur für iSCSI gilt: Die Kontrolldomäne (dom0) hat eine IP-Adresse in jedem Subnetz, das vom Multipath-Speicher verwendet wird.

    Stellen Sie sicher, dass für jeden Pfad, den Sie zum Speicher haben möchten, eine NIC vorhanden ist und auf jeder NIC eine IP-Adresse konfiguriert ist. Wenn Sie beispielsweise vier Pfade zu Ihrem Speicher wünschen, müssen Sie vier NICs haben, auf denen jeweils eine IP-Adresse konfiguriert ist.

  • Nur für iSCSI gilt: Jedes iSCSI-Ziel und jeder Initiator hat einen eindeutigen IQN.

  • Nur für iSCSI gilt: Die iSCSI-Zielports arbeiten im Portalmodus.

  • Nur für HBA gilt: Mehrere HBAs sind mit dem Switch-Fabric verbunden.

  • Wenn Sie sekundäre Schnittstellen konfigurieren, muss jede sekundäre Schnittstelle in einem separaten Subnetz liegen. 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 die sekundäre Schnittstelle 1 und ein Subnetz für die sekundäre Schnittstelle 2.

    Diagramm für Multipath-iSCSI

    Dieses Diagramm zeigt, wie beide NICs auf dem Host in einer Multipath-iSCSI-Konfiguration in verschiedenen Subnetzen liegen 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 NIC 2, Switch 2 und NIC 2 auf den Speichercontrollern.

Multipathing aktivieren

Sie können Multipathing in XenCenter® oder über die xe CLI aktivieren.

Multipathing mit XenCenter aktivieren

  1. Klicken Sie im XenCenter-Bereich Ressourcen mit der rechten Maustaste auf den Host und wählen Sie Wartungsmodus aktivieren.

  2. Warten Sie, bis der Host im Bereich Ressourcen wieder mit dem Wartungsmodus-Symbol (einem blauen 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. Alle Verkabelungen und, im Falle von iSCSI, Subnetzkonfigurationen müssen mit den entsprechenden NICs auf jedem Host übereinstimmen.

So aktivieren Sie Multipathing mithilfe 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 xe pbd-list verwenden, um die UUID der PBDs zu finden.

  3. Setzen Sie den Wert des Parameters multipathing mit dem folgenden Befehl auf true:

    xe host-param-set uuid=<host uuid> multipathing=true
    <!--NeedCopy-->
    
  4. Wenn auf dem Server vorhandene SRs im Einzelpfadmodus ausgeführt werden, die jedoch mehrere Pfade haben:

    • Migrieren oder unterbrechen Sie alle laufenden Gäste mit virtuellen Festplatten in den betroffenen SRs.

    • Verbinden Sie die PBDs aller betroffenen SRs erneut, um sie mit Multipathing wieder 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. Alle Verkabelungen und, im Falle von iSCSI, Subnetzkonfigurationen müssen mit den entsprechenden NICs auf jedem Host übereinstimmen.

Multipathing deaktivieren

Sie können Multipathing in XenCenter oder über die xe-CLI deaktivieren.

So deaktivieren Sie Multipathing mit XenCenter

  1. Klicken Sie im XenCenter-Bereich Ressourcen mit der rechten Maustaste auf den Host und wählen Sie Wartungsmodus aktivieren.

  2. Warten Sie, bis der Host im Bereich Ressourcen mit dem Symbol für den Wartungsmodus (ein blaues Quadrat) wieder 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 xe pbd-list verwenden, um die UUID der PBDs zu finden.

  3. Legen Sie den Wert des Parameters multipathing mit dem folgenden Befehl auf false fest:

    xe host-param-set uuid=<host uuid> multipathing=false
    <!--NeedCopy-->
    
  4. Wenn auf dem Server vorhandene SRs im Einzelpfadmodus ausgeführt werden, aber mehrere Pfade haben:

    • Migrieren oder unterbrechen Sie alle laufenden Gäste mit virtuellen Festplatten in den betroffenen SRs.

    • Trennen und verbinden Sie die PBDs aller betroffenen SRs erneut, um sie mit Multipathing wieder zu verbinden:

       xe pbd-plug uuid=<pbd_uuid>
       <!--NeedCopy-->
      
  5. Wiederholen Sie diese Schritte, um Multipathing auf allen Hosts im Pool zu deaktivieren.

Multipathing konfigurieren

Um zusätzliche temporäre Multipath-Konfigurationsänderungen vorzunehmen, erstellen Sie Dateien mit dem Suffix .conf im Verzeichnis /etc/multipath/conf.d. Fügen Sie die zusätzliche Konfiguration in diese Dateien ein. Multipath durchsucht das Verzeichnis alphabetisch nach Dateien, die auf .conf enden, und liest Konfigurationsinformationen daraus.

Bearbeiten Sie die Datei /etc/multipath.conf nicht. Diese Datei wird bei Updates für XenServer überschrieben. Wenn Sie dauerhafte Änderungen an Ihrer Multipathing-Konfiguration vornehmen möchten, wenden Sie sich an Ihren Speicheranbieter, der unser Partner-Engineering-Team bitten kann, 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 einzelnen Subnetz bereitstellen. Sie können beispielsweise die folgenden Schritte ausführen, um Dell EqualLogic PS- und FS-Unified-Series-Speicher-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 Lastenausgleich zu erreichen. Das in diesem Abschnitt beschriebene Konfigurationsverfahren beschreibt eine alternative Konfiguration, bei der mehrere iSCSI-Verbindungen für ein einzelnes Subnetz oder Ziel hergestellt 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 einzelnes Subnetz bereitstellen. Diese Speicher-Arrays müssen für dieses Verfahren mit XenServer qualifiziert sein.

So konfigurieren Sie Multipath:

  1. Sichern Sie alle Daten, die Sie schützen möchten.

  2. Klicken Sie im XenCenter-Bereich Ressourcen mit der rechten Maustaste auf den Host und wählen Sie Wartungsmodus aktivieren.

  3. Warten Sie, bis der Host im Bereich Ressourcen mit dem Wartungsmodus-Symbol (ein blaues Quadrat) wieder erscheint, 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 Prozess für zwei Schnittstellen:

    1. Konfigurieren Sie zwei iSCSI-Schnittstellen, 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 Namensstandard 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 bedeutet, dass alle Verbindungen über eine einzige Schnittstelle hergestellt werden.

    2. Binden Sie die iSCSI-Schnittstellen an xenbr1 und xenbr2, indem Sie die folgenden Befehle verwenden:

      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:

      Diese Konfiguration geht davon aus, dass die für die Kontrolldomä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. Ist dies nicht der Fall, ziehen Sie Ihre Netzwerktopologie zu Rate, um die in diesen Befehlen zu verwendenden Netzwerkschnittstellen und NIC-Karten zu ermitteln.

  8. Klicken Sie im XenCenter-Bereich Ressourcen mit der rechten Maustaste auf den Host und wählen Sie Wartungsmodus beenden. Setzen Sie Ihre VMs noch nicht fort.

  9. Führen Sie in der Hostkonsole die folgenden Befehle aus, um die Sitzungen zu erkennen 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, die alte Sitzungsinformationen enthalten, 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. Dies können Sie auf eine der folgenden Weisen tun:

    • Nachdem Sie die vorhergehenden Schritte auf allen Hosts in einem Pool abgeschlossen 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 anschließend die SR reparieren.

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

        1. Suchen Sie die UUID der SR:

          xe sr-list
          
        2. Rufen Sie die Liste der PBDs ab, die der SR zugeordnet sind:

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

        4. Trennen und zerstören Sie die von Ihnen 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 Ihre VMs jetzt fortsetzen.

Speicher-Multipathing