1. 课程导入与实验环境搭建

《vSphere虚拟网络与数据中心集成》这门课程要解决的核心问题,是把"虚拟交换机里的网络"和"物理机房里的网络"当成一张网来设计和运维。很多工程师在 vSphere 里能熟练创建端口组、能配 VLAN ID,但一旦遇到跨主机迁移丢包、上行链路带宽争抢、物理交换机与分布式交换机 VLAN 不一致等问题,就难以定位。原因往往不是命令不熟,而是缺少一张从虚拟机网卡到物理核心交换机的完整链路视图。本课程的目标,就是建立这张视图,并把它落到可操作的配置与排障能力上。

学习目标与核心概念

学完本课程,你应当能够独立完成四类任务:第一,根据业务需求规划 vSphere 标准交换机(vSS)与分布式交换机(vDS)的选型与拓扑;第二,配置 VLAN、上行链路、链路聚合与故障切换策略,并解释每个参数对流量路径的影响;第三,把 vSphere 网络与物理交换机的 VLAN、Trunk、STP、链路聚合对接起来;第四,用真实可观察的指标(如 vmkping、esxcli network nic stats、端口组流量计数)判断配置是否生效。

需要先厘清几个贯穿全课的概念。虚拟交换机是运行在 ESXi 内核中的二层转发实体,它不参与 STP,也不学习 MAC 地址表,转发依赖端口组与上行链路的绑定关系。端口组是策略容器,VLAN ID、安全策略、流量整形都挂在端口组上,虚拟机网卡接入端口组即继承这些策略。上行链路(Uplink)是虚拟交换机通往物理交换机的出口,通常以 vmnic 命名,如 vmnic0、vmnic1。分布式交换机把端口组和上行链路的管理面集中到 vCenter,使多台 ESXi 主机共享同一套网络策略,这也是数据中心集成中"一致性"的关键。

理解顺序建议:先分清"数据面在 ESXi、控制面在 vCenter"这一分工,再去看具体参数。vDS 的策略由 vCenter 下发,但实际转发始终发生在每台主机的 ESXi 内核里,所以 vCenter 断连时既有网络通常仍可继续转发。

整体架构:从虚拟机网卡到物理核心

下面这张图给出本节最需要建立的链路视图。它把一台虚拟机的流量路径自左向右展开:虚拟机 vNIC 接入端口组,端口组绑定到虚拟交换机,虚拟交换机通过一组上行链路汇聚到物理交换机,最终进入物理网络。图中同时标出了 VLAN 标签在哪些位置被识别、哪些位置被剥离,这是后续排障时判断"标签在哪一段丢失"的依据。

虚拟机流量路径与 VLAN 标签处理位置 虚拟机 vNIC (00:50:56:..) 发出未打标签帧 由端口组决定 VLAN 端口组 Port Group VLAN ID = 110 安全策略 / 流量整形 故障切换策略 虚拟交换机 vSS / vDS 内核二层转发 不参与 STP 按端口组打 VLAN 标签 上行链路 vmnic0 vmnic1 物理交换机 Trunk 口 允许 VLAN 110,120,200 VLAN 标签处理节点 端口组处打标签(Access 语义) 上行链路以 802.1Q 携带标签 物理 Trunk 口按允许列表放行 控制面与数据面分工 vCenter:集中定义 vDS 端口组、上行链路、策略,下发到各主机 ESXi 内核:实际执行二层转发与 VLAN 封装,vCenter 断连时既有流量仍可转发

图中有一个容易被忽略的细节:VLAN 标签是在虚拟交换机内部、由端口组配置决定的,而不是由虚拟机自己打的。这意味着如果虚拟机内部再打一层 VLAN(Guest VLAN Tagging),就会出现 QinQ 式的双层标签,物理 Trunk 口必须允许外层标签,否则流量被丢弃。这是数据中心集成中非常典型的对接故障点。

实验环境搭建

本课程实验建议采用"1 台 vCenter + 2 台 ESXi + 1 台物理交换机"的最小可用拓扑。若使用嵌套虚拟化,ESXi 主机本身运行在虚拟机中,需在宿主层开启混杂模式与伪传输,否则上行链路无法正常收发带标签帧。以下参数为教学示例,可按实际环境调整。

组件示例地址 / 标识说明
vCenter Servervcsa.lab.local / 192.168.10.20管理 vDS 与集群
ESXi-01192.168.10.31vmnic0 上行,管理 vmk0
ESXi-02192.168.10.32vmnic0 上行,管理 vmk0
物理交换机Gi0/1、Gi0/2 为 Trunk允许 VLAN 110、120、200
业务 VLAN110 生产 / 120 测试 / 200 存储端口组按此划分

部署顺序建议如下。先在物理交换机上创建 VLAN 110、120、200,并把连接 ESXi 的两个端口配成 Trunk,允许这三个 VLAN 通过,同时把这两个口划入同一个链路聚合组(若采用 LACP)。然后在 ESXi 上配置管理网络:为 vmk0 指定管理 VLAN 与地址,确认能从 vCenter 侧 ping 通。接着创建 vDS,把两台 ESXi 主机加入,添加上行链路并绑定 vmnic0,再创建三个分布式端口组分别对应 VLAN 110、120、200。最后创建测试虚拟机,分别接入不同端口组,用 vmkping 与跨主机 ping 验证连通性。

# 在 ESXi 上查看物理网卡与链路状态
esxcli network nic list
esxcli network nic stats get -n vmnic0

# 查看虚拟交换机与端口组
esxcli network vswitch standard list
esxcli network vswitch dvs vmware list

# 从 vmkernel 接口测试到网关的连通性(指定源接口)
vmkping -I vmk0 192.168.10.1 -c 4

# 查看端口组流量计数,确认是否有收发
esxcli network port stats get -p <port-id>

验证时不要只看"能 ping 通"。更可靠的判断依据是:esxcli network nic stats get -n vmnic0 的 RX/TX 包计数在测试期间是否增长;分布式端口组的流量计数是否与虚拟机实际收发量匹配;物理交换机对应 Trunk 口的 VLAN 允许列表是否与端口组 VLAN 一致。若虚拟机之间同主机可通、跨主机不通,优先检查上行链路绑定与物理 Trunk 的 VLAN 放行,而不是先怀疑虚拟机配置。

常见误区:把管理网络和业务网络混在同一个上行链路上却不做流量分离,实验阶段可能看不出问题,但一旦做 vMotion 或存储流量,就会出现带宽争抢与延迟抖动。建议至少在实验环境中为管理、vMotion、存储、业务分别规划 VLAN 与端口组,即使物理上暂时共用上行链路。

完成本节环境后,你应当拥有一张可复用的拓扑记录:每台 ESXi 的上行链路编号、每个端口组的 VLAN ID、物理交换机端口的 Trunk 允许列表。这张记录是后续所有章节排障的基准,也是把虚拟网络与数据中心真正"集成"起来的起点。