vMotion失败,如果是网络或配置方面的问题,一般我们可以看到类似下面的报错:
- The vMotion migrations failed because the ESX hosts were not able to connect over the vMotion network.
- The ESX hosts failed to connect over the VMotion network
- vob.migrate.net.connect.failed.status.addrs
- Migration [mid] failed to connect to remote host <10.xx.xx.xx> from host <10.xx.xx.xx>: Host is down.
- Migration to hostHost_IP failed with error Connection closed by remote host, possibly due to timeout.
- Timed out waiting for migration data.
在排查和解决vMotion网络问题时,了解并掌握以下步骤可以大大提升问题解决的效率和准确性。如果遇到vMotion网络失败、连接问题或者需要诊断网络配置,建议通过本文的详细步骤进行逐项排查,确保VMkernel适配器和vMotion网络的设置正确无误。vMotion连接失败通常和网络连接、端口配置、驱动兼容性等因素有关,使用vmkping、nc命令及相关ESXi命令来验证网络连通性尤为关键。同时,保持网卡固件和驱动的兼容性对于避免vMotion网络问题也是至关重要的。
如果您在排查过程中遇到不明原因的网络故障、诊断vMotion命令无法执行,或在配置vmotion网络时遇到障碍,请参考我们提供的常见问题及其解决方案。vMotion诊断、网络配置以及vMotion网络设置不仅适用于一般故障排查,同时对于提升整体虚拟化环境的稳定性也非常有帮助。
1. 检查vMotion的vmk配置(VMkernel Port)
我们先确认vmk是配置了vMotion服务,路径为:
- vCenter选择ESXi主机 -> 配置 -> 网络 -> VMkernel适配器 -> vmk
再去确认vmk1是已经添加在一个虚拟交换机vSwitch上,路径为:
- vCenter选择ESXi主机 -> 配置 -> 网络 -> 虚拟交换机 -> vSwitch*
也可以通过命令行:esxcfg-vmknic -l和esxcfg-vswitch -l
以上显示正常的话,至少说明配置方面的问题可能性不大
2.排查vMotion网络(通过vmkping和nc 8000端口)
- 检查两个主机网络连通性,vmkping类似ping,-I表示选择本机的vmk1去ping
- 可以在源主机和目标主机之间互相vmkping
#vmkping -I vmk1 10.xx.xx.xx
- 检查对端8000端口是否开通,8000端口为vMotion专用端口
#nc -zv 10.xx.xx.xx 8000
- 检查ESXi防火墙是否有允许vmotion模块,是否有监听8000
#esxcli network firewall ruleset list | grep -i vmotion
#esxcli network ip connection list | grep 8000
- 最后检查migrate模块是否启用
#esxcli system module list | grep migrate
3. 确保网卡固件和驱动的兼容性
下面命令是查看vmnic0的固件和驱动的版本。
然后我们再去VMware官网的VCG兼容列表,搜索该网卡的型号,对比版本,确保网卡固件和驱动时兼容的
https://www.vmware.com/resources/compatibility/search.php
#esxcli network nic list
#esxcli network nic get -n vmnic0
总结来说,vMotion迁移过程中的网络问题多半可以通过检查VMkernel适配器配置、主机网络连通性、端口监听情况及网卡兼容性等方面来解决。确保vMotion的vmk配置正确,并且主机间的网络畅通无阻,能够显著减少迁移失败的情况。如遇疑难问题,也可参考更多vMotion诊断命令和日志,精确定位问题源。
以上动作都做完,基本可以排查到vMotion网络故障或者网络配置方面的问题,欢迎留言或者联系我们。