In diesem Abschnitt werden verschiedene Probleme und deren Behebung erläutert.

Die folgenden Probleme treten beim NSX-Load-Balancing häufiger auf:

  • Das Load-Balancing auf dem TCP-Port (z. B. Port 443) funktioniert nicht.

  • Ein Mitglied des Load-Balancer-Pools wird nicht verwendet.

    • Überprüfen Sie, ob sich der Server im Pool befindet, und überwachen Sie den Systemzustand.

  • Lasten des Edge-Datenverkehrs werden nicht verteilt.

    • Überprüfen Sie die Pool- und die Persistenzkonfiguration. Wenn Sie Persistenz konfiguriert haben und eine geringe Anzahl an Clients verwenden, werden die Verbindungen möglicherweise nicht gleichmäßig auf Mitglieder des Backend-Pools verteilt.

  • Die Schicht 7-Load-Balancer-Engine wurde gestoppt.

  • Die Systemzustandsüberwachungs-Engine wurde gestoppt.

    • Aktivieren Sie den Load-Balancing-Dienst. Weitere Informationen finden Sie im Administratorhandbuch für NSX.

  • Der Überwachungsstatus eines Poolmitglieds ist WARNUNG/KRITISCH.

    • Überprüfen Sie, ob der Anwendungsserver über den Load Balancer erreichbar ist.

    • Überprüfen Sie, ob die Firewall des Anwendungsservers oder die Verteilte Firewall Datenverkehr zulässt.

    • Stellen Sie sicher, dass der Anwendungsserver auf die festgelegte Prüfung des Systemzustands reagieren kann.

  • Ein Poolmitglied befindet sich im Status INAKTIV.

    • Überprüfen Sie, ob das Poolmitglied in der Poolkonfiguration aktiviert ist.

  • Die Schicht 7-Stickiness-Tabelle ist nicht mit dem Standby-Edge synchronisiert.

    • Stellen Sie sicher, dass hohe Verfügbarkeit konfiguriert ist.

  • Es bestehen Clientverbindungen, aber eine Anwendungstransaktion lässt sich nicht abschließen.

    • Überprüfen Sie, ob im Anwendungsprofil die richtige Persistenz konfiguriert ist.

    • Wenn die Anwendung mit nur einem Server im Pool funktioniert (nicht mit zwei Servern), handelt es sich mit hoher Wahrscheinlichkeit um ein Persistenzproblem.

Grundlegende Fehlerbehebung

  1. Überprüfen Sie den Konfigurationsstatus des Load Balancers im vSphere Web Client:

    1. Klicken Sie auf Networking & Security > NSX Edges.

    2. Doppelklicken Sie auf eine NSX Edge-Instanz.

    3. Klicken Sie auf Verwalten (Manage) und anschließend auf die Registerkarte Load Balancer.

    4. Überprüfen Sie den Zustand des Load Balancer und die konfigurierte Protokollierungsstufe.

  2. Bevor Sie mit der Fehlerbehebung des Load-Balancing-Dienstes beginnen, führen Sie folgenden Befehl auf dem NSX Manager aus, um sicherzustellen, dass der Dienst funktioniert:

    nsxmgr> show edge edge-4 service loadbalancer
    haIndex:              0
    -----------------------------------------------------------------------
    Loadbalancer Services Status:
    
    L7 Loadbalancer     : running
    -----------------------------------------------------------------------
    L7 Loadbalancer Statistics:
    STATUS     PID        MAX_MEM_MB MAX_SOCK   MAX_CONN   MAX_PIPE   CUR_CONN   CONN_RATE  CONN_RATE_LIMIT MAX_CONN_RATE
    running    1580       0          2081       1024       0          0          0          0               0
    -----------------------------------------------------------------------
    L4 Loadbalancer Statistics:
    MAX_CONN   ACT_CONN   INACT_CONN TOTAL_CONN
    0          0          0          0
    
    Prot LocalAddress:Port Scheduler Flags
      -> RemoteAddress:Port           Forward Weight ActiveConn InActConn
    
    Anmerkung:

    Mit dem Befehl show edge all können Sie die Namen der NSX Edges nachschlagen.

Beheben von Konfigurationsproblemen

Wenn der Konfigurationsvorgang für den Load Balancer von der NSX-Benutzeroberfläche oder dem REST API-Aufruf abgelehnt wird, gilt dies als Konfigurationsproblem.

Beheben von Problemen auf der Datenebene

Die Load-Balancer-Konfiguration wird vom NSX Manager akzeptiert, aber beim Load-Balancing-Server des Client-Edges treten Verbindungs- oder Leistungsprobleme auf. Zu den Problemen auf der Datenebene gehören auch CLI-Probleme mit dem Load Balancer zur Laufzeit sowie Systemereignisprobleme des Load Balancer.

  1. Ändern Sie mit diesem REST API-Aufruf die Edge-Protokollierungsstufe bei NSX Manager von INFO in TRACE oder DEBUG.

    URL: https://NSX_Manager_IP/api/1.0/services/debug/loglevel/com.vmware.vshield.edge?level=TRACE 
    Method: POST
  2. Überprüfen Sie den Status des Poolmitglieds im vSphere Web Client.

    1. Klicken Sie auf Networking & Security > NSX Edges.

    2. Doppelklicken Sie auf eine NSX Edge-Instanz.

    3. Klicken Sie auf Verwalten (Manage) und anschließend auf die Registerkarte Load Balancer.

    4. Klicken Sie auf Pools, um eine Zusammenfassung der konfigurierten Load-Balancer-Pools anzuzeigen.

    5. Wählen Sie Ihren Load-Balancer-Pool aus. Klicken Sie auf Poolstatistik anzeigen (Show Pool Statistics) und überprüfen Sie, ob der Poolzustand „UP“ ist.

  3. Ausführlichere Statistiken zur Konfiguration des Load-Balancer-Pools können Sie bei NSX Manager mit dem folgenden REST API-Aufruf abrufen:

    URL: https://NSX_Manager_IP/api/4.0/edges/{edgeId}/loadbalancer/statistics 
    Method: GET
    
    <?xml version="1.0" encoding="UTF-8"?>
    <loadBalancerStatusAndStats>
        <timeStamp>1463507779</timeStamp>
        <pool>
            <poolId>pool-1</poolId>
            <name>Web-Tier-Pool-01</name>
            <member>
                <memberId>member-1</memberId>
                <name>web-01a</name>
                <ipAddress>172.16.10.11</ipAddress>
                <status>UP</status>
                <lastStateChangeTime>2016-05-16 07:02:00</lastStateChangeTime>
                <bytesIn>0</bytesIn>
                <bytesOut>0</bytesOut>
                <curSessions>0</curSessions>
                <httpReqTotal>0</httpReqTotal>
                <httpReqRate>0</httpReqRate>
                <httpReqRateMax>0</httpReqRateMax>
                <maxSessions>0</maxSessions>
                <rate>0</rate>
                <rateLimit>0</rateLimit>
                <rateMax>0</rateMax>
                <totalSessions>0</totalSessions>
            </member>
            <member>
                <memberId>member-2</memberId>
                <name>web-02a</name>
                <ipAddress>172.16.10.12</ipAddress>
                <status>UP</status>
                <lastStateChangeTime>2016-05-16 07:02:01</lastStateChangeTime>
                <bytesIn>0</bytesIn>
                <bytesOut>0</bytesOut>
                <curSessions>0</curSessions>
                <httpReqTotal>0</httpReqTotal>
                <httpReqRate>0</httpReqRate>
                <httpReqRateMax>0</httpReqRateMax>
                <maxSessions>0</maxSessions>
                <rate>0</rate>
                <rateLimit>0</rateLimit>
                <rateMax>0</rateMax>
                <totalSessions>0</totalSessions>
            </member>
            <status>UP</status>
            <bytesIn>0</bytesIn>
            <bytesOut>0</bytesOut>
            <curSessions>0</curSessions>
            <httpReqTotal>0</httpReqTotal>
            <httpReqRate>0</httpReqRate>
            <httpReqRateMax>0</httpReqRateMax>
            <maxSessions>0</maxSessions>
            <rate>0</rate>
            <rateLimit>0</rateLimit>
            <rateMax>0</rateMax>
            <totalSessions>0</totalSessions>
        </pool>
        <virtualServer>
            <virtualServerId>virtualServer-1</virtualServerId>
            <name>Web-Tier-VIP-01</name>
            <ipAddress>172.16.10.10</ipAddress>
            <status>OPEN</status>
            <bytesIn>0</bytesIn>
            <bytesOut>0</bytesOut>
            <curSessions>0</curSessions>
            <httpReqTotal>0</httpReqTotal>
            <httpReqRate>0</httpReqRate>
            <httpReqRateMax>0</httpReqRateMax>
            <maxSessions>0</maxSessions>
            <rate>0</rate>
            <rateLimit>0</rateLimit>
            <rateMax>0</rateMax>
            <totalSessions>0</totalSessions>
        </virtualServer>
    </loadBalancerStatusAndStats>
    
  4. Um Load-Balancer-Statistiken über die Befehlszeile abzurufen, führen Sie die folgenden Befehle auf dem NSX Edge aus.

    Für einen bestimmten virtuellen Server: Führen Sie zunächst den Befehl show service loadbalancer virtual aus, um den Namen des virtuellen Servers zu erhalten. Anschließend führen Sie show statistics loadbalancer virtual <virtual-server-name> aus.

    Für einen bestimmten TCP-Pool führen Sie zuerst show service loadbalancer pool aus, um den Poolnamen abzurufen. Anschließend führen Sie show statistics loadbalancer pool <pool-name> aus.

  5. Überprüfen Sie die Statistiken des Load Balancer auf eventuelle Hinweise auf Fehler.