vSphereNSX에서 제어부(netcpa)는 로컬 에이전트 데몬으로 작동하고 NSX Manager 및 컨트롤러 클러스터와 통신합니다. 통신 채널 상태(Communication Channel Health) 기능은 중앙 제어부-로컬 제어부 상태를 NSX Manager에 주기적으로 보고하고 NSX Manager UI에 표시되는 사전 예방적 상태 검사입니다. 이 보고서는 ESXi 호스트 netcpa 채널에 대한 NSX Manager의 작동 상태를 감지하기 위한 하트비트로도 사용됩니다. 통신 장애 동안 오류 세부 정보를 제공하고, 채널이 잘못된 상태가 될 때 이벤트를 생성하고, NSX Manager에서 호스트로의 하트비트 메시지를 생성합니다.

문제점

netcpa와 컨트롤러 간에 연결 문제가 있습니다.

원인

누락된 연결이 있으면 netcpa가 제대로 작동하지 않을 수 있습니다.

프로시저

  1. 다음 명령을 사용하여 채널이 잘못된 상태가 될 때의 이벤트 로그 메시지를 확인합니다.

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

    다음은 반환 값의 예입니다.

    <?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>

    다음 오류 코드가 지원됩니다.

    1255602: 불완전한 컨트롤러 인증서 1255603: SSL 핸드셰이크 실패 1255604: 연결이 거부됨 1255605: 연결 유지 시간 초과 1255606: SSL 예외 1255607: 잘못된 메시지 1255620: 알 수 없는 오류

  2. 다음 명령을 사용하여 netcpa에서 컨트롤러에 대한 연결을 확인합니다.

    esxcli network ip connection list | grep 1234.

  3. 다음 명령을 실행하여 netcpa에서 컨트롤러에 대한 연결이 CLOSED 또는 CLOSE_WAIT 상태로 표시되는지 확인합니다.

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

  4. netcpa가 꽤 오랫동안 다운된 경우 연결이 전혀 없을 수 있습니다. 이를 확인하려면 다음 명령을 실행합니다. 출력은 각 컨트롤러에 대한 단일 연결입니다.

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

  5. 이 문제를 해결하려면 다음과 같이 netcpa를 다시 시작합니다.
    1. SSH 또는 콘솔을 통해 ESXi 호스트에 루트 권한으로 로그인합니다.
    2. /etc/init.d/netcpad restart 명령을 실행하여 ESXi 호스트에서 netcpa 에이전트를 다시 시작합니다.