In diesem Abschnitt werden verschiedene Probleme und deren Behebung erläutert.
- Das Load-Balancing auf dem TCP-Port (z. B. Port 443) funktioniert nicht.
- Überprüfen Sie die Topologie. Genauere Informationen finden Sie unter Administratorhandbuch für NSX.
- Überprüfen Sie, ob die IP-Adresse des virtuellen Servers per Ping erreichbar ist oder prüfen Sie am Upstream-Router, ob die ARP-Tabelle ausgefüllt ist.
- Überprüfen Sie die Konfigurationen in der Benutzeroberfläche.
- Überprüfen Sie die Konfigurationen in der Befehlszeile.
- Erfassen Sie Pakete.
- 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
- Überprüfen Sie den Konfigurationsstatus des Load Balancers im vSphere Web Client:
- Klicken Sie auf Netzwerk und Sicherheit > NSX Edges (Networking & Security > NSX Edges).
- Doppelklicken Sie auf eine NSX Edge-Instanz.
- Klicken Sie auf Verwalten (Manage) und anschließend auf die Registerkarte Load Balancer.
- Überprüfen Sie den Zustand des Load Balancer und die konfigurierte Protokollierungsstufe.
- 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 InActConnHinweis: 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.
- Ä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
- Überprüfen Sie den Status des Poolmitglieds im vSphere Web Client.
- Klicken Sie auf Netzwerk und Sicherheit > NSX Edges (Networking & Security > NSX Edges).
- Doppelklicken Sie auf eine NSX Edge-Instanz.
- Klicken Sie auf Verwalten (Manage) und anschließend auf die Registerkarte Load Balancer.
- Klicken Sie auf Pools, um eine Zusammenfassung der konfigurierten Load-Balancer-Pools anzuzeigen.
- 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.
- 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>
-
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.
- Überprüfen Sie die Statistiken des Load Balancer auf eventuelle Hinweise auf Fehler.