ESXi 7.0安装完成,管理界面能登上去,只是虚拟化旅程的起点。很多人误以为网络配置就是填个IP地址完事,结果在后续部署虚拟机、迁移工作负载时,性能瓶颈、连接中断的问题接踵而至。一套未经优化的网络配置,就像在高速公路上设置了不必要的收费站和单行道,虚拟机的数据包只能在里面缓慢爬行。
优化的第一步,必须回到硬件层面。登录ESXi主机后台,用esxcli network nic list命令仔细核对一下物理网卡(vmnic)的驱动状态和链路速度。ESXi 7.0对某些老旧的网卡驱动进行了剔除,如果发现某块网卡显示为“未知”或速度协商不正常,别犹豫,去VMware兼容性指南网站查一下,必要时更新驱动或更换网卡。这步没做对,后面的所有优化都是空中楼阁。
确认硬件无误后,就该规划虚拟交换机(vSwitch)了。很多管理员习惯把所有流量——管理、vMotion、虚拟机、存储——都扔到一个默认的vSwitch0上,这是性能和安全的大忌。理想的做法,是根据网络功能进行物理隔离。至少,你应该为管理流量和vMotion流量创建独立的虚拟交换机,并绑定到不同的物理网卡上。如果条件允许,为iSCSI或NFS存储网络再划分一个专属的vSwitch和物理上行链路。这样做,不仅能避免流量拥塞,还能在一条物理链路故障时,确保关键功能(如管理)不受影响。
如果你的网络环境中涉及vMotion或IP存储(比如iSCSI、NFS),调整MTU(最大传输单元)是提升吞吐量的关键一招。标准以太网帧是1500字节,而启用巨型帧(Jumbo Frames)通常意味着将MTU设置为9000。这相当于把货物从小货车换成了大卡车,一次能运送的数据量大大增加,从而减少数据包数量、降低CPU开销。
设置时务必小心:这是一个端到端的配置。你不仅需要在ESXi的虚拟交换机端口组上设置MTU=9000,与之相连的物理交换机端口、对端的存储设备或另一台ESXi主机,都必须配置相同的巨型帧值。任何一个环节不匹配,都会导致数据包被分片,性能反而可能下降。在vSphere Client中,你可以在虚拟交换机的“属性”里找到并修改MTU值。
当多条物理网卡绑定到一个vSwitch时,负载均衡策略的选择直接决定了网络流量的分布效率。默认的“基于源虚拟端口的路由”对于大多数场景已经足够,但它可能无法充分利用所有上行链路。你可以进入vSwitch的“成组和故障切换”设置,根据需求调整。
比如,如果虚拟机需要极高的吞吐量(如数据库服务器),可以考虑使用“基于IP哈希的路由”。但这要求物理交换机必须配置为静态以太通道(Static EtherChannel),复杂度较高。另一个常被忽略的选项是“明确故障切换顺序”,你可以手动指定某些流量(如管理流量)只走某条“活跃”链路,而将其他链路设为“备用”,这为关键流量提供了更确定的路径。
对于vMotion网络,流量整形(Traffic Shaping)能派上用场。你可以为vMotion端口组设置平均带宽峰值和突发大小,防止一次大规模的vMotion操作吞噬所有网络带宽,进而影响正在运行的虚拟机业务。这个策略的本质,是在资源复用和性能保障之间取得平衡。
优化不只是为了快,也为了稳和安全。检查一下虚拟交换机的安全策略吧。“混杂模式”默认是拒绝的,这很好,除非你有特定的监控需求。“MAC地址更改”和“伪传输”也建议保持“拒绝”状态,这些都是防止虚拟机欺骗网络身份的重要防线。
最后,别忘了网络IO控制(Network I/O Control)。在ESXi 7.0中,NIOC从vSphere Distributed Switch(VDS)下放到了标准vSwitch。它允许你根据份额、预留和上限来划分网络带宽,确保当网络争用时,高优先级的系统流量(如管理、vMotion)或关键业务虚拟机,能获得它们所需的带宽。这个功能,是防止“吵闹的邻居”影响整个环境的最后一道保险。
网络配置从来不是一劳永逸的事情。随着虚拟机的增删、业务需求的变化,定期回顾并调整这些设置,才能让ESXi 7.0主机的网络始终保持在最佳状态。毕竟,一个流畅、可靠的虚拟网络,是所有上层应用服务能够稳定运行的无声基石。
参与讨论
vMotion的流量整形具体怎么配置?有什么推荐的带宽值吗?
挺好的,网卡驱动检查别忘了。
前几天我也遇到网卡显示未知,换了兼容的型号后性能立马提升。
默认全放vSwitch0真是把流量塞进单车道,太逗了。
我在配置巨型帧时发现,交换机端口必须同步改成9000,否则会出现分片丢包。有人遇到过这种情况吗?如果还有更简便的验证方法,求分享 🙏