虚拟机硬盘文件丢失,通过xx-flat.vmdk恢复方法

今天早上虚拟服务器假死,没办法重新启动服务器,哪知道,其中有一个虚拟机打不开,提示

原因: The file specified is not a virtual disk。
无法打开磁盘“/vmfs/volumes/4db4f346-a928774c-50af-3c4a92731f32/TEMSVR/TEMSVR_1.vmdk”或其所依赖的快照磁盘之一。

打开存储目录查看,只剩下xx-flat.vmdk文件,从文件的类型看,只是File格式,不是Virtual Disk格式,

在虚拟机的配置文件中查看该磁盘大小为0,新建虚拟,选择添加已存在磁盘,提示不存在;

汗呀,大量的数据,找不到急死啦,血的教训

试了很多方法,才找到了硬盘,血的教训呀,记录下来,以备后患

 

解决方法一:

1.在虚拟机上添加一个和原来硬盘大小一致、路径一致的虚拟硬盘AA
2.将AA.VMDK文件下载下来
3.用记事本打开这个文件
4.将文件中的虚拟快照文件名AA-flat.vmdk文件修改为目录中xx-flat.vmdk,文件名修改xx.vmdk
5.上传xx.vmdk
6.这时查看硬盘发觉大小识别啦,重新启动OK

 

# Disk DescriptorFile
version=1
encoding="UTF-8"
CID=fffffffe
parentCID=ffffffff
isNativeSnapshot="no"
createType="vmfs"

# Extent description
RW 83886080 VMFS "XX-flat.vmdk"                ----硬盘大小(这里是40G)、硬盘文件名

# The Disk Data Base
#DDB

ddb.virtualHWVersion = "7"
ddb.longContentID = "30caf336cecd7d608dd0cbedfffffffe"
ddb.uuid = "60 00 C2 91 c6 f6 c2 0d-64 25 be c5 9e 7e 67 6d"
ddb.geometry.cylinders = "5221"                           -----硬盘卷(40G)
ddb.geometry.heads = "255"
ddb.geometry.sectors = "63"
ddb.adapterType = "lsilogic"

解决方法二:
1. 新建一虚拟机,不要创建硬盘
2. 用ssh的方式登录host,查找xx-flat.vmdk文件所在位置及目录,
3. 在新虚拟机目录下创建新xxx.vmdk文件,大小要和xx-flat.vmdk文件一样大,
用ls -la查看xx-flat.vmdk文件大小,
用vmkfstools -c 文件大小 -a lsilogic xxx.vmdk 来创建新磁盘文件
4. 用原文件xx-flat.vmdk覆盖新建的xxx-flat.vmdk(注意一定是-flat.vmdk),使用mv命令
5. 将这个磁盘文件添加到新建的虚拟机中;
6. 完成后开启虚拟机就可以了

阅读更多
个人分类: VMware
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

关闭
关闭
关闭