这篇文章主要讲解了“如何恢复ESXI虚拟机的vmdk文件”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“如何恢复ESXI虚拟机的vmdk文件”吧!

错误描述

在vSphere上,一次重启虚拟服务器时出现启动不了,提示找不到vmdk虚拟磁盘文件

原因分析

查看这台虚拟服务器的摘要信息,对比datastore上其他可用的虚拟机,发现损坏的服务器上确实缺少一个vmdk磁盘文件,但是可以看见一个50G的xxx-flat.vmdk文件;而正常的服务器只有xxx.vmdk,没有xxx-flat.vmdk,关机之后两个文件都存在,而且真实的磁盘容量从vmdk转移到了xxx-flat.vmdk。

虚拟主机在运行的时候,实际在使用的是xxx-flat.vmdk,然而xxx.vmdk是可以同时被删除的,才导致了问题。

这里需要说明,虚拟机的每个磁盘驱动器都包含了一对.vmdk文件。一个是文本文件,包含了关于虚拟硬盘的描述数据;另外一个是磁盘的实际内容。例如,一个名为examplevm的虚拟机连接有一个硬盘。这个磁盘由如下两个文件构成:一个小于 1KB 的examplevm.vmdk描述文件和一个10GB大小的examplevm- flat.vmdk平面(数据)文件,该文件包含虚拟机的实际数据,而这些数据又是以二进制的形式存放在物理磁盘上,examplevm.vmdk描述文件就是描述这种映射关系的。.

解决办法

\1) 用ssh登录vsphere主机,查找xxx-flat.vmdk文件所在的位置以及目录,并记录文件的大小

~#find/-name"新建虚拟机-flat.vmdk"/vmfs/volumes/50a98441-ab02c8b7-e60a-001517712dce/新建虚拟机/新建虚拟机-flat.vmdk~#ls-l/vmfs/volumes/50a98441-ab02c8b7-e60a-001517712dce/新建虚拟机/新建虚拟机-flat.vmdk-rw-------1rootroot53687091200Apr1609:13/vmfs/volumes/50a98441-ab02c8b7-e60a-001517712dce/新建虚拟机/新建虚拟机-flat.vmdk

注意,ESXi5默认没有开启ssh,需要通过vsphere client登录服务器,【配置】【安全配置文件】【服务-属性】手动开启。

\2) 重命名xxx-flat.vmdk文件

~#cd/vmfs/volumes/50a98441-ab02c8b7-e60a-001517712dce/新建虚拟机//vmfs/volumes/50a98441-ab02c8b7-e60a-001517712dce/新建虚拟机_1#mv新建虚拟机-flat.vmdktmp_新建虚拟机-flat.vmdk/vmfs/volumes/50a98441-ab02c8b7-e60a-001517712dce/新建虚拟机#ls-ladrwxr-xr-x1rootroot1680Apr2105:47.drwxr-xr-t1rootroot2660Apr1803:16..-rw-r--r--1rootroot102076Apr1810:05vmware.log-rw-------1rootroot96468992Apr1805:43vmx-新建虚拟机-578288005-1.vswp-rw-------1rootroot2147483648Apr1805:43新建虚拟机-2277f985.vswp-rw-------1rootroot53687091200Apr2105:47新建虚拟机-flat.vmdk-rw-------1rootroot8684Apr2105:47新建虚拟机.nvram-rw-------1rootroot503Apr1805:44新建虚拟机.vmdk-rw-r--r--1rootroot0Apr1609:13新建虚拟机.vmsd-rwxr-xr--1rootroot3690Apr1805:43新建虚拟机.vmx-rw-------1rootroot0Apr1805:43新建虚拟机.vmx.lck-rwxr-xr--1rootroot3690Apr1805:43新建虚拟机.vmx~

\3) 在虚拟机目录下创建xxx.vmdk文件,大小要和xxx-flat.vmdk一样大

/vmfs/volumes/50a98441-ab02c8b7-e60a-001517712dce/新建虚拟机#vmkfstools-c53687091200-alsilogic新建虚拟机.vmdkCreate:100%done./vmfs/volumes/50a98441-ab02c8b7-e60a-001517712dce/新建虚拟机#ls-la*vmdk-rw-------1rootroot53687091200Apr2105:49新建虚拟机-flat.vmdk-rw-------1rootroot503Apr1805:44新建虚拟机.vmdk

\4) 将原来的(tmp_)xxx-flat.vmdk覆盖掉刚创建的同样大小的xxx-flat.vmdk

/vmfs/volumes/50a98441-ab02c8b7-e60a-001517712dce/新建虚拟机#mvtmp_新建虚拟机-flat.vmdk新建虚拟机-flat.vmdk

重命名操作很快完成,启动虚拟机既可以恢复。(改完名后新建虚拟机-flat.vmdk文件就不见了)

感谢各位的阅读,以上就是“如何恢复ESXI虚拟机的vmdk文件”的内容了,经过本文的学习后,相信大家对如何恢复ESXI虚拟机的vmdk文件这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是亿速云,小编将为大家推送更多相关知识点的文章,欢迎关注!