共计 2511 个字符,预计需要花费 7 分钟才能阅读完成。
服务器数据恢复环境:
IBM 某型号服务器,装置 VMware 虚拟主机;
柏科某系列存储,寄存虚拟机文件;
VMware ESXi 5.5 版本操作系统;
虚拟机操作系统:Windows Server 2008;
SQL Server 2008 数据库服务器,治理宏桥和索菲两套利用数据库;
虚构磁盘:200G 数据盘(精简模式)+ 160G 快照数据盘。
服务器故障 & 剖析:
意外断电导致某台虚拟机不能失常启动,通过查看发现此虚拟机除了磁盘文件以外其余配置文件全副失落,xxx-flat.vmdk 磁盘文件和 xxx-000001-delta.vmdk 快照文件还在。管理员征询 VMware 工程师后尝试新建一个虚拟机,但发现 ESXi 存储空间有余,于是将故障虚拟机下的 xxx-flat.vmdk 磁盘文件删除开释空间,从新建了一个虚拟机并调配了固定大小的虚构磁盘。然而问题仍旧没有解决,数据失落。管理员分割咱们数据恢复核心进行数据恢复。
备份数据。服务器数据恢复工程师在 VMware vSphere Client 上将挂载的存储中 VMFS 卷以失常形式卸载掉。而后将存储上的 VMFS 卷通过网线的形式连贯到备份服务器上,应用业余工具将整个 VMFS 卷以扇区的形式镜像到已筹备好的备份空间,之后的剖析和数据恢复操作均在镜像文件上进行。
剖析故障起因。通过剖析 VMFS 卷的底层数据发现,ESXi 主机的忽然断电导致故障虚拟机目录下的目录项被毁坏,这种毁坏还不会影响到虚拟机的重要数据,能够通过人工进行修复。如果人为删除某个文件的话,则目录项对应的数据区索引会被清掉,也不会影响删除文件的理论数据。这种状况可依据删除虚构磁盘文件中的文件系统以及虚构磁盘中的文件类型在 VMFS 卷自由空间中进行碎片匹配和合并,最终复原删除的虚构磁盘文件。然而在上述的两种状况之下又新建了一台虚拟机并且调配了虚构磁盘,通过剖析发现这个新建的虚拟机所占用的磁盘空间全副被清零。如果新虚构磁盘占用了删除虚拟机磁盘所开释的空间,那么此局部空间将无奈复原。
故障虚拟机的目录项区域:
服务器数据恢复计划:
通过北亚数据恢复工程师团队的会诊,最终确定三个数据恢复计划。
1、数据恢复计划一:复原删除的 VMDK 文件。依据删除虚构磁盘文件中的文件系统以及虚构磁盘中的文件类型在 VMFS 卷的自由空间中进行碎片匹配和合并,最终复原删除的虚构磁盘文件。再利用快照合并程序将快照文件和复原的虚构磁盘文件合并成一个残缺的虚构磁盘文件,而后利用业余的文件系统解释工具解释虚构磁盘文件中的所有文件。
2、数据恢复计划二:复原 MSSQL 数据库文件。如果计划一施行成果不现实,能够依据 SQL Server 数据库文件的构造对 VMFS 卷自由空间中合乎 SQL Server 页构造的数据区域进行统计、剖析和聚合,最终生成一个能够失常应用的.MDF 格局的文件。
3、数据恢复计划三:复原 MSSQL 数据库备份文件。本案例中的数据库每天都在做一次增量备份,15 天做一次齐全备份。如果计划一和计划二施行后还有一些数据库数据无奈复原,则只能通过复原备份文件来复原数据库了。依据备份文件.bak 的构造对 VMFS 卷自由空间中合乎 SQL Server 备份文件构造的数据区域进行统计、剖析和聚合,最终生成一个能够失常导入到 SQL Server 数据库中的.BAK 格局的文件。
服务器数据恢复过程:
1、实施方案一。
依据 VMFS 卷的构造以及删除虚构磁盘的文件系统信息,在底层的自由空间中扫描合乎删除虚拟机磁盘的区域并统计其数量和大小是否合乎删除虚构磁盘的大小,再依据虚构磁盘中的文件系统的信息将这些扫描到的碎片进行排列组合,后果发现两头有好多碎片缺失。再对这些缺失的碎片进行从新扫描发现这些碎片的确找不到。将扫描到的碎片依照虚构磁盘本来的程序重组,对于没有找到的碎片暂且留空。利用虚构磁盘快照程序将重组好的父盘和快照盘进行合并生成一个新的虚构磁盘,再用业余工具解释虚构磁盘中的文件系统。因为好多数据缺失,文件系统解释过程中频繁报错,提醒某些文件损坏。
在解析完文件系统后发现没有找到原始的数据库文件,而宏桥备份和索菲备份这两个目录的目录构造失常。尝试将备份导入到数据库中时,数据库导入程序提醒报错。
导入.BAK 文件报错信息如下:
2、实施方案二。
因为计划一中并没有将原始的数据库文件复原进去,并且其中很多备份文件都无奈失常应用。因而数据恢复工程师采纳第二套计划来复原尚未复原进去的数据库文件。依据 SQL Server 数据库的构造去自由空间中找到数据库的开始地位。依据本案例中的数据库构造,数据库的第 9 个页会记录本数据库的数据库名,依据这个特色能够核查此数据库的头部页是否是正在查找的。数据库的每个页中都会记录数据库页编号以及文件号,北亚数据恢复工程师依据这些特色编写数据库扫描程序去底层扫描所有合乎数据库页的数据碎片,接着将扫描进去的碎片按程序重组成一个残缺 MDF 文件,再通过 MDF 校验程序检测整个 MDF 文件是否残缺。在校验过程中,发现只有 2 个文件有局部碎片没有找到,其余数据库文件均校验胜利。
其中一个文件中某个碎片失落的区域:
3、实施方案三。
计划一和计划二施行后并没有将所有的数据库文件全副复原进去,有 2 个文件因缺失局部页导致其无奈失常应用。因而须要利用备份来复原这两个数据库文件。然而在查看完这两个文件的备份后发现其中一个文件的全副备份因备份机制故障没有备份进去,而另外一个文件的全副备份则没有,只有全副增量备份。
因为其中一个文件只缺失大量的页,能够依据缺失的页号在增量备份中查找,再将找到的页补到这个文件中,服务器数据恢复工程师通过这个办法复原出一部分失落的数据库页。然而补完后发现还是缺失局部页,无奈失常应用。服务器数据恢复工程师只好通过北亚自主开发的数据库解析程序将这个文件中比拟重要的几十张表胜利导出,并导入到新建的数据库中。
验证数据:
在本地服务器中搭建和原始环境一样的数据库环境(SQL Server 2008),管理员通过近程工具连贯到验证服务器并装置层宏桥应用软件,由用户方工程师验证数据库是否残缺,通过认真的验证后数据库根本没有问题,下层利用能够失常运行,数据记录也根本没有缺失,数据恢复胜利。