- 检查物理网卡状态:执行
esxcli network nic list
,确认网卡状态(Link Status)、速度(Speed)和双工模式(Duplex)正常。 - 验证虚拟交换机配置:使用
esxcli network vswitch standard list
检查虚拟交换机绑定的网卡、MTU及端口组配置。 - 检查VMkernel网络接口:运行
esxcli network ip interface list
,确认管理接口(如vmk0)的IP、子网掩码及活动状态。 - 测试网络连通性:通过
esxcli network diag ping -I vmk0 -H <目标IP>
测试指定接口到目标IP的连通性。 - 查看路由表:执行
esxcli network ip route ipv4 list
,验证默认网关及静态路由是否正确。 - 检查防火墙规则:使用
esxcli network firewall ruleset list
确保必要服务(SSH、vMotion等)的端口已放行。 - 排查DNS解析:运行
esxcli network ip dns server list
确认DNS服务器配置,通过esxcli network ip dns search list
检查搜索域。 - 收集日志:使用
esxcli system syslog logmark
标记时间点后,导出/var/log/vmkernel.log
分析网络错误事件。
如何在 ESXi 8.0 中使用 esxcli 进行网络故障排查?
在ESXi 8.0中使用esxcli进行网络故障排查时,建议遵循以下步骤:
-
物理网卡状态检查:
esxcli network nic list
确认网卡名称(如vmnic0)、链路状态(Link Status)、速率(Speed)是否正常。若状态为Down,需排查硬件或驱动问题。
-
虚拟交换机配置验证:
esxcli network vswitch standard list
检查标准交换机(vSwitch)绑定的上行链路、MTU及端口组配置。若使用分布式交换机(vDS),需通过vCenter执行排查。
-
VMkernel接口诊断:
esxcli network ip interface list
核对管理接口(如vmk0)的IP、子网掩码、网关及是否启用。若IP冲突或配置错误,可通过
esxcli network ip interface set
修复。 -
网络连通性测试:
vmkping -I vmk0 <目标IP>
通过VMkernel接口发起ICMP探测,判断是否因防火墙或路由导致通信中断。
-
路由表分析:
esxcli network ip route ipv4 list
确认默认网关(Default Gateway)是否指向正确设备,静态路由是否覆盖目标网络。
-
防火墙规则审查:
esxcli network firewall ruleset list
检查SSH、vMotion等关键服务的防火墙规则是否启用(Enabled: true)。
经验补充:
- 若遇间歇性丢包,可通过
esxtop
观察DRPTX%
/DRPRX%
(丢包率)指标。 - 使用
esxcli network nic down/up vmnicX
临时禁用/启用网卡以触发链路重置。 - 分布式端口组问题需结合
esxcli network vswitch dvs vmware list
及vCenter日志联合分析。
注意:所有变更操作前,建议通过esxcli system settings advanced list -o /Net/
备份网络相关高级参数。
更多回答
在ESXi 8.0中,使用esxcli进行网络故障排查需分步骤执行,并结合实际场景分析。以下是核心实践方法及挑战:
-
物理网卡状态检查
esxcli network nic list
查看vmnic状态,重点检查Link Status
和Speed
。曾遇到因驱动不兼容导致网卡频繁断开,需升级驱动或回退版本。 -
虚拟交换机配置验证
使用esxcli network vswitch standard list
检查标准交换机绑定策略和MTU。分布式交换机需用esxcli network vswitch dvs vmware list
,配置同步错误曾导致多主机流量异常。 -
VLAN与端口组排查
esxcli network vswitch standard portgroup list
验证VLAN ID,某次故障因误设VLAN为4095(保留值)导致虚拟机隔离。 -
防火墙规则影响
esxcli network firewall ruleset rule list
检查默认阻止策略,曾因vSphereClient
规则关闭导致vCenter失联。 -
路由与网关测试
esxcli network ip route ipv4 list
确认默认网关,结合vmkping -I vmkX 网关IP
验证三层可达性,物理交换机ACL拦截曾造成隐性丢包。
典型挑战案例:某生产环境vMotion流量间歇中断,通过esxcli network nic stats get -n vmnicX
发现CRC错误激增,最终定位为光纤模块与ESXi 8.0的QSA适配器兼容性问题,更换模块后恢复。
注:关键日志位于/var/log/vmkernel.log
,需结合grep -i 'drop'
过滤丢包事件。分布式交换机故障建议通过vCenter全局检查配置一致性。
为什么不考虑使用 vSphere Client 的图形界面来直观检查虚拟交换机的端口组配置或流量统计?
-
确认物理连接状态
- 执行
esxcli network nic list
查看网卡状态,确认物理链路(Link Status)是否为 "Up" - 检查vSwitch/端口组VLAN配置是否与物理交换机匹配
- 执行
-
验证网络配置
- 使用
esxcli network ip interface list
检查VMkernel接口IP/子网掩码/网关 - 执行
esxcli network vswitch standard list
查看vSwitch绑定关系与MTU设置
- 使用
-
测试基础连通性
vmkping -I vmkX <目标IP>
指定VMkernel接口测试路由esxcli network diag ping -H <目标IP> -s 1472
测试大包MTU兼容性
-
检查流量统计
esxcli network nic stats get -n vmnicX
查看物理网卡丢包/错误计数esxcli network vswitch standard portgroup stats get -p "端口组名"
监控端口组流量
-
诊断DNS问题
esxcli network ip dns search list
验证DNS后缀nslookup <目标域名>
测试域名解析
-
防火墙规则检查
esxcli network firewall ruleset list
确认所需服务(ssh、CIM等)规则已启用
-
重置网络配置
esxcli network ip interface set -e false -i vmkX; sleep 10; esxcli network ip interface set -e true -i vmkX
重启问题接口- 必要时通过DCUI执行管理网络重置
先检查物理网卡状态:esxcli network nic list
看有没有断开。接着用esxcli network vswitch standard list
查虚拟交换机配置,esxcli network vswitch standard portgroup list
看端口组绑的对不对。想测连通性的话用esxcli network diag ping
(比如 -H 网关IP
),查IP地址用esxcli network ip interface list
,DNS问题用esxcli network ip dns search list
。遇到玄学问题还可以抓包:esxcli network ip connection l
看当前连接。