硬件环境:DELL 2950
软件环境:Vmware ESX 3.5
故障情况:
1.ESX中一台redhat as4的虚拟机,以往做过几份快照,使用vmware convert将此虚拟机转移到另一台同配置的服务器上后,快照功能失效。
2.ESX本身因某些情况(如多次意外断电,我们这里前一阵就是,呵呵)小问题频繁出现,需要重新安装(保留VMFS分区数据的安装方式),重装后虚拟机的快照功能也会失效。
对于情况1和2,虚拟机都有快照文件,只是快照管理器无法读取,用以下思路可以恢复这些快照。
假设虚拟机名称为:LAMP-Linux
步骤如下:
1.删除虚拟机(remove from inventory)
2.ssh登陆ESX,将LAMP-Linux文件夹重命名为LAMP-Linux-bak
3.新建虚拟机,名字为LAMP-Linux,硬件配置与原始状态尽量相同(包括内存大小、处理器数量、网卡数量、硬盘控制器(bus or lsi)类型、硬盘大小等)
4.启动一下LAMP-Linux(主要是为了让虚拟机自动设定参数,特别是MAC地址信息)
5.建立一个快照(让虚拟机生成.vmsd文件),然后关闭虚拟机
6.打开LAMP-Linux-bak目录下LAMP-Linux.vmx文件,复制以下类似信息到LAMP-Linux目录下的LAMP-Linux.vmx文件末尾(追加快照记录,如果有就不用追加了)
/////参考我的
scsi0:0.redo = ""
ethernet0.generatedAddress = "00:0c:29:e8:fe:bb"
sched.swap.derivedName = "/vmfs/volumes/47fe12fd-86869702-0b07-001d0925d53c/LAMP-Linux/LAMP-Linux-345c6454.vswp"
ethernet0.generatedAddressOffset = "0"
tools.remindInstall = "TRUE"
checkpoint.vmState.readOnly = "FALSE"
checkpoint.vmState = ""
/////MAC地址最好修改一下
7.打开LAMP-Linux-bak目录下LAMP-Linux.vmsd文件(.vmsd文件里放的就是快照汇总配置信息)
/////参考我的
snapshot1.uid = "6" ///当前快照编号
snapshot1.filename = "LAMP-Linux-Snapshot6.vmsn" ///快照的实体文件
snapshot1.parent = "4" ///父快照编号
snapshot1.displayName = "ok"
snapshot1.description = "ok"
snapshot1.type = "0"
snapshot1.createTimeHigh = "285982"
snapshot1.createTimeLow = "-356134487"
snapshot1.numDisks = "1"
snapshot1.disk0.fileName = "LAMP-Linux-000006.vmdk" ///虚拟磁盘配置文件
snapshot1.disk0.node = "scsi0:0"
8.打开LAMP-Linux-bak目录下LAMP-Linux-000006.vmdk配置文件
/////参考我的
# Disk DescriptorFile
version=1
CID=cf51cee7
parentCID=023da485 ////注意这个参数
createType="vmfsSparse"
parentFileNameHint="LAMP-Linux.vmdk" ///虚拟磁盘配置文件
# Extent description
RW 41943040 VMFSSPARSE "LAMP-Linux-000006-delta.vmdk" /////虚拟磁盘实体文件
# The Disk Data Base
#DDB
ddb.toolsVersion = "0"
10.将LAMP-Linux-bak目录下的LAMP-Linux-000006-delta.vmdk、LAMP-Linux-000006.vmdk、LAMP-Linux-Snapshot6.vmsn3个文件复制到LAMP-Linux目录下
11.上面做的是实体文件的复制,接下来要让把这些实体文件“追加”上。
12.修改LAMP-Linux目录下的LAMP-Linux.vmsd文件,追加这些记录到文件末尾
/////参考我的
snapshot1.uid = "2" ///这里要修改,因为只做过一次快照,当前快照算是第二个
snapshot1.filename = "LAMP-Linux-Snapshot6.vmsn"
snapshot1.parent = "1" ///这里要修改,因为只做过一次快照,父快照是第一个
snapshot1.displayName = "ok"
snapshot1.description = "ok"
snapshot1.type = "0"
snapshot1.createTimeHigh = "285982"
snapshot1.createTimeLow = "-356134487"
snapshot1.numDisks = "1"
snapshot1.disk0.fileName = "LAMP-Linux-000006.vmdk" ///对应是虚拟磁盘配置文件
snapshot1.disk0.node = "scsi0:0"
12.查看LAMP-Linux目录下的LAMP-Linux.vmdk文件
/////参考我的
# Disk DescriptorFile
version=1
CID=023da485 ////记录下这个CID
parentCID=ffffffff ////ffffffff表示这是第一个快照,所以无父快照编号
createType="vmfs"
# Extent description
RW 41943040 VMFS "LAMP-Linux-flat.vmdk"
# The Disk Data Base
#DDB
ddb.toolsVersion = "0"
ddb.adapterType = "lsilogic"
ddb.geometry.sectors = "63"
ddb.geometry.heads = "255"
ddb.geometry.cylinders = "2610"
ddb.uuid = "60 00 C2 9f d5 b3 2c f3-3c 01 bf 9e c5 1e b1 5e"
ddb.virtualHWVersion = "4"
13.修改LAMP-Linux目录下的LAMP-Linux-000006.vmdk文件
将parentCID=023da485修改成这个(即第一个快照CID)
14.这样就把信息链接起来了,OK,启动虚拟机,打开快照管理器,应该看到“OK”字样的快照了,恢复吧。
阅读(4392) | 评论(0) | 转发(0) |