标准虚拟交换机是什么
vSwitch 是 ESXi 主机内部的二层交换组件,把虚机网卡、vmkernel 接口与物理上行链路(vmnic)连接起来,并通过端口组划分网络归属。交换由宿主 CPU 完成,可配置的策略包括安全(混杂模式、伪传输、MAC 地址更改)、流量整形与故障切换。上行链路是否冗余,直接决定物理网卡故障时还有没有通路。
基本信息
| 组成 | vSwitch + 上行链路 vmnic + 端口组 |
|---|---|
| 安全策略 | 混杂模式、伪传输、MAC 地址更改 |
| 流控与整形 | 流量整形限速、故障切换与负载均衡策略 |
| 负载均衡 | 基于源端口 ID、IP 哈希或源 MAC 哈希等 |
| MTU | 可配 9000 承载巨帧,需端到端一致才有效 |
典型使用场景
- 为虚机划分不同端口组,隔离业务、存储与管理流量
- 给管理流量单独配置上行链路,避免与业务相互挤占
- 配置上行链路冗余,物理网卡或交换机故障时保持连通
- 为存储网络启用巨帧以提升吞吐
- 排查虚机网络异常时核对端口组与上行链路绑定关系
查看标准交换机配置(主机内)
查看标准交换机配置(主机内)
esxcli network vswitch standard list # 交换机与上行链路
esxcli network vswitch standard portgroup list # 端口组与 VLAN
esxcli network nic list # 物理网卡与链路状态
esxcli network vswitch standard uplink add --uplink-name=vmnic2 --vswitch-name=vSwitch0 # 增加上行链路
esxcli network ip interface list # vmkernel 接口与所在端口组配置项与常见问题
| 配置项 | 作用 | 常见问题 |
|---|---|---|
| 端口组 | 给虚机或 vmkernel 划分网络归属 | 业务与管理放在同一端口组,互相挤占 |
| 上行链路 | 连接物理网络 | 只有一条上行链路,物理故障即断网 |
| 安全策略 | 控制混杂模式、伪传输与 MAC 更改 | 为图省事长期开启混杂模式,破坏二层隔离 |
| 流量整形 | 限制出口带宽 | 整形参数设置过紧,业务突发被丢弃 |
| MTU | 控制单帧大小 | 宿主机设了巨帧而交换机没有,出现丢包 |
| 负载均衡 | 多上行链路的分流方式 | 策略与交换机侧配置不匹配,出现非对称流量 |
巨帧必须端到端一致:宿主、虚拟交换机、物理交换机与对端设备都要配置相同 MTU,任何一跳不一致都会表现为丢包或性能下降,比不用巨帧更糟。
标准交换机是主机级配置,每台主机各自维护:主机数量多时容易配置漂移,需要靠脚本或分布式交换机统一,变更前先导出各主机配置做比对。