1. 跨数据中心互联工程全景
当企业把业务从单一机房扩展到同城双活、两地三中心,甚至多地多活时,最先撞上的不是服务器性能,而是二层网络的边界。传统数据中心内部依靠 VLAN 划分租户与业务网段,VLAN 只有 12 位标识,理论上限 4094 个,且生成树协议在大规模组网中收敛慢、链路利用率低。VXLAN 用 24 位 VNI 把可标识的网段数量提升到约 1600 万,并把二层帧封装进 UDP 报文,让二层语义可以跨越三层 IP 网络传输。这一特性使它天然成为数据中心互联(DCI,Data Center Interconnect)场景中的关键承载技术。
VXLAN 在 DCI 中的定位
要理解 VXLAN 在 DCI 中的位置,需要先区分两个层次:数据中心内部与数据中心之间。在单个数据中心内,VXLAN 通常由 Leaf-Spine 架构中的 VTEP(VXLAN Tunnel End Point)负责封装与解封装,Leaf 交换机作为 VTEP,把接入服务器的原始以太帧加上 VXLAN 头、UDP 头、外层 IP 头后,通过 Spine 转发到对端 Leaf。此时 VXLAN 解决的是“同一数据中心内大二层与多租户隔离”的问题。
当业务需要跨数据中心时,VXLAN 的角色发生变化:它不再只是接入侧的封装协议,而是成为DCI 承载层与被承载业务之间的适配层。两个数据中心的 VTEP 之间需要建立 VXLAN 隧道,隧道的外层 IP 由 DCI 底层网络(通常是 DWDM 波分、OTN 或三层 IP/MPLS 骨干)提供可达性。也就是说,DCI 底层负责“把包从 A 机房送到 B 机房”,VXLAN 负责“让 A 机房的二层网段在 B 机房看起来仍然存在”。
业务驱动:为什么需要跨数据中心二层互联
跨数据中心互联的驱动力通常来自以下几类业务需求:
- 虚拟机迁移与资源调度:同城双活场景中,虚拟机需要在两个数据中心之间在线迁移,迁移过程要求源和目的主机处于同一二层网段,否则迁移后 IP 地址变更会中断业务。
- 双活与灾备:数据库主备、负载均衡集群、心跳网络等往往要求跨站点二层可达,才能实现 VIP 漂移、ARP 同步和会话保持。
- 多租户统一编排:云平台希望在不同数据中心使用统一的 VNI 和网段规划,避免每个机房独立规划 VLAN 导致租户网络无法拉通。
- 业务灰度与容灾切换:部分业务需要把流量按比例分发到两个数据中心,二层互通是负载均衡和 DNS 调度之外的重要补充手段。
这些需求共同指向一个工程目标:在保持三层网络稳定性的同时,按需提供受控的二层延伸。VXLAN 通过 VNI 把不同租户、不同业务的二层域隔离开,避免跨站点广播域无限扩大。
典型拓扑:从单中心到跨中心
一个典型的跨数据中心 VXLAN 拓扑可以这样组织:每个数据中心内部采用 Leaf-Spine 架构,Leaf 作为 VTEP;两个数据中心的 Leaf 之间通过 DCI 边界设备(Border Leaf 或 DCI 网关)建立 VXLAN 隧道。隧道外层 IP 走 DCI 底层网络,底层网络可以是三层 IP 骨干,也可以是 OTN 提供的透明二层通道。
下面这张图展示了一个双数据中心 VXLAN 互联的典型拓扑,重点标出了 VTEP、VNI、DCI 边界与底层承载之间的关系。
图中可以看到,两个数据中心内部各自有独立的 Spine-Leaf 结构,Leaf 作为 VTEP 承载 VNI 10010 和 10020 两个租户网段。跨中心通信时,Border Leaf 作为 DCI 边界 VTEP,把本地 VXLAN 流量重新封装后送入 DCI 底层网络,对端 Border Leaf 解封装后再送入本地 VXLAN 域。VNI 在两个数据中心保持一致,才能让同一租户的二层域真正拉通。
工程生命周期:从规划到运维
跨数据中心 VXLAN 互联不是一次性配置,而是一个有明确阶段的生命周期。工程上通常按以下阶段推进:
- 需求与范围界定:明确哪些 VNI 需要跨中心延伸、哪些只在本中心内使用。并非所有网段都适合跨中心,广播域过大会带来未知单播泛洪和 MAC 表膨胀。
- 地址与 VNI 规划:统一规划 VTEP 的 Loopback 地址、VNI 与二层网段的映射关系、租户与 VNI 的对应表。示例中 VNI 10010 对应 10.1.1.0/24,VNI 10020 对应 10.1.2.0/24,两个中心保持一致。
- 底层网络准备:确认 DCI 底层网络能提供 VTEP 之间的 IP 可达性,并评估带宽、时延、丢包和冗余路径。VXLAN 封装会增加约 50 字节开销,MTU 需要相应调整。
- VTEP 与隧道配置:在 Border Leaf 上配置 VXLAN 隧道接口、VNI 映射、远端 VTEP 地址。以华为设备为例,关键配置片段如下:
interface Nve1
source 10.0.0.1
vni 10010 head-end peer-list 10.0.0.2
vni 10020 head-end peer-list 10.0.0.2
其中 source 是本端 VTEP 的 Loopback 地址,peer-list 是对端 VTEP 地址。两端配置完成后,可以用 display vxlan vni 查看 VNI 状态,用 display nve peer 确认隧道是否建立。
- 业务验证:在两端 VM 之间执行 ping 和 traceroute,确认二层互通;同时检查 MAC 地址表是否学习到对端 MAC,VXLAN 隧道计数是否增长。
- 运维与优化:持续监控隧道状态、VNI 流量、底层链路时延和丢包。当跨中心流量增长时,评估是否需要引入 EVPN 控制平面替代泛洪学习,或调整 DCI 底层带宽。
关键参数与判断依据
在工程实施中,以下几个参数和判断点值得重点关注:
| 关注项 | 典型值/示例 | 判断依据 |
|---|---|---|
| VNI 范围 | 10010、10020 | 两端必须一致,否则二层域无法拉通 |
| VTEP 源地址 | 10.0.0.1 / 10.0.0.2 | 底层网络必须可达,且不能冲突 |
| MTU | 底层 ≥ 1550 | VXLAN 封装增加约 50 字节,避免分片 |
| 隧道状态 | Up / Down | display nve peer 查看,Down 时检查底层路由 |
| MAC 学习 | 动态学习对端 MAC | display mac-address 确认是否学到 |
| 时延 | 同城 < 5ms | 影响虚拟机迁移和数据库同步体验 |
这张表可以作为工程初期的检查清单。需要强调的是,表中数值是示例参考,实际项目中应根据业务 SLA 和底层网络能力确定。
小结与工程视角
VXLAN 在 DCI 中的价值,不在于它比传统二层互联“更高级”,而在于它用 VNI 和 UDP 封装把二层延伸变成了可控、可隔离、可叠加在 IP 网络之上的工程手段。理解它的定位,需要同时看到三层:业务层需要跨中心二层互通,VXLAN 层负责封装与隔离,DCI 底层负责实际传输。三者缺一不可。
从工程生命周期看,跨数据中心 VXLAN 互联的成败往往在规划阶段就已决定:VNI 是否统一、VTEP 地址是否可达、MTU 是否足够、时延是否可接受。把这些前置条件确认清楚,后续的配置和验证才有意义。对于刚开始接触 DCI 的工程师,建议先在一个小规模双中心环境中完成 VNI 10010 的拉通验证,再逐步扩展到多 VNI、多租户场景。