작업자가 NSX 라우팅 하위 시스템의 다양한 부분에 대한 실행 상태를 검사할 수 있는 CLI 명령 모음이 있습니다.

NSX 라우팅 하위 시스템의 분산 특성 때문에 NSX의 다양한 구성 요소에서 액세스할 수 있는 여러 CLI가 있습니다. NSX 버전 6.2부터 NSX는 다양한 분산 구성 요소에 액세스하고 로그인하는 데 필요한 "이동 시간"을 줄이는 데 도움이 되는 중앙 CLI도 제공합니다. 또한 단일 위치인 NSX Manager 셸에서 대부분의 정보에 액세스할 수 있도록 합니다.

전제 조건 확인

각 ESXi 호스트에 대해 다음 2가지 주요 전제 조건이 충족되어야 합니다.

  • DLR에 연결되는 모든 논리적 스위치는 정상 상태여야 합니다.

  • ESXi 호스트는 VXLAN에 대해 준비 완료 상태여야 합니다.

논리적 스위치 상태 점검

NSX 라우팅은 NSX 논리적 스위치와 함께 작동합니다. DLR에 연결된 논리적 스위치가 정상 상태인지 확인하려면:

  • 문제의 DLR에 연결된 각 논리적 스위치의 세그먼트 ID(VXLAN VNI)를 찾습니다(예: 5004..5007).

  • 이 DLR에서 제공하는 VM이 실행 중인 ESXi 호스트에서 이 DLR에 연결된 논리적 스위치에 대한 VXLAN 제어부의 상태를 확인합니다.

# esxcli network vswitch dvs vmware vxlan network list --vds-name=Compute_VDS
VXLAN ID  Multicast IP               Control Plane                        Controller Connection  Port Count  MAC Entry Count  ARP Entry Count
--------  -------------------------  -----------------------------------  ---------------------  ----------  ---------------  ---------------
    5004  N/A (headend replication)  Enabled (multicast proxy,ARP proxy)  192.168.110.201 (up)            2                2                0
    5005  N/A (headend replication)  Enabled (multicast proxy,ARP proxy)  192.168.110.202 (up)            1                0                0
    5006  N/A (headend replication)  Enabled (multicast proxy,ARP proxy)  192.168.110.203 (up)            1                1                0
    5007  N/A (headend replication)  Enabled (multicast proxy,ARP proxy)  192.168.110.202 (up)            1                0                0

각 관련 VXLAN에 대해 다음을 확인합니다.

  • 하이브리드 또는 유니캐스트 모드인 논리적 스위치의 경우:

    • 제어부가 "사용"으로 설정되어 있습니다.

    • “멀티캐스트 프록시” 및 “ARP 프록시”가 나열됩니다. “ARP 프록시”는 IP 검색을 사용하지 않도록 설정한 경우에도 표시됩니다.

    • 유효한 컨트롤러 IP 주소가 "컨트롤러" 아래에 나열되고 "연결"은 "실행" 상태입니다.

  • “포트 수”는 맞는 것처럼 보입니다. 문제의 논리적 스위치에 연결된 해당 호스트에 VM이 없더라도 포트 수는 1 이상입니다. 이 포트는 ESXi 호스트의 DLR 커널 모듈에 연결된 특수한 dvPort인 vdrPort입니다.

  • 다음 명령을 실행하여 vdrPort가 관련 VXLAN 각각에 연결되어 있는지 확인합니다.

~ # esxcli network vswitch dvs vmware vxlan network port list --vds-name=Compute_VDS --vxlan-id=5004
Switch Port ID  VDS Port ID  VMKNIC ID
--------------  -----------  ---------
      50331656  53                   0
      50331650  vdrPort              0


~ # esxcli network vswitch dvs vmware vxlan network port list --vds-name=Compute_VDS --vxlan-id=5005
Switch Port ID  VDS Port ID  VMKNIC ID
--------------  -----------  ---------
      50331650  vdrPort              0

  • 위 예에서 VXLAN 5004에는 하나의 VM 및 하나의 DLR 연결이 있지만 VXLAN 5005에는 DLR 연결만 있습니다.

  • 해당 VM이 해당 VXLAN에 제대로 연결되어 있는지 확인합니다(예: VXLAN 5004의 web-sv-01a).

~ # esxcfg-vswitch -l
DVS Name         Num Ports   Used Ports  Configured Ports  MTU     Uplinks
Compute_VDS      1536        10          512               1600    vmnic0

  DVPort ID           In Use      Client
[..skipped..]
  53                  1           web-sv-01a.eth0

VXLAN 준비 점검

ESXi 호스트에 대한 VXLAN 구성의 일부로 DLR 커널 모듈도 VXLAN용으로 준비된 DVS의 dvPort에 설치되고, 구성되고, 연결됩니다.

  1. show cluster all을 실행하여 클러스터 ID를 가져옵니다.

  2. show cluster cluster-id를 실행하여 호스트 ID를 가져옵니다.

  3. show logical-router host hostID connection을 실행하여 상태 정보를 가져옵니다.

nsxmgr-01a# show logical-router host <hostID> connection

Connection Information:
-----------------------

DvsName           VdrPort           NumLifs  VdrVmac
-------           -------           -------  -------
Compute_VDS       vdrPort           4        02:50:56:56:44:52
    Teaming Policy: Default Teaming
    Uplink   : dvUplink1(50331650): 00:50:56:eb:41:d7(Team member)


   Stats : Pkt Dropped      Pkt Replaced     Pkt Skipped
   Input : 0                0                1968734458
  Output : 303              7799             31891126

  • VXLAN이 사용하도록 설정된 DVS에 하나의 vdrPort가 생성되며 해당 ESXi 호스트의 모든 DLR 인스턴스에서 공유됩니다.

  • “NumLifs”는 이 호스트에 존재하는 모든 DLR 인스턴스의 LIF 합계를 나타냅니다.

  • “VdrVmac”는 DLR이 모든 인스턴스의 모든 LIF에서 사용하는 vMAC입니다. 이 MAC는 모든 호스트에서 동일합니다. ESXi 호스트 외부의 물리적 네트워크를 이동하는 프레임에서는 확인되지 않습니다.

  • LACP/Etherchannel 팀 구성 모드가 사용되어, dvUplink 수와 관계없이 VTEP가 1개만 생성되는 경우를 제외하고, VXLAN이 사용하도록 설정된 DVS의 각 dvUplink에 대해 일치하는 VTEP가 있습니다.

    • 호스트를 나갈 때 DLR이 전송하는 트래픽(SRC MAC = vMAC)의 경우 SRC MAC가 해당 dvUplink의 pMAC로 변경됩니다.

    • 원래 VM의 소스 포트 또는 소스 MAC는 dvUplink를 확인하는 데 사용됩니다(DVS의 메타데이터에 있는 각 패킷에 대해 보존됨).

    • 호스트에 여러 VTEP가 있고 dvUplink 중 하나가 실패할 경우 실패한 dvUplink와 연결된 VTEP는 해당 VTEP에 고정된 모든 VM과 함께 남은 dvUplink 중 하나로 이동됩니다. 이 작업은 다른 VTEP로 VM을 이동할 때 발생하는 제어부 변경 내용이 너무 많아지지 않도록 하기 위해 수행됩니다.

  • 각 “dvUplinkX” 옆의 “()”에 있는 숫자는 dvPort 번호입니다. 개별 업링크의 패킷 캡처에 유용합니다.

  • 각 “dvUplinkX”에 대해 표시되는 MAC 주소는 해당 dvUplink와 연결된 “pMAC”입니다. 이 MAC 주소는 DLR에서 시작된 트래픽(예: DLR에서 생성된 ARP 쿼리 및 이러한 패킷이 ESXi 호스트를 나갈 때 DLR에서 라우팅한 모든 패킷)에 사용됩니다. 이 MAC 주소는 물리적 네트워크에서 볼 수 있습니다(DLR LIF가 VLAN 유형인 경우 직접 또는 VXLAN LIF의 경우 VXLAN 패킷 내부에서).

  • [Pkt Dropped], [Replaced], [Skipped]는 DLR의 내부 구현 세부 정보와 관련된 카운터를 나타내며, 일반적으로 문제 해결이나 모니터링에는 사용되지 않습니다.