NSX Controller는 NSX 논리적 스위칭 및 라우팅 기능에 대한 제어부 기능을 제공하는 고급 분산 상태 관리 시스템입니다. 네트워크 내의 모든 논리적 스위치에 대한 중앙 제어 지점으로서 모든 호스트, 논리적 스위치(VXLAN) 및 논리적 분산 라우터에 대한 정보를 유지하는 역할을 합니다. 1) 논리적 분산 라우터 또는 2) VXLAN을 유니캐스트 또는 하이브리드 모드로 배포하려는 경우 컨트롤러가 필요합니다. 크로스 vCenter NSX에서 NSX Manager에 기본 역할이 할당되면 해당 컨트롤러 클러스터가 전체 크로스 vCenter NSX 환경의 범용 컨트롤러 클러스터가 됩니다.

시작하기 전에

  • NSX Controller를 배포하기 전에 NSX Manager 장치를 배포하고 vCenter를 NSX Manager에 등록해야 합니다.

  • 게이트웨이 및 IP 주소 범위 등 컨트롤러 클러스터의 IP 풀 설정을 지정합니다. DNS 설정은 선택 사항입니다. NSX Controller IP 네트워크는 NSX Manager와 ESXi 호스트의 관리 인터페이스에 연결되어야 합니다.

이 태스크 정보

NSX 배포의 규모에 관계없이 VMware를 사용하려면 각 NSX 컨트롤러 클러스터에 세 개의 컨트롤러 노드가 있어야 합니다. 다른 개수의 컨트롤러 노드를 포함하는 경우는 지원되지 않습니다.

각 컨트롤러의 디스크 스토리지 시스템의 최대 쓰기 지연 시간은 300ms보다 작고 평균 쓰기 지연 시간은 100ms보다 작아야 합니다. 스토리지 시스템이 이러한 요구 사항을 충족하지 못하면 클러스터가 불안정해지며 시스템 다운타임이 발생할 수 있습니다.

프로시저

  1. vCenter에서 홈 > 네트워킹 및 보안 > 설치로 이동하여 관리 탭을 선택합니다.

    예:

  2. NSX 컨트롤러 노드 섹션에서 노드 추가(추가) 아이콘을 클릭합니다.
  3. 환경에 맞게 NSX 컨트롤러 설정을 입력합니다.

    NSX Controller는 VXLAN을 기반으로 하지 않으면서 IPv4를 통해 NSX Manager, 기타 컨트롤러와 호스트에 연결되어 있는 vSphere 표준 스위치 또는 vSphere Distributed Switch 포트 그룹으로 배포해야 합니다.

    예:

  4. 아직 컨트롤러 클러스터에 대한 IP 풀을 구성하지 않은 경우 새 IP 풀을 클릭하여 구성합니다.

    필요할 경우 개별 컨트롤러를 개별 IP 서브넷에 배치할 수 있습니다.

    예:

  5. 컨트롤러의 암호를 입력하고 다시 입력합니다.
    참고:

    암호 안에 사용자 이름 문자열을 포함할 수 없습니다. 또한 동일한 문자가 3회 이상 연속적으로 반복될 수 없습니다.

    암호는 최소 12자여야 하고 다음 4개 규칙 중 3개를 준수해야 합니다.

    • 하나 이상의 대문자

    • 하나 이상의 소문자

    • 숫자 1개 이상

    • 하나 이상의 특수 문자

  6. 첫 번째 컨트롤러가 완전하게 배포되면 컨트롤러 두 개를 추가적으로 배포합니다.

    컨트롤러는 반드시 3개를 배포해야 합니다. 컨트롤러가 동일한 호스트에 놓이지 않도록 DRS 반선호도 규칙을 구성하는 것이 좋습니다.

결과

성공적으로 배포되면 컨트롤러 상태가 정상이 되고 녹색 확인 표시가 표시됩니다.

SSH를 통해 각 컨트롤러에 연결하고 호스트 관리 인터페이스 IP 주소를 ping할 수 있는지 확인합니다. ping이 실패할 경우 모든 컨트롤러의 기본 게이트웨이가 올바른지 확인합니다. 컨트롤러 라우팅 테이블을 보려면 show network routes 명령을 실행합니다. 컨트롤러의 기본 게이트웨이를 변경하려면 clear network routes 명령을 실행하고 이어서 add network default-route <IP-address> 명령을 실행합니다.

다음 명령을 실행하여 제어 클러스터가 예상대로 동작하는지 확인합니다.

  • show control-cluster status

    Type                Status                                       Since
    --------------------------------------------------------------------------------
    Join status:        Join complete                                05/04 02:36:03
    Majority status:    Connected to cluster majority                05/19 23:57:23
    Restart status:     This controller can be safely restarted      05/19 23:57:12
    Cluster ID:         ff3ebaeb-de68-4455-a3ca-4824e31863a8
    Node UUID:          ff3ebaeb-de68-4455-a3ca-4824e31863a8
    
    Role                Configured status   Active status
    --------------------------------------------------------------------------------
    api_provider        enabled             activated
    persistence_server  enabled             activated
    switch_manager      enabled             activated
    logical_manager     enabled             activated
    directory_server    enabled             activated
    

    Join status에서 컨트롤러 노드가 Join Complete를 보고하는지 확인합니다.

    Majority status에서 컨트롤러가 클러스터 과반수(cluster majority)에 연결되었는지 확인합니다.

    Cluster ID에서 클러스터의 모든 컨트롤러 노드가 동일한 클러스터 ID를 가지는지 확인합니다.

    Configured status와 Active status에서는 모든 컨트롤러 역할이 사용하도록 설정되고 활성화되었는지 확인합니다.

  • show control-cluster roles

    
                              Listen-IP  Master?    Last-Changed  Count
    api_provider         Not configured      Yes  06/02 08:49:31      4
    persistence_server              N/A      Yes  06/02 08:49:31      4
    switch_manager            127.0.0.1      Yes  06/02 08:49:31      4
    logical_manager                 N/A      Yes  06/02 08:49:31      4
    directory_server                N/A      Yes  06/02 08:49:31      4
    
    

    하나의 컨트롤러 노드가 각 역할의 마스터가 됩니다. 이 예에서는 단일 노드가 모든 역할의 마스터입니다.

    특정 역할의 마스터 NSX Controller 인스턴스에서 장애가 발생하면 클러스터는 사용 가능한 NSX Controller 인스턴스 중에서 해당 역할의 새로운 마스터를 선택합니다.

    NSX Controller 인스턴스는 제어부에 위치하므로 NSX Controller 장애가 데이터부 트래픽에 영향을 미치지 않습니다.

  • show control-cluster connections

    role                port            listening open conns
    --------------------------------------------------------
    api_provider        api/443         Y         2
    --------------------------------------------------------
    persistence_server  server/2878     Y         2
                        client/2888     Y         1
                        election/3888   Y         0
    --------------------------------------------------------
    switch_manager      ovsmgmt/6632    Y         0
                        openflow/6633   Y         0
    --------------------------------------------------------
    system              cluster/7777    Y         0
    
    

    이 명령은 클러스터 내 통신 상태를 보여 줍니다.

    컨트롤러 클러스터 과반수 리더는 포트 2878을 수신합니다(“listening” 열에 “Y”로 표시됨). 다른 컨트롤러 노드의 경우 포트 2878에 대해 “listening” 열에 대시(-)가 표시됩니다.

    다른 모든 포트는 3개 컨트롤러 노드 모두에서 수신되어야 합니다.

    open conns 열에는 컨트롤러 노드와 다른 컨트롤러 노드 사이에 열린 연결 수가 표시됩니다. 3노드 컨트롤러 클러스터에서 컨트롤러 노드의 열린 연결 수는 2개를 초과할 수 없습니다.

다음에 수행할 작업

주의:

컨트롤러 상태가 배포 중인 동안에는 논리적 스위치 또는 분산 라우팅을 환경에 추가하거나 수정하지 마십시오. 또한 호스트 준비 절차로 진행하지 마십시오. 새 컨트롤러를 컨트롤러 클러스터에 추가한 후에는 모든 컨트롤러가 잠시(5분 이하) 비활성화됩니다. 이 중단 시간 동안 컨트롤러 관련 작업(예: 호스트 준비)에서 예상치 않은 결과가 나타날 수 있습니다. 호스트 준비가 성공적으로 완료된 것처럼 보여도 SSL 인증이 올바르게 설정되지 않을 수 있기 때문에 VXLAN 네트워크에서 문제가 발생합니다.

배포된 컨트롤러를 삭제해야 하는 경우 NSX 관리 가이드의 "NSX Controller 오류에서 복구"를 참조하십시오.

NSX Controller 노드가 먼저 배포된 호스트에서는 NSX가 자동 VM 시작/종료를 사용하도록 설정합니다. 컨트롤러 노드 VM이 나중에 다른 호스트로 마이그레이션되는 경우 새 호스트가 자동 VM 시작/종료를 사용하도록 설정하지 않을 수도 있습니다. 따라서 클러스터의 모든 호스트에서 자동 VM 시작/종료가 사용되도록 설정되었는지 확인하는 것이 좋습니다. http://pubs.vmware.com/vsphere-60/index.jsp?topic=%2Fcom.vmware.vsphere.vm_admin.doc%2FGUID-5FE08AC7-4486-438E-AF88-80D6C7928810.html를 참조하십시오.