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

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

  • Der Load Balancer an TCP-Port 443 funktioniert nicht.

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

  • Lasten des Edge-Datenverkehrs werden nicht verteilt.

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

  • Die Systemzustandsüberwachungs-Engine wurde gestoppt.

  • Der Überwachungsstatus eines Poolmitglieds ist WARNUNG/KRITISCH.

  • Ein Poolmitglied befindet sich im Status INAKTIV.

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

Grundlegende Fehlerbehebung

  1. Überprüfen Sie den Konfigurationszustand des Load Balancer 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).

    4. Klicken Sie auf die Registerkarte Load Balancer.

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

  2. Ehe Sie das Problem des Load-Balancer-Dienstes beheben, führen Sie in NSX Manager folgenden Befehl aus, um sicherzustellen, dass der Dienst aufgerufen wurde und ausgeführt wird:

    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:

    Sie können mit dem Befehl show edge all die Namen der NSX Edges anzeigen.

Beheben von Konfigurationsproblemen

Wenn der Konfigurationsvorgang des Load Balancer von der NSX-Benutzeroberfläche oder vom REST-API-Aufruf zurückgewiesen wird, wird dies als Konfigurationsproblem eingestuft.

Beheben von Problemen auf der Datenebene

Die Load-Balancer-Konfiguration wird von NSX Manager akzeptiert, aber es gibt Konnektivitäts- oder Leistungsprobleme zwischen dem Client-Edge und dem Load-Balancer-Server. 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 mithilfe des REST-API-Aufrufs die Edge-Protokollierungsstufe in 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 der Poolmitglieder 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).

    4. Klicken Sie auf die Registerkarte Load Balancer.

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

    6. 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. Detailliertere Statistiken zur Load-Balancer-Poolkonfiguration erhalten Sie mit diesem REST-API-Aufruf in NSX Manager:

    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. Wenn Sie die Load-Balancer-Statistiken über die Befehlszeile prüfen möchten, führen Sie in NSX Edge die nachfolgend aufgeführten Befehle aus.

    Für eine bestimmte virtuelle Maschine führen Sie zuerst show service loadbalancer virtual aus, um den Namen der virtuellen Maschine abzurufen. Anschließend führen Sie show statistics loadbalancer virtual <virtual-machine-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.