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 主机共享同一套网络策略,这也是数据中心集成中"一致性"的关键。
整体架构:从虚拟机网卡到物理核心
下面这张图给出本节最需要建立的链路视图。它把一台虚拟机的流量路径自左向右展开:虚拟机 vNIC 接入端口组,端口组绑定到虚拟交换机,虚拟交换机通过一组上行链路汇聚到物理交换机,最终进入物理网络。图中同时标出了 VLAN 标签在哪些位置被识别、哪些位置被剥离,这是后续排障时判断"标签在哪一段丢失"的依据。
图中有一个容易被忽略的细节:VLAN 标签是在虚拟交换机内部、由端口组配置决定的,而不是由虚拟机自己打的。这意味着如果虚拟机内部再打一层 VLAN(Guest VLAN Tagging),就会出现 QinQ 式的双层标签,物理 Trunk 口必须允许外层标签,否则流量被丢弃。这是数据中心集成中非常典型的对接故障点。
实验环境搭建
本课程实验建议采用"1 台 vCenter + 2 台 ESXi + 1 台物理交换机"的最小可用拓扑。若使用嵌套虚拟化,ESXi 主机本身运行在虚拟机中,需在宿主层开启混杂模式与伪传输,否则上行链路无法正常收发带标签帧。以下参数为教学示例,可按实际环境调整。
| 组件 | 示例地址 / 标识 | 说明 |
|---|---|---|
| vCenter Server | vcsa.lab.local / 192.168.10.20 | 管理 vDS 与集群 |
| ESXi-01 | 192.168.10.31 | vmnic0 上行,管理 vmk0 |
| ESXi-02 | 192.168.10.32 | vmnic0 上行,管理 vmk0 |
| 物理交换机 | Gi0/1、Gi0/2 为 Trunk | 允许 VLAN 110、120、200 |
| 业务 VLAN | 110 生产 / 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 放行,而不是先怀疑虚拟机配置。
完成本节环境后,你应当拥有一张可复用的拓扑记录:每台 ESXi 的上行链路编号、每个端口组的 VLAN ID、物理交换机端口的 Trunk 允许列表。这张记录是后续所有章节排障的基准,也是把虚拟网络与数据中心真正"集成"起来的起点。