服务器数据恢复环境:
一台某品牌服务器通过一张同品牌某型号 RAID 卡将 4 块 STAT 硬盘组建为一组 RAID10 阵列。下层部署 Xen Server 虚拟化平台,虚构机上安装的是 Windows Server 操作系统,包含系统盘 + 数据盘两个虚拟机磁盘,作为 Web 服务器应用,寄存网站代码、SQL Server 数据库以及其余网站数据。
服务器故障 & 故障起因剖析:
机房意外断电导致服务器中一台 VPS(Xen Server 虚拟机)不可用,虚构磁盘文件失落。
北亚企安数据恢复工程师将故障服务器中所有磁盘编号后取出,以只读形式将所有磁盘残缺镜像到筹备好的备份空间,后续的数据分析和数据恢复操作都基于镜像文件进行,防止对原始磁盘数据造成二次毁坏。备份实现后将所有磁盘依照编号还原到原服务器中。
基于镜像文件剖析底层数据发现故障服务器中的虚拟机磁盘是以 LVM 构造治理的,即每个虚拟机的虚构磁盘都是一个 LV,虚构磁盘模式是精简模式。
LVM 的相干信息在 Xen Server 中都有记录。查看“/etc/lvm/backup/“下 LVM 的相干信息,并没有发现存在损坏的虚构磁盘,能够初步判断 LVM 的信息曾经被更新了。持续剖析底层,查找到还未更新的 LVM 信息。
依据未更新的 LVM 信息找到虚构磁盘的数据区域,发现该区域的数据已被毁坏。当初能够确定虚拟机不可用的起因是虚拟机的虚构磁盘被毁坏,导致虚拟机中的操作系统和数据失落。核查这片区域,发现该区域有很多数据被毁坏了,但还是发现了很多数据库的页碎片。因而能够尝试将许多数据库的页碎片拼接为一个可用的数据库。
服务器数据恢复计划:
计划 a:依据 RAR 压缩包的构造能够找到很多压缩包的数据开始地位,RAR 压缩包文件的第一个扇区中会记录此 RAR 的文件名。因而将从用户那里拿到的备份数据库的压缩包文件名和目前找到的压缩包文件第一个扇区所记录的文件名相匹配,即可找到备份数据库压缩包的开始地位。找到压缩包的地位后仔细分析这片区域的数据,而后将此区域的数据恢复进去并重命名为一个 RAR 格局的压缩文件。尝试解压此压缩包,发现解压报错。
仔细分析复原进去的压缩包,发现其中有局部数据被毁坏,解压报错。尝试应用 RAR 的修复工具解决后解压。后果修复实现之后解压进去的数据只蕴含网站的局部代码,并没有发现数据库的备份文件。因而能够判断在 RAR 压缩包中的数据库的备份文件曾经是损坏的。
解压进去的局部网站代码:
计划 b:
计划 a 没有将数据库复原进去。北亚企安数据恢复工程师采纳计划 b。依据 SQL Server 数据库的构造剖析数据库的开始地位。SQL Server 数据库第 9 个页会记录本数据库的数据库名。在用户那里获取到数据库的名称之后,剖析底层找到此数据库的开始地位。在 SQL Server 数据库的每个页中都会记录数据库页编号以及文件号,依据这些 SQL Server 数据库特色,北亚企安数据恢复工程师编写程序去底层扫描合乎数据库页的数据。将扫描进去的数据库页碎片按程序重组成一个残缺 MDF 文件。通过 MDF 校验程序检测整个 MDF 文件的完整性。
验证数据:
检测没问题之后,由数据库工程师搭建数据库环境,将重组后的数据库附加到搭建好的数据库环境中。查问相干表数据是否失常以及最新数据是否存在。检测没有问题后,在网站开发商的帮忙下用网站代码搭建好环境,将复原好的数据库发给用户在环境中配置好。通过用户验证后没有发现问题,确认复原数据残缺无效。本次数据恢复工作实现。