0x01 前言

部署使用 NSX-T 后,在 VMware、OpenStack 环境中,或使用支持 VXLAN 的交换机和在裸金属服务器中安装 Agent,数据的交换基本在 Overlay 中完成。相比传统的 VLAN 网络,极大减少网络运维人员的工作,所有操作均可以在 NSX-T 中完成。

但在某些情况下需要向 VM 透传 VLAN,在我的环境中使用 vCloud 向一般运维人员提供统一的控制面板,所以要在其中导入对应的 Segment,避免通过 vCenter 进行直接操作。

0x02 基本逻辑

本文中的需求情况和另一种情况很类似:NSX-T Edge 通过 VLAN TZ 向 Underlay 进行交互,可以提供南北向防火墙、DHCP、NAT 或 QOS 等功能。这种情况的处理方式和本文类似,VLAN TZ 要在 Edge Cluster Profile 中添加,还要在 Transport Node Profile 中添加。

首先是流量逻辑,如下图:

对于本文中提及的情况,从上图可以看到流量没有经过 Edge,而是经 Segment 直接为 VM 提供接入。结合 NSX-T 的架构,有2种配置方式:

  1. 如果需要实现 VLAN 透传的集群已经有 VLAN TZ,则可以复用
  2. 如果需要实现 VLAN 透传的集群没有 VLAN TZ,或者不想复用现有的,则需要新建

没有 VLAN TZ 的集群在 VMWare 实际应用中还是挺常见的,因为存储流量可以从 NSX-T 中剥离。比如使用 FC 通道的独立存储,或独立为 vSAN 配置独立端口,从而实现存储流量和业务流量相分离。此时则需要逐一调整上图中的所有节点。

如果目标集群上有 Edge,因为需要和 Underlay 交换路由,所以肯定有 VLAN TZ,此时可以复用。只需要新建一个 Segment,并将其挂在该 VLAN TZ 下即可。

0x03 调整

0x03.1 NSX-T

这里以新建 VLAN TZ 及 Segment 为讲解要点,首先在 NSX-T 中创建 TZ:

接着创建 Segment:

最后到对应的 Profile 中将其加入其中:

至此,完成 NSX-T 的配置。如果一切正常,可以在 vCenter 中找到该 Segment:

0x03.2 vCloud

到对应的 OVDC 中添加 Network,选择 Imported – NSX-T Logical switch:

单击 Next 后,选择目标 Segment:

在后面的信息中,请根据实际情况填写。在我的环境中,IP 信息有其他设备管理,所以在 General 标签中的网关信息我习惯使用保留地址,或 7.0.0.0/16 中的子网,比如 /30。其余信息,如 Static IP Pools 和 DNS,可以留空。完成导入后即可在 VM 中添加:

至此,完成全部配置工作。

0x03 结语

这种情况在全虚拟的环境中比较少遇到,倒是通过 NSX-T Edge 向 Underlay 的裸金属服务器提供服务时会使用多点,这是因为业务特点,无法在裸金属服务器中部署 Agent,也没有支持 VXLAN 的交换机所导致的结果。