NSX Data Center for vSphere에서 제어부(netcpa)는 로컬 에이전트 데몬으로 작동하고 NSX Manager 및 컨트롤러 클러스터와 통신합니다. 통신 채널 상태(Communication Channel Health) 기능은 중앙 제어부-로컬 제어부 상태를 NSX Manager에 주기적으로 보고하고 NSX Manager UI에 표시되는 상태 검사입니다. 이 보고서는 ESXi 호스트 netcpa 채널에 대한 NSX Manager의 작동 상태를 감지하기 위한 하트비트로도 사용됩니다. 통신 장애 동안 오류 세부 정보를 제공하고, 채널이 잘못된 상태가 될 때 이벤트를 생성하고, NSX Manager에서 호스트로의 하트비트 메시지를 생성합니다.
문제
제어부 에이전트와 컨트롤러 간에 연결 문제가 있습니다.
원인
누락된 연결이 있으면 제어부 에이전트가 제대로 작동하지 않는 것일 수 있습니다.
해결책
- 다음 API 요청을 사용하여 채널이 잘못된 상태가 될 때의 연결 상태를 검증합니다.
GET https://<NSX_Manager_IP>/api/2.0/vdn/inventory/host/{hostId}/connection/status
이 API 사용에 대한 자세한 내용은 "NSX API 가이드" 를 참조하십시오.
"hostId"를 찾으려면 NSX Manager CLI를 사용하거나 vCenter MOB(관리 개체 브라우저)를 사용할 수 있습니다.- vCenter MOB를 사용하려면 웹 브라우저를 열고 http://vCenter-IP-Address/mob에 vCenter MOB의 URL을 입력합니다. "NSX API 가이드" 에서 클러스터 또는 호스트 MOID를 찾는 방법에 대한 지침을 참조하십시오.
- NSX Manager CLI를 사용하려면 관리자 사용자로 로그인하고 show cluster all 또는 show cluster clusterID 명령을 실행합니다. 이러한 명령에 대한 자세한 내용은 "NSX 명령줄 인터페이스 빠른 참조" 를 참조하십시오.
다음은 API 응답의 예입니다.
<?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: 알 수 없는 오류
- 다음과 같이 제어부 에이전트가 다운된 이유를 확인하십시오.
- ESXi 호스트에서 /etc/init.d/netcpad status 명령을 실행하여 호스트의 제어부 에이전트 상태를 확인합니다.
[root@esx-01a:~] /etc/init.d/netcpad status netCP agent service is running
- more /etc/vmware/netcpa/config-by-vsm.xml 명령을 사용하여 제어부 에이전트 구성을 확인합니다. NSX Controller의 IP 주소가 나열되어야 합니다.
[root@esx-01a:~] more /etc/vmware/netcpa/config-by-vsm.xml <config> <connectionList> <connection id="0000"> <port>1234</port> <server>192.168.110.31</server> <sslEnabled>true</sslEnabled> <thumbprint>A5:C6:A2:B2:57:97:36:F0:7C:13:DB:64:9B:86:E6:EF:1A:7E:5C:36</thumbprint> </connection> <connection id="0001"> <port>1234</port> <server>192.168.110.32</server> <sslEnabled>true</sslEnabled> <thumbprint>12:E0:25:B2:E0:35:D7:84:90:71:CF:C7:53:97:FD:96:EE:ED:7C:DD</thumbprint> </connection> <connection id="0002"> <port>1234</port> <server>192.168.110.33</server> <sslEnabled>true</sslEnabled> <thumbprint>BD:DB:BA:B0:DC:61:AD:94:C6:0F:7E:F5:80:19:44:51:BA:90:2C:8D</thumbprint> </connection> </connectionList> ...
- ESXi 호스트에서 /etc/init.d/netcpad status 명령을 실행하여 호스트의 제어부 에이전트 상태를 확인합니다.
- 다음 명령을 사용하여 제어부 에이전트에서 컨트롤러에 대한 연결을 확인합니다. 출력은 각 컨트롤러에 대한 단일 연결입니다.
>[root@esx-01a:~] esxcli network ip connection list | grep 1234 tcp 0 0 192.168.110.51:16594 192.168.110.31:1234 ESTABLISHED 36754 newreno netcpa-worker tcp 0 0 192.168.110.51:46917 192.168.110.33:1234 ESTABLISHED 36754 newreno netcpa-worker tcp 0 0 192.168.110.51:47891 192.168.110.32:1234 ESTABLISHED 36752 newreno netcpa-worker
- 다음 명령을 실행하여 제어부 에이전트에서 컨트롤러에 대한 연결이 CLOSED 또는 CLOSE_WAIT 상태로 표시되는지 확인합니다.
esxcli network ip connection list |grep "1234.*netcpa*" | egrep "CLOSED|CLOSE_WAIT"
- 제어부 에이전트가 꽤 오랫동안 다운된 경우 연결이 전혀 없을 수 있습니다. 연결 상태를 확인하려면 다음 명령을 실행합니다. 출력은 각 컨트롤러에 대한 단일 연결입니다.
esxcli network ip connection list |grep "1234.*netcpa*" |grep ESTABLISHED
- 제어부 에이전트(netcpa) 자동 복구 메커니즘: 자동 제어부 에이전트 모니터링 프로세스는 잘못된 상태인 제어부 에이전트를 감지합니다. 제어부 에이전트가 잘못된 상태인 경우 응답을 중지한 후 자동으로 복구를 시도합니다.
- 제어부 에이전트가 응답을 중지하는 경우 라이브 코어 파일이 생성됩니다. 코어 파일을 찾는 방법은 다음과 같습니다.
ls /var/core netcpa-worker-zdump.000
- vmkwarning.log 파일에 Syslog 오류가 보고됩니다.
cat /var/run/log/vmkwarning.log | grep NETCPA 2017-08-11T06:32:17.994Z cpu1:1000044539)ALERT: Critical - NETCPA is hanged Taking live-dump & restarting netcpa process!
참고:제어부 에이전트 모니터에서 상태 검사에 대한 응답 지연으로 인해 일시적 오류가 발생할 경우 다음과 비슷한 경고 메시지가 VMkernel 로그에 보고될 수 있습니다.
경고 - NETCPA에서 netcpa 상태를 가져오지 못했습니다.
이 경고는 무시해도 됩니다.
- 제어부 에이전트가 응답을 중지하는 경우 라이브 코어 파일이 생성됩니다. 코어 파일을 찾는 방법은 다음과 같습니다.
- 이 문제가 자동으로 복구되지 않을 경우 다음과 같이 제어부 에이전트를 다시 시작합니다.
- SSH 또는 콘솔을 통해 ESXi 호스트에 루트 권한으로 로그인합니다.
- /etc/init.d/netcpad restart 명령을 실행하여 ESXi 호스트에서 제어부 에이전트를 다시 시작합니다.