问题描述
从一台主机迁移vm到另一台主机时,是motion迁移操作耗时较长,最终卡死,报超时失败;检查源主机上日志/var/log/hostd.log,未发现明显异常,检查目标主机/var/log/hostd.log,发现有类似如下报错:
error -1: Failed to launch virtual machine process. Unable to generate userworld swap file in directory ‘/vmfs/volumes/Volume ID /VM’ for ‘VM’.
分析
当在虚拟机存放目录中存在的两个vmx交换文件时,执行vmotion时会报错上述错误;一般情况情况下,vm目录应该包含一个standard ESXi vswp 文件 (vmname.vswp) 和一个VMX-swap 文件 (vmx-vmname.vswp) ;
处理
1、尝试对vm进行只存储更改迁移操作然后再尝试迁移主机,如果操作失败,继续下面步骤;
2、如存储无法迁移,请检查报错的vm目录下是否存在2个vmx-swap文件;
3、如果存在2个,请将虚拟机关闭电源,这时vmx-swap文件将会自动删除;
4、登录到vm所在Esxi主机,执行:ls -lah,确认是否存在一个swap file;
5、如看到一个vmx交换文件,可通过执行以下命令将该文件移至备份位置:
mv vmx-vmname.vswp /vmfs/volumes/backup_location
6、将vm开机后,再次尝试迁移操作,迁移成功后,上述备份swap文件即可删除。