NSX 逻辑交换机可在完全脱离底层硬件的虚拟环境中再现交换功能(单播、多播和广播)。逻辑交换机在提供可连接虚拟机的网络连接方式上类似于 VLAN。如果将这些虚拟机连接到同一逻辑交换机,它们就可以通过 VXLAN 相互通信。每个逻辑交换机都有一个类似 VLAN ID 的分段 ID。但与 VLAN ID 不同的是,分段 ID 的数量可能多达 1600 万个。

关于此任务

添加逻辑交换机时,务必记住您正在构建的特定拓扑。例如,以下简单拓扑显示了两个连接到一个分布式逻辑路由器 (DLR) 的逻辑交换机。在此图中,每个逻辑交换机都连接到一个虚拟机。两个虚拟机可以位于不同主机群集或同一主机群集中的不同主机或同一主机上。如果 DLR 未将这些虚拟机分离开来,则虚拟机上配置的底层 IP 地址可能位于同一子网中。如果 DLR 将这些虚拟机分离开来,则虚拟机上的 IP 地址必须位于不同子网中(如示例中所示)。

在创建逻辑交换机时,除了选择传输区域和复制模式以外,您还会配置两个选项:IP 发现和 MAC 发现。

IP 发现最大限度减少各个 VXLAN 分段中(即,连接到同一逻辑交换机的虚拟机之间)的 ARP 流量泛洪。默认情况下,将启用 IP 发现。

MAC 发现在每个 vNIC 上构建一个 VLAN/MAC 对发现表。此表会作为 dvfilter 数据的一部分进行保存。在进行 vMotion 的过程中,dvfilter 会在新位置保存并存储该表。然后,交换机会针对表中的所有 VLAN/MAC 条目发出 RARP。如果您的虚拟机具有多个 MAC 地址或使用中继 VLAN 的虚拟网卡,您可能希望启用 MAC 发现。

先决条件

  • 必须配置 vSphere Distributed Switch。

  • 必须安装 NSX Manager。

  • 必须部署控制器。

  • 必须为 NSX 准备主机群集。

  • 必须配置 VXLAN。

  • 必须配置分段 ID 池。

  • 必须创建传输区域。

过程

  1. 登录到 vSphere Web Client。
  2. 导航到主页 > 网络和安全 > 逻辑交换机 (Home > Networking & Security > Logical Switches)
  3. 单击新建逻辑交换机 (New Logical Switch) (新建逻辑交换机)
  4. 键入逻辑交换机的名称和可选描述。
  5. 选择要在其中创建逻辑交换机的传输区域。

    默认情况下,逻辑交换机从传输区域继承控制层面复制模式。

  6. (可选) 覆盖传输区域确定的复制模式。

    您可以将其更改为其他可用模式之一。可用模式包括单播、混合和多播。

    所创建的逻辑交换机在其将承载的 BUM 流量方面具有明显不同的特点时,您可能希望替代单个逻辑交换机所继承传输区域的控制层面复制模式。在这种情况下,您可以创建一个以单播模式使用的传输区域,并对此单个逻辑交换机使用混合或多播模式。

  7. (可选)单击启用 IP 发现 (Enable IP Discovery)以启用 ARP 禁止功能。
  8. (可选)单击启用 MAC 发现 (Enable MAC learning)
  9. 选择逻辑交换机并单击添加虚拟机 (Add Virtual Machine) (添加虚拟机) 以将虚拟机连接到该交换机。
  10. 选择一个或多个虚拟机,然后单击向右箭头按钮 ()()

    虚拟机将从“可用对象”移到“选定对象”中。

  11. 单击下一步 (Next),然后为每个虚拟机选择一个 vNIC。单击完成 (Finish)

结果

您创建的每个逻辑交换机都将从分段 ID 池收到一个 ID,且将创建一个虚拟线路。虚拟线路是在每个 vSphere Distributed Switch 上创建的 dvPortgroup。虚拟线路描述符包含逻辑交换机的名称和分段 ID。分配的分段 ID 将显示在多个位置,如以下示例中所示。

主页 > 网络和安全 > 逻辑交换机 (Home > Networking & Security > Logical Switches)中:

主页 > 网络 (Home > Networking)中:

请注意,在两个 vSphere Distributed Switch(Compute_VDS 和 Mgmt_VDS)上都会创建虚拟线路。这是因为这两个 vSphere Distributed Switch 都是与 Web 和应用程序逻辑交换机关联的传输区域的成员。

主页 > 主机和群集 > 虚拟机 > 摘要 (Home > Hosts and Clusters > VM > Summary)中:

在运行连接到逻辑交换机的虚拟机的主机上,进行登录并执行以下命令,以查看逻辑 VXLAN 配置和状态信息。

  • 显示主机特定的 VXLAN 详细信息。

    ~ # esxcli network vswitch dvs vmware vxlan list
    VDS ID                                           VDS Name      MTU  Segment ID     Gateway IP     Gateway MAC        Network Count  Vmknic Count
    -----------------------------------------------  -----------  ----  -------------  -------------  -----------------  -------------  ------------
    88 eb 0e 50 96 af 1d f1-36 fe c1 ef a1 51 51 49  Compute_VDS  1600  192.168.250.0  192.168.250.1  ff:ff:ff:ff:ff:ff              0             1
    
    注:

    如果 esxcli network vswitch dvs vmware vxlan 命令生成“未知命令或命名空间 (Unknown command or namespace)”错误消息,请在主机上运行 /etc/init.d/hostd restart 命令,然后重试。

    “VDS 名称”显示主机连接到的 vSphere Distributed Switch。

    “分段 ID”是 VXLAN 使用的 IP 网络。

    “网关 IP”是 VXLAN 使用的网关 IP 地址。

    网关 MAC 地址保持为 ff:ff:ff:ff:ff:ff。

    “网络计数”保持为 0,除非 DLR 连接到逻辑交换机。

    Vmknic 计数应与连接到逻辑交换机的虚拟机数相匹配。

  • 测试 IP VTEP 接口连接,并确认 MTU 已增加,可支持 VXLAN 封装。Ping vmknic 接口 IP 地址,该地址可在 vCenter Web Client 中主机的管理 > 网络 > 虚拟交换机 (Manage > Networking > Virtual switches)页面上找到。

    -d 标记用于设置 IPv4 数据包上的不分段 (DF) 位。-s 标记用于设置数据包大小。

    root@esxcomp-02a ~ # vmkping ++netstack=vxlan -d -s 1570 192.168.250.100
    PING 192.168.250.100 (192.168.250.100): 1570 data bytes
    1578 bytes from 192.168.250.100: icmp_seq=0 ttl=64 time=1.294 ms
    1578 bytes from 192.168.250.100: icmp_seq=1 ttl=64 time=0.686 ms
    1578 bytes from 192.168.250.100: icmp_seq=2 ttl=64 time=0.758 ms
    
    --- 192.168.250.100 ping statistics ---
    3 packets transmitted, 3 packets received, 0% packet loss
    round-trip min/avg/max = 0.686/0.913/1.294 ms
    ~ #
    
    root@esxcomp-01a ~ # vmkping ++netstack=vxlan -d -s 1570 192.168.250.101
    PING 192.168.250.101 (192.168.250.101): 1570 data bytes
    1578 bytes from 192.168.250.101: icmp_seq=0 ttl=64 time=0.065 ms
    1578 bytes from 192.168.250.101: icmp_seq=1 ttl=64 time=0.118 ms
    
    --- 192.168.250.101 ping statistics ---
    2 packets transmitted, 2 packets received, 0% packet loss
    round-trip min/avg/max = 0.065/0.091/0.118 ms
    
    

下一步做什么

创建一个逻辑(分布式)路由器并将其连接到逻辑交换机,以启用连接到不同逻辑交换机的虚拟机之间的连接。