今天给大家分享的案例是中石化某省分公司的信息管理平台,几台VMware虚拟机——ESX SERVER共享一台IBM DS4100存储,大约有40~50组虚拟机,占用1.8TB空间,数据非常重要。
正常工作中,vc里报告虚拟磁盘丢失,ssh到ESX中执行fdisk -l查看磁盘,发现storage已经没有分区表了。重启所有设备后,ESX SERVER均无法连接到DS4100所在的STORAGE。
仔细询问当时的管理员,他们提到一点,曾经在这个存储网络里连接过一台windows 2003服务器,具体情况不详。
于是很自然地想到了,可能是那台windows 2003因对storage的独享操作导致了整个vmfs卷损坏。
以整个存储做分析发现分区表清0,有55aa有效结束标志,有硬盘ID标志。简单从前向后查看,发现一个NTFS卷,但似乎并未写数据进去,像一个刚刚格式化的卷,对这个NTFS卷的BITMAP做分析,得知大小约为1.8T(全部空间),前部占用部分空间,3G左右位置占用部分空间,0.9T附近占用部分空间,但总占用空间不超过100M。针对VMFS卷进行分析,发现在原1.8TB的磁盘里有2组VMFS分区,第2组是对第一组的extend,第一组约1.5T,第二组约300GB,因NTFS分区并未写数据到第二个VMFS分区里(最后一个扇区的DBR备份没有覆盖有用数据),所以重点在于第一个VMFS分区。分析第一组VMFS,卷头结构丢失,一级索引、二级索引均存在,NTFS覆盖的数据区正好是某组虚拟机的临时内存镜像,损坏也无妨。
通过以上分析,我们就可以进行数据的恢复了,
第一步:对整个STORAGE进行镜像备份。
第二步:分析后,连接两个VMFS分区,直接按照VMFS分析组织方式提取所有VMDK及配置文件。
第三步:通过nfs直接迁移回ESX SERVER。
另:本例中因已对故障存储做了安全备份,修复中同时直接重建第一组VMFS卷头,索引列表、分区表等信息,直接附加在ESX SERVER环境,算是第二个方案。
经过两天的努力,数据成功恢复,在此感谢工程师们为此付出的努力。
[其他]
1、本例中依然是因为光纤环境互斥不当导致的问题,实际上,应该是这个卷在WINDOWS系统做了重新分区,并格式化成了NTFS,之后又对分区做了删除操作。因ESX VMFS的互斥不依赖于硬件,只依赖于操作系统驱动层,所以在其他服务器接入存储网络时一定要小心,尽量考虑好存储分配权限。
2、ESX因便捷的信息集中管理,真正使用中往往数据特别重要,一定要做好备份工作,并考虑损坏时迁移的方便性。