背景:
用户正常关闭虚拟机开机后提示x.vmx 文件丢失无法启动虚拟机,打开数据存储浏览虚拟机文件夹发现仅有xxx-flat.vmdk文件其他文件都丢失,虚拟机清单删除虚拟机加载xxx-flat.vmdk 发现无法识别 vmdk 文件。
解决方案:
1)esx开启ssh 服务,登录到虚拟机
2)修复VMDK 文件
步骤如下:
cd /vmfs/volumes/datastore/XX XX 表示无法启动虚拟机文件夹
ls -la ## 查看虚拟机##文件大小
默认显示:XX-flat.vmdk
重新命名为temp:mv XX-flat.vmdk temp_XX-flat.vmdk
查看Xx-flat 文件大小
[root@localhost:/vmfs/volumes/60a6738d-1f322d48-046e-78ac44111720/Selenium3] ls -la
total 65012864
drwxr-xr-x 1 root root 77824 Nov 9 14:04 .
drwxr-xr-t 1 root root 81920 Nov 9 13:50 ..
-rw------- 1 root root 66571993088 Nov 9 09:43 temp_XX-flat.vmdk
创建vmdk 文件
vmkfstools -c 66571993088 -a lsilogic XX.vmdk ###该参数请去掉flat 参数,创建大小文件必须跟查看的66571993088 要保持一致
提醒:
Create: 90% done.Failed to create virtual disk: There is not enough space on the file system for the selected operation (13) 磁盘空间不足创建失败,请保障有足够磁盘空间
将原来的(tmp_)xxx-flat.vmdk覆盖掉刚创建的同样大小的xxx-flat.vmdk
mv temp_XX-flat.vmdk xx-flat.vmdk
最后虚拟机清单加载新建vmdk 文件正常启动虚拟机,原来虚拟机数据正常加载,主机恢复正常。