zoukankan      html  css  js  c++  java
  • 虚拟机数据丢失的数据恢复过程和数据恢复方法

    中石化某省分公司的信息管理平台,几台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因便捷的信息集中管理,真正使用中往往数据特别重要,一定要做好备份工作,并考虑损坏时迁移的方便性。

  • 相关阅读:
    codeforces 616B Dinner with Emma
    codeforces 616A Comparing Two Long Integers
    codeforces 615C Running Track
    codeforces 612C Replace To Make Regular Bracket Sequence
    codeforces 612B HDD is Outdated Technology
    重写父类中的成员属性
    子类继承父类
    访问修饰符
    方法的参数
    实例化类
  • 原文地址:https://www.cnblogs.com/frombyte/p/7458026.html
Copyright © 2011-2022 走看看