문제

이 문제는 NSX Manager에 대한 전송 노드 연결이 실행 중이지만 컨트롤러가 종료 상태인 경우에 발생합니다. get managers를 실행하면 NSX는 활성 관리자 노드를 반환하지만 get controllers는 연결됨 상태이고 세션 상태도 실행 중인 이 전송 노드에 대해 활성 컨트롤러를 반환하지 않습니다.

원인

해결책

  1. Admin CLI get maintenance-mode를 통해 전송 노드가 NSX 유지 보수 모드에 있지 않은지 확인합니다.
  2. 다음 API 중 하나를 호출합니다.
    1. (더 이상 사용되지 않음) GET API/v1/transport-nodes/<uuid>/status
    2. GET api/v1/infra/sites/<site-id>/enforcement-points/<enforcementpoint-id>/host-transport-nodes/<host-transport-node-id>/status. 여기서 <site-id><enforcementpoint-id>의 기본값은 default입니다.
  3. API: GET /api/v1/configs/management를 실행하여 FQDN 속성(전송 노드에서 NSX Manager 또는 컨트롤러와 통신하는 데 사용)을 확인하고 publish_fqdns의 값을 봅니다.
    FQDN이 설정된 경우 먼저 컨트롤러 FQDN에 대한 ICMP ping을 실행하고 Admin CLI get controllers를 실행하여 컨트롤러 FQDN 값이 올바르게 채워지는지 확인함으로써 컨트롤러 FQDN에 연결할 수 있는지와 전송 노드에서 컨트롤러와 통신하기 위해 FQDN 값을 사용하고 있는지 확인합니다.
  4. 위에 언급된 호스트 에이전트 문제 해결 단계를 수행하여 호스트 에이전트 서비스가 실행 중인지 확인합니다.
  5. controller.xml 파일이 있는지와 호스트 전송 노드가 해당 멤버로 포함되어 있는지 확인합니다(/etc/vmware/nsx/controller-info.xml).
  6. 호스트가 NSX 유지 보수 모드인 경우 Admin CLI set maintenance-mode false 또는 API를 실행하여 호스트를 NSX 유지 보수 모드에서 해제합니다(POST /api/v1/transport-nodes/<node-id>?action=exit_maintenance_mode).
  7. FQDN이 설정되어 있고 ICMP ping이 컨트롤러 FQDN에 대해 작동하는 경우 publish_fqdns 값을 false로 지정하여 API PUT /api/v1/configs/management를 실행하여 FQDN 속성을 설정 해제했다가 다시 설정한 다음, true 값을 지정하여 API를 다시 실행합니다.
  8. CLI 명령 etc/init.d/<service-name> start를 실행하여 호스트에서 에이전트 서비스를 시작합니다(중지된 경우).
  9. controller.xml 파일에 잘못된 데이터가 있는 경우 호스트에서 nsx-proxy 서비스를 다시 시작하여 파일 다시 생성을 트리거합니다.