Bei NSX für vSphere dient die Kontrollebene (netcpa) als lokaler Agentendaemon, der mit NSX Manager und dem Controller-Cluster kommuniziert. Die Funktion Kommunikationskanalstatus (Communication Channel Health) ist eine proaktive Überprüfung des Systemzustands, die in regelmäßigen Abständen den Zustand der zentralen bis zur lokalen Kontrollebene an den NSX Manager meldet und die in der Benutzeroberfläche von NSX Manager angezeigt wird. Dieser Bericht dient auch als Taktsignal, um den Betriebszustand des NSX Manager zum ESXi-Host-netcpa-Kanal zu erkennen. Er bietet Fehlerdetails bei Kommunikationsfehlern, generiert ein Ereignis, wenn ein Kanal in den falschen Status verfällt, und erstellt außerdem Taktsignalnachrichten vom NSX Manager zu Hosts.

Problem

Verbindungsprobleme zwischen netcpa und Controller

Ursache

Wenn eine Verbindung ausfällt, funktioniert netcpa möglicherweise nicht korrekt.

Prozedur

  1. Wenn der Kanal in einen falschen Status verfällt, überprüfen Sie die Ereignisprotokollnachricht mit folgendem Befehl:

    GET https://<vsm_host_ip>/api/2.0/vdn/inventory/host/{hostId}/connection/status.

    Nachfolgend finden Sie ein Beispiel für den zurückgegebenen Code:

    <?xml version="1.0" encoding="UTF-8"?>
    <hostConnStatus>
    <hostName>10.161.246.20</hostName>
    <hostId>host-21</hostId>
    <nsxMgrToFirewallAgentConn>UP</nsxMgrToFirewallAgentConn>
    <nsxMgrToControlPlaneAgentConn>UP</nsxMgrToControlPlaneAgentConn>
    <hostToControllerConn>DOWN</hostToControllerConn>
    <fullSyncCount>-1</fullSyncCount>
    <hostToControllerConnectionErrors>
    <hostToControllerConnectionError>
    <controllerIp>10.160.203.236</controllerIp>
    <errorCode>1255604</errorCode>
    <errorMessage>Connection Refused</errorMessage>
    </hostToControllerConnectionError>
    <hostToControllerConnectionError>
    <controllerIp>10.160.203.237</controllerIp>
    <errorCode>1255603</errorCode>
    <errorMessage>SSL Handshake Failure</errorMessage>
    </hostToControllerConnectionError>
    </hostToControllerConnectionErrors>
    </hostConnStatus>

    Die folgenden Fehlercodes werden unterstützt:

    1255602: Unvollständiges Controller-Zertifikat 1255603: SSL-Handshake-Fehler 1255604: Verbindung abgelehnt. 1255605: Keep-alive-Zeitüberschreitung 1255606: SSL-Ausnahme 1255607: Ungültige Meldung 1255620: Unbekannter Fehler

  2. Überprüfen Sie die Verbindungen zwischen den Controllern und netcpa mit dem folgenden Befehl:

    esxcli network ip connection list | grep 1234.

  3. Überprüfen Sie mit folgendem Befehl, ob die Verbindungen zwischen den Controllern und netcpa den Status CLOSED oder CLOSE_WAIT anzeigen:

    esxcli network ip connection list |grep "1234.*netcpa*" | egrep "CLOSED|CLOSE_WAIT".

  4. Falls netcpa bereits für einen längeren Zeitraum ausgefallen war, sind die Verbindungen möglicherweise gar nicht vorhanden. Um dies zu überprüfen, führen Sie folgenden Befehl aus. Die Ausgabe ist eine Verbindung für jeden Controller.

    esxcli network ip connection list |grep "1234.*netcpa*" |grep ESTABLISHED.

  5. Um den Fehler zu beheben, starten Sie netcpa wie folgt neu:
    1. Melden Sie sich über SSH oder die Konsole als Root beim ESXi-Host an.
    2. Führen Sie den Befehl /etc/init.d/netcpad restart aus, um den netcpa-Agenten auf dem ESXi-Host neu zu starten.