您的位置:首页 > 其它

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

2011-10-17 19:28 519 查看
今天早上虚拟服务器假死,没办法重新启动服务器,哪知道,其中有一个虚拟机打不开,提示

原因: 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. 完成后开启虚拟机就可以了
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: