NSX Controller는 NSX Manager에 의해 OVA 형식으로 배포됩니다. 컨트롤러 클러스터가 있으면 고가용성이 보장됩니다. 컨트롤러를 배포하려면 NSX Manager, vCenter Server 및 ESXi 호스트에 DNS 및 NTP가 구성되어 있어야 합니다. 정적 IP 풀을 사용하여 각 컨트롤러에 IP 주소를 할당해야 합니다.

별도의 호스트에 NSX Controller를 유지하려면 DRS 선호도 방지 규칙을 구현하는 것이 좋습니다. 3개의 NSX Controller를 배포해야 합니다.

컨트롤러의 일반적인 문제

NSX Controller 배포 중에 발생할 수 있는 일반적인 문제는 다음과 같습니다.

  • NSX Controller 배포가 실패합니다.

  • NSX Controller에서 클러스터에 연결하지 못합니다.

  • show control-cluster status 명령을 실행하면 클러스터 대부분에 연결됨클러스터 대부분에 대해 연결이 중단됨 간의 과반수 상태 플래핑이 표시됩니다.

  • NSX 대시보드에 표시되는 연결 상태 문제.

    • show control-cluster status 명령은 컨트롤러가 제어 클러스터에 연결되었는지 여부를 확인하기 위한 권장 명령입니다. 각 컨트롤러에 대해 이 명령을 실행하여 전체 클러스터 상태를 확인해야 합니다.

      controller # show control-cluster status
      Type                Status                                       Since
      --------------------------------------------------------------------------------
      Join status:        Join complete                                10/17 18:16:58
      Majority status:    Connected to cluster majority                10/17 18:16:46
      Restart status:     This controller can be safely restarted      10/17 18:16:51
      Cluster ID:         af2e9dec-19b9-4530-8e68-944188584268
      Node UUID:          af2e9dec-19b9-4530-8e68-944188584268
      Role                Configured status   Active status
      --------------------------------------------------------------------------------
      api_provider        enabled             activated
      persistence_server  enabled             activated
      switch_manager      enabled             activated
      logical_manager     enabled             activated
      dht_node            enabled             activated

      참고:

      컨트롤러 노드의 연결이 끊어지면 join cluster 또는 force join 명령을 사용하지 마십시오. 이 명령은 클러스터에 노드를 연결하기 위한 것이 아닙니다. 이 명령을 수행하면 클러스터는 완전히 불확실한 상태가 될 수 있습니다.

      클러스터 시작 노드는 클러스터 멤버에게 멤버가 시작될 때 확인할 위치에 대한 정보를 제공하는 힌트일 뿐입니다. 이 목록에 더 이상 서비스되지 않는 클러스터 멤버가 포함되어 있더라도 안심하십시오. 이는 클러스터 기능에 영향을 미치지 않습니다.

      모든 클러스터 멤버는 동일한 클러스터 ID를 가져야 합니다. 그러지 않으면 클러스터가 중단된 상태가 되므로 VMware 기술 지원 팀을 통해 복구해야 합니다.

    • show control-cluster startup-nodes 명령은 클러스터에 현재 있는 모든 노드를 표시하기 위한 것이 아닙니다. 대신, 이 명령은 컨트롤러 프로세스가 다시 시작될 때 이 노드에서 멤버 자격을 클러스터에 부트스트랩하는 데 사용하는 다른 컨트롤러 노드를 표시합니다. 따라서 명령 출력에는 종료되었거나 클러스터에서 삭제된 일부 노드가 표시될 수 있습니다.

    • 또한 show control-cluster network ipsec status 명령을 사용하여 IPSec(인터넷 프로토콜 보안) 상태를 조사할 수 있습니다. 컨트롤러가 몇 분에서 몇 시간 동안 서로 통신할 수 없으면 cat /var/log/syslog | egrep "sending DPD request|IKE_SA" 명령을 실행하고 로그 메시지가 트래픽이 없음을 나타내는지 확인합니다. ipsec statusall | egrep "bytes_i|bytes_o" 명령을 실행하고 설정된 2개의 IPSec 터널이 없는지 확인할 수도 있습니다. VMware 기술 지원 담당자에게 의심되는 제어 클러스터 문제를 보고할 때 이러한 명령의 출력과 컨트롤러 로그를 제공합니다.

  • NSX Manager와 NSX Controller 간 IP 연결 문제. 이 문제는 일반적으로 물리적 네트워크 연결 문제 또는 방화벽의 통신 차단으로 인해 발생합니다.

  • vSphere에서 사용 가능한 스토리지와 같이 컨트롤러를 호스팅하기 위한 리소스 부족. 컨트롤러 배포 중에 vCenter 이벤트 및 작업 로그를 확인하면 이러한 문제를 식별할 수 있습니다.

  • "rogue" 컨트롤러가 잘못 동작하거나 업그레이드된 컨트롤러가 연결 해제됨(Disconnected) 상태입니다.

  • ESXi 호스트 및 NSX Manager의 DNS가 제대로 구성되지 않았습니다.

  • ESXi 호스트의 NTP와 NSX Manager가 동기화되지 않았습니다.

  • 새로 연결된 VM이 네트워크에 액세스할 수 없으면 제어부 문제일 수 있습니다. 컨트롤러 상태를 확인합니다.

    또한 ESXi 호스트에서 esxcli network vswitch dvs vmware vxlan network list --vds-name <name> 명령을 실행하여 제어부 상태를 확인하십시오. 컨트롤러 연결이 끊어져 있는지 확인하십시오.

  • show log manager follow NSX Manager CLI 명령을 실행하면 컨트롤러 배포 실패에 대한 다른 원인을 파악할 수 있습니다.

호스트 연결 문제

다음 명령을 사용하여 호스트 연결 오류를 확인합니다. 각 컨트롤러 노드에 대해 다음 명령을 실행합니다.

  • show log cloudnet/cloudnet_java-vnet-controller*.log filtered-by host_IP 명령을 사용하여 비정상 오류 통계를 확인합니다.

  • 다음 명령을 사용하여 논리적 스위치/라우터 메시지 통계 또는 높은 메시지 속도를 확인합니다.

    • show control-cluster core stats: 전체 통계

    • show control-cluster core stats-sample: 최신 통계 샘플

    • show control-cluster core connection-stats ip: 연결별 통계

    • show control-cluster logical-switches stats

    • show control-cluster logical-routers stats

    • show control-cluster logical-switches stats-sample

    • show control-cluster logical-routers stats-sample

    • show control-cluster logical-switches vni-stats vni

    • show control-cluster logical-switches vni-stats-sample vni

    • show control-cluster logical-switches connection-stats ip

    • show control-cluster logical-routers connection-stats ip

  • show host hostID health-status 명령을 사용하여 준비된 클러스터에 있는 호스트의 상태를 확인할 수 있습니다. 컨트롤러 문제 해결을 위해 다음 상태 검사가 지원됩니다.

    • net-config-by-vsm.xml이 컨트롤러 목록과 동기화되는지 확인합니다.

    • 컨트롤러에 대한 소켓 연결이 있는지 확인합니다.

    • VNI(VXLAN 네트워크 식별자)가 생성되었는지와 구성이 올바른지 확인합니다.

    • VNI가 마스터 컨트롤러에 연결되는지 확인합니다(제어부가 사용되도록 설정된 경우).

설치 및 배포 문제

  • 클러스터에 3개 이상의 컨트롤러 노드가 배포되었는지 확인합니다. VMware에서는 네이티브 vSphere 반선호도 규칙을 활용하여 동일한 ESXi 호스트에 둘 이상의 컨트롤러 노드가 배포되지 않도록 하는 것을 권장합니다.

  • 모든 NSX Controller연결됨 상태가 표시되는지 확인합니다. 컨트롤러 노드에 연결 해제됨 상태가 표시되면 모든 컨트롤러 노드에 대해 show control-cluster status 명령을 실행하여 다음 정보가 일관적인지 확인합니다.

유형

상태

연결 상태

연결 완료

과반수 상태

클러스터 대부분에 연결됨

클러스터 ID

모든 컨트롤러 노드에 대한 동일한 정보

  • 모든 컨트롤러 노드에서 모든 역할이 일관되는지 확인합니다.

    역할

    구성된 상태

    활성 상태

    api_provider

    사용

    활성화됨

    persistence_server

    사용

    활성화됨

    switch_manager

    사용

    활성화됨

    logical_manager

    사용

    활성화됨

    directory_server

    사용

    활성화됨

  • vnet-controller 프로세스가 실행 중인지 확인합니다. 모든 컨트롤러 노드에서 show process 명령을 실행하고 java-dir-server 서비스가 실행되고 있는지 확인합니다.

  • 클러스터 기록을 확인하고 호스트 연결 플래핑 또는 VNI 연결 실패 및 비정상 클러스터 멤버 자격 변경 표시가 없는지 확인합니다. 이를 확인하려면 show control-cluster history 명령을 실행합니다. 또한 이 명령은 노드가 자주 다시 시작되는지 여부도 표시합니다. 크기가 0이고 다른 프로세스 ID를 갖는 많은 로그 파일이 없는지 확인합니다.

  • VNI(VXLAN 네트워크 식별자)가 구성되어 있는지 확인합니다. 자세한 내용은 VMware VXLAN Deployment GuideVXLAN 준비 단계 섹션을 참조하십시오.

  • 컨트롤러 클러스터에서 SSL이 사용되도록 설정되어 있는지 확인합니다. 각 컨트롤러 노드에 대해 show log cloudnet/cloudnet_java-vnet-controller*.log filtered-by sslEnabled 명령을 실행합니다.