今天按照业务的规定,需要对公司VMware ESX上的baoguan服务器进行VCB备份, 在运行脚本后, 出现错误, 窗口一闪就消失了. 感到VCB肯定出现了异常. 在VIC中查看时,发现baoguan服务器已经自动关闭了.
对baoguan服务器执行Power On 操作,提示:Message on baoguan on ESXServer1 in Pe: VMware ESX Server cannot find the virtual disk "baoguan.vmdk". Please verify the path is valid and try again. Cannot open the disk 'baoguan.vmdk' or one of the snapshot disks it depends on. Reason: The system cannot find the file specified. 进入此VMs的数据存储区,发现baoguan目录下只有baoguan-flat.vmdk文件,而baoguan.vmdk的磁盘描述文件丢失.
现只能对此服务器进行灾备的操作了,在灾备进行到一般的时候,通过在网上搜索,发现以下方法可以解决.vmdk文件丢失的问题.(URL忘记了,不过记得是一个叫wind的)
解决方法:
1. 备份baoguan-flat.vmdk文件。
2. 在baoguan这个虚拟机中新建磁盘,如sisc (0:1). 注意新建磁盘容量与原磁盘一致。
3. 删除原有的sisc(0:0)硬盘, 用备份的baoguan-flat.vmdk文件替换生成的baoguan-flat.vmdk文件。
4. 重启虚拟机
经过执行以上操作,虚拟机正常启动,工作正常,而数据也是在机器自动关闭时的状态.
附VMware ESX虚拟机文件说明:
*-flat.vmdk:虚拟机的原始磁盘文件,包含整个虚拟机镜像。
*.nvram:虚拟机的BIOS信息。
*.vmdk:虚拟硬盘的描述文件,与-flat.vmdk文件相关联。主要用于指定虚拟硬盘的接口类型,扇区,簇等信息,也用于定义是否启用 “thin Provision”,
*.vmsd:包含快照的信息和元数据。
*.vmx:虚拟机的配置文件,包含虚拟机所有虚拟硬件的信息和设置。如电源,网络,内存等。
*.vmxf:配置虚拟机聚合时,扩展的虚拟机配置文件。
*.log:虚拟机的日志文件,多个文件循环使用,排错时很有用。
#############################################
*.vswp:虚拟机的页面交换文件。(运行状态时出现)
#############################################
拍完快照后的文件列表中会多出*000001-delta.vmdk, *-000001.vmdk, *.vmsn 文件(vmsd文件大小会改变)
*000001-delta.vmdk:虚拟机的快照文件与原始磁盘文件之间的差异备份,00000*数字随着快照次数变化。
*-000001.vmdk:快照文件的磁盘描述文件,与-000001-delta.vmdk文件相关联。
*-SnapShot*.vmsn:虚拟机快照的状态文件,记录着创建快照时虚拟机的各项状态。
====================2010/9/23更新以下=====================
在对这台VM做了以上恢复后,系统运行正常,但是发现再次进行VCB备份时,备份失败(VMDK不丢失),备份脚本一闪而过,提示open disk failed. 一直没找到原因. 今天将VCB备份脚本的"-m SAN"参数改成"-m nbd"后,VCB备份正常了. 不过这只是临时方法,毕竟通过LAN来进行VCB备份会消耗很多网络带宽.
再做些其他测试, 等有新的消息再贴上来了.
====================2010/10/13更新以下=====================
恢复后发现一直不能进行-m san的备份.今天检查了.vmdk的RW值与*-flat.vmdk的大小值,发现数值不匹配,
在将VM power off后,修改.VMDK的RW值后,VCB备份正常了.