重建虚拟机丢失的虚拟磁盘vmdk头/描述文件

简介:

本文主要介绍如何重建VMDK文件所丢失的头/描述文件 以下情况需要我们重建一个VMDK文件丢失的头/描述文件:

1、通过Datastore浏览VMFS目录时找不到虚拟机的VMDK文件;
2、当利用命令行界面查看时无法找到-flat.vmdk文件存在;
3、*.vmdk的描述文件不存在或被损坏了;
4、开启虚拟机时,会提示文件无法找到(File not found)的错误:
虚拟机的磁盘驱动器是由一对*.vmdk文件组成。1个小文件,包含了磁盘的描述性数据,1个大文件是实际数据存储地点。
比如,1个10G的磁盘有一个10G的.vmdk文件。它的内容包括temp-flat.vmdk和temp.vmdk文件。
 
解决方案 大致步骤如下: 创一个新的虚拟磁盘头文件:
1、确认-flat文件的大小;
2、建立一个同等大小的新的磁盘文件; 备注:这步很关键
3、重命名新的磁盘描述文件,用以匹配待修复的磁盘名称;
4、根据-flat文件名做参考来编辑新文件的描述信息;
5、完成之后即可删除掉临时-flat文件了。
 
详细步骤如下:
1、登录到ESX主机的控制台界面;
 
2、切换到问题磁盘所在目录:
cd /vmfs/volumes/xxxxvolume/xxxx
 
3、确认当前虚拟磁盘所用的SCSI控制器
less *.vmx,查找到类似scsi1.virtualDev="lsilogic"的内容
 
4、运行如下命令查阅欲修复磁盘的具体尺寸:
ls -ltr vmdisk0-flat.vmdk
会显示如下类似信息 -rw------- 1 root root  4294967296 Oct 11 12:30 vmdisk0-flat.vmdk
 
5、执行vmkfstools命令创建一个新磁盘:
vmkfstools -c 4294967296 -a lsilogic -d thin temp.vmdk
-c:磁盘大小
-a:磁盘控制器类型(BusLogic 或者 LSILogic)
-d:磁盘类型 当执行如上命令之后,temp-flat.vmdk文件也就相应的跟着被建立起来了
 
6、由于temp-flat.vmdk文件已经没有存在价值,所以可以使用如下命令删除掉:
rm -rf temp-flat.vmdk
 
7、将temp.vmdk重命名让它能够匹配-flat文件,比如:
vmdisk0.vmdk/vmdisk0-flat.vmdk;
mv temp.vmdk vmdisk0.vmdk
 
8、利用文本编辑软体编辑这个temp.vmdk的描述信息:
找到ddb.thinProvisioned,(如果选用了-d thin参数,但是磁盘本身并非瘦磁盘模式)并且删除掉他:
-------------------------------------
# Disk DescriptorFile
version=1
CID=fb183c20
parentCID=ffffffff
createType="vmfs"
# Extent description
RW 8388608 VMFS "vmdisk0-flat.vmdk"
# The Disk Data Base
# DDB
ddb.virtualHWVersion = "4"
ddb.geometry.cylinders = "522"
ddb.geometry.heads = "255"
ddb.geometry.sectors = "63"
ddb.adapterType = "lsilogic"
ddb.thinProvisioned = "1"
-------------------------------------
备注:将其中紫色部分修改为和-flat.vmdk相匹配的名字
 
9、此时即可重新启动这个VM了。









本文转自 qq8658868 51CTO博客,原文链接:http://blog.51cto.com/hujizhou/1138850,如需转载请自行联系原作者
目录
相关文章
|
2月前
|
存储 SQL 数据挖掘
虚拟化数据恢复—VMware虚拟机vmdk文件被误删除的数据恢复案例
虚拟化数据恢复环境: 某品牌服务器(部署VMware EXSI虚拟机)+同品牌存储(存放虚拟机文件)。 虚拟化故障: 意外断电导致服务器上某台虚拟机无法正常启动。查看虚拟机配置文件发现这台故障虚拟机除了磁盘文件以外其他配置文件全部丢失,xxx-flat.vmdk磁盘文件和xxx-000001-delta.vmdk快照文件还在。管理员联系VMware工程师寻求帮助。VMware工程师尝试新建一个虚拟机来解决故障,但发现ESXi存储空间不足。于是将故障虚拟机下的xxx-flat.vmdk磁盘文件删除,然后重建一个虚拟机并且分配固定大小的虚拟磁盘。
|
1月前
|
Kubernetes Linux 容器
解决删除快照后启动虚拟机显示指定的文件不是虚拟磁盘 打不开磁盘“路径”或它所依赖的某个快照磁盘。 模块“disk”启动失败。 未能启动虚拟
解决删除快照后启动虚拟机显示指定的文件不是虚拟磁盘 打不开磁盘“路径”或它所依赖的某个快照磁盘。 模块“disk”启动失败。 未能启动虚拟
109 0
|
6月前
|
存储 SQL 数据挖掘
服务器数据恢复—误删除VMware虚拟机vmdk文件的数据恢复案例
服务器数据恢复环境: 某大厂PS4000服务器,服务器上部署VMware ESXi虚拟化平台。 服务器故障: 机房断电,重启后服务器中的某台虚拟机不能正常启动。管理员查看虚拟机配置文件,发现无法启动的虚拟机的配置文件除了磁盘文件以外其他配置文件全部丢失,xxx-flat.vmdk磁盘文件和xxx-000001-delta.vmdk快照文件还存在。联系VMware原厂工程师进行诊断,VMware原厂工程师尝试新建一个虚拟机,但发现存储空间不足,于是将故障虚拟机下的xxx-flat.vmdk磁盘文件删除了。VMware工程师重新建了一个虚拟机,分配了固定大小的虚拟磁盘,为虚拟机安装了Window
服务器数据恢复—误删除VMware虚拟机vmdk文件的数据恢复案例
|
6月前
|
虚拟化
【虚拟机】VMware 扩展硬盘大小提示 指定的虚拟磁盘需要进行修复
【虚拟机】VMware 扩展硬盘大小提示 指定的虚拟磁盘需要进行修复
468 1
|
虚拟化
怎么备份VMware虚拟磁盘文件或移植到其他虚拟机
怎么备份VMware虚拟磁盘文件或移植到其他虚拟机
107 0
|
存储 网络安全 虚拟化
Proxmox VE导入ESXI格式OVA、VMDK虚拟机文件
按照正常步骤建好虚拟机,之后删除掉该虚拟机的虚拟硬盘。本例中虚拟机VM ID为103,通过qm importdisk 进行导入挂载。具体导入位置,根据虚拟机存储情况进行确定,本示例为local-lvm。使用SCP工具,将OPNsense_22.7.4_ufs-disk1.vmdk上传到系统的root目录下。需要使用的文件为:OPNsense_22.7.4_ufs-disk1.vmdk。导入成功后,就能看到该硬盘,在该硬盘上点编辑,添加即可。
|
存储 虚拟化
PVE 虚拟机导入 vmdk 磁盘
PVE 虚拟机导入 vmdk 磁盘
3299 0