【服务器数据恢复】服务器断电导致虚拟机不可用的数据恢复案例

电子说

1.3w人已加入

描述

服务器数据恢复环境:
某公司一台DELL服务器,作为WEB服务器使用,安装的Windows Server操作系统,配置了SQL Server数据库;
采用了Xen Server虚拟化系统;
底层是通过raid卡,用4块STAT硬盘搭建的RAID10。

服务器故障:
服务器意外断电导致虚拟机磁盘丢失,虚拟机不可用,SQL Server数据库和网站文件丢失。需要恢复SQL Server数据库。

服务器数据恢复过程:
1、将故障服务器中所有硬盘以只读方式进行镜像备份,后续的数据恢复分析和数据恢复操作都基于镜像文件进行,不会对原服务器做任何操作,保证原服务器初始状态,避免对原始数据造成可能的二次破坏。
2、基于镜像文件对底层数据进行分析,发现故障服务器中丢失的虚拟机磁盘都采用了LVM的结构。进入到“/etc/lvm/backup/”目录下查询看是否有损坏的虚拟磁盘信息,如果有就意味着LVM信息尚有保存;如果没有就意味着虚拟磁盘信息已经被更新,只能通过底层数据查找没有更新的lvm信息。本案例中北亚企安数据恢复工程师从底层数据中查询到了尚未更新的lvm信息,见下图:

数据恢复

北亚企安数据恢复——Xen Server数据恢复

3、找到lvm信息就意味着数据还在。基于lvm信息分析&查找虚拟磁盘的分区数据,但是数据恢复工程师经过分析后竟然发现虚拟磁盘被破坏了,这种现象非常少见。经过进一步查找和分析后确认该区域的数据确实被破坏了,只能找到一些数据库页碎片,可以通过数据库碎片拼接的手段来恢复数据,即根据数据库结构,将底层找到的数据库的页碎片按照原先的顺序拼接起来,然后对数据库进行修复和校检后即可恢复数据库。
4、试图通过数据库备份来恢复数据库。因为之前数据库做过一次备份,数据库备份文件和网站代码被一起压缩到一个RAR压缩包文件中。正常情况下rar压缩包的第一个扇区记录的是文件名,所以可以根据文件名反向查找压缩包的数据起始位置,把相应的压缩包底层数据提取出来并重命名。但是在实际的恢复过程中却出现了意外,提取出来的压缩包解压时报错,报错信息见下图:

数据恢复

北亚企安数据恢复——Xen Server数据恢复

5、尝试使用rar修复工具(设置为“忽略错误”)继续解压数据,仍然解压失败。常规的数据恢复方法行不通。只能通过数据库碎片拼接来恢复数据库数据。
6、在数据库层面分析数据库开始位置,分析出数据库开始位置后根据每个数据库页的编号和文件号去底层扫描符合这个数据库页的所有数据,最后由北亚企安数据恢复工程师将所有扫描出来的数据重组为一个mdf文件。经过校验程序检测合格后提取数据。重组后的mdf文件见下图:
 
 

数据恢复

北亚企安数据恢复——Xen Server数据恢复

数据验证:
经过北亚企安数据恢复工程师团队的不懈努力,最终将服务器内的数据全部提取出来并通过初步验证。搭建了数据库环境,将恢复出来的数据库数据附加上去进行查询,最新数据都查询正常。本次数据恢复完成。恢复结果见下图:

数据恢复

北亚企安数据恢复——Xen Server数据恢复

审核编辑 黄宇

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分