虚拟机数据恢复环境:
Dell 某型号服务器用 RAID 卡 + 4 块 STAT 硬盘组成 RAID10;
XenServer 虚拟化零碎,虚拟机操作系统是 Windows Server;
两个虚拟机磁盘(系统盘 + 数据盘);
Web 服务器(ASP + SQL 的网站架构)。
虚拟机故障 & 剖析:
服务器忽然断电导致 XenServer 服务器中一台 XenServer 虚拟机不可用,虚构磁盘文件失落。服务器管理员分割咱们数据恢复核心进行虚拟机数据恢复。
服务器数据恢复工程师首先将故障服务器上的硬盘连贯到数据恢复服务器上对数据进行镜像备份。
通过镜像文件剖析底层数据发现故障服务器中每个 XenServer 虚拟机的虚构磁盘都是一个 LV,虚构磁盘模式是精简模式。LVM 的相干信息在 XenServer 中都有记录,查看 LVM 的相干信息发现并没有损坏的虚构磁盘信息,初步判断 LVM 的信息曾经被更新。再次对底层进行剖析还是找到了未更新的 LVM 信息。
如下图:
依据未被更新的 LVM 信息找到虚构磁盘的数据区域,然而该区域的数据已被毁坏。最终能够确定虚拟机不可用的起因是虚拟机的虚构磁盘被毁坏,虚拟机中的操作系统和数据失落,而呈现这种状况很可能是虚拟机遭逢网络攻击或 hack 入侵后留下的恶意程序造成的。认真核查这片区域后,服务器数据恢复工程师发现尽管该区域很多数据被毁坏了,但发现了很多数据库的页碎片,能够尝试将数据库的页碎片拼接成可用的数据库。
虚拟机数据恢复过程:
1、复原计划一
依据 RAR 压缩包的构造找到压缩包的数据开始地位,RAR 压缩包文件的第一个扇区中会记录此 RAR 的文件名。服务器数据恢复工程师通过匹配备份数据库的压缩包文件名和目前找到的压缩包地位的文件名,即可找到备份数据库压缩包的开始地位。找到压缩包的地位后剖析这片区域的数据,将此区域的数据恢复进去并重命名为一个 RAR 格局的压缩文件。尝试解压此压缩包,解压报错如下图所示:
剖析复原进去的压缩包,服务器数据恢复工程师发现其中有局部数据损坏。应用 RAR 修复工具修复后解压出局部数据,后果解压进去的数据只有网站的局部代码,并没有发现数据库的备份文件。初步判断 RAR 压缩包中数据库的备份文件是损坏的。下图是解压进去的局部网站代码:
2、复原计划二
因为计划一并没有将数据库复原进去,服务器数据恢复工程师采纳计划二复原数据库。
依据 SQL Server 数据库的构造去底层剖析数据库的开始地位。在服务器管理员获取到数据库名称之后,数据恢复工程师剖析底层找到此数据库的开始地位。SQL Server 数据库的每个页都会记录数据库页编号以及文件号,北亚数据恢复工程师依据 SQL Server 数据库的这些特色编写程序去底层扫描合乎数据库页的数据。
而后将扫描进去的碎片按程序重组成一个残缺 MDF 文件,再通过 MDF 校验程序检测这个 MDF 文件是否残缺。重组的 MDF 文件:
验证数据:
MDF 校验程序检测没问题后搭建数据库环境。将重组后的数据库附加到搭建好的数据库环境中并查问相干表数据是否失常,查问最新数据是否存在。
因为数据库须要联合网站代码能力更精确验证数据库的完整性。用网站代码搭建好环境,而后将复原好的数据库配置好进行验证。经用户亲自验证后最终确认数据库没问题,本次数据恢复胜利。