本節中的步驟適用於當組態和執行階段狀態正常時,透過覆疊交換器對不同 Hypervisor 上虛擬機器之間的連線問題進行疑難排解。

如果虛擬機器位於相同的 Hypervisor 上,請移至疑難排解覆疊邏輯交換器的 ARP 問題

程序

  1. 在具有邏輯交換器的控制器上執行下列命令,以查看 CCP 是否有正確的 VTEP 清單:
    controller1> get logical-switch 5000 vtep
  2. 在每個 Hypervisor 上,執行下列 NSX CLI 命令以查看其是否有正確的 VTEP 清單:

    在 ESXi 上:

    host1> get logical-switch <logical-switch-UUID> tep-table

    或者,您可以執行下列 Shell 命令以取得 VTEP 資訊:

    [root@host1:~] net-vdl2 -M vtep -s vds -n VNI

    在 KVM 上:

    host1> get logical-switch <logical-switch-UUID or VNI> tep-table
  3. 檢查以查看 Hypervisor 上的 VTEP 是否可以互相執行 Ping 偵測。

    在 ESXi Shell 提示字元中:

    host1> ping ++netstack=vxlan <remote-VTEP-IP>

    在 KVM Shell 提示字元中:

    host1> ping <remote-VTEP-IP>

    如果 VTEP 無法互相執行 Ping 偵測,

    1. 請確定建立傳輸節點時指定的傳輸 VLAN 符合底層的預期。如果您使用底層中的存取連接埠,傳輸 VLAN 應設定為 0。如果您指定傳輸 VLAN,則 Hypervisor 連線到的底層交換器連接埠應設定為在主幹模式下接受此 VLAN。

    2. 檢查底層連線。

  4. 檢查 VTEP 之間的 BFD 工作階段是否已啟動。

    在 ESXi 上,執行 net-vdl2 -M bfd 並查看回應。例如,

    BFD count: 1
    ===========================
    Local IP: 192.168.48.35, Remote IP: 192.168.197.243, Local State: up, Remote State: up, Local
    Diag: No Diagnostic, Remote Diag: No Diagnostic, minRx: 1000000, isDisabled: 0

    在 KVM 上,找到遠端 IP 的 GENEVE 介面。

    ovs-vsctl list interface <GENEVE-interface-name>

    如果您不知道介面名稱,請執行 ovs-vsctl find Interface type=geneve 以傳回所有通道介面。尋找 BFD 資訊。

    如果找不到遠端 VTEP 的 GENEVE 介面,請檢查 nsx-agent 是否正在執行,並且 OVS 整合橋接器是否已連線到 nsx-agent。

    [root@host1 ~]# ovs-vsctl show
    96c9e543-fc68-448a-9882-6e161c313a5b
      Manager "tcp:127.0.0.1:6632"
        is_connected: true 
      Bridge nsx-managed
        Controller "tcp:127.0.0.1:6633"
          is_connected: true
        Controller "unix:ovs-l3d.mgmt"
          is_connected: true
        fail_mode: secure