当前位置: 首页 > news >正文

虚拟化数据恢复—XenServer虚拟机中SQL Server数据库数据恢复案例

服务器虚拟化数据恢复环境:
某品牌720服务器中有一组通过同品牌、型号为H710P的RAID卡+4块STAT硬盘组建的RAID10磁盘阵列。上层部署XenServer虚拟化平台。1台Windows Server操作系统虚拟机,该虚拟机有2块虚拟磁盘(系统盘+数据盘),当作网站服务器使用。

服务器虚拟化故障:
XenServer虚拟机不可用,虚拟磁盘中数据丢失。

服务器虚拟化数据恢复过程:
1、将故障服务器中磁盘标记后取出,硬件工程师检测后没有发现有硬盘存在硬件故障。将所有磁盘以只读方式进行扇区级完整镜像,镜像完成后将所有磁盘按照原样还原到原服务器中。后续的数据分析和数据恢复操作都基于镜像文件进行,避免对原始磁盘数据造成二次破坏。
2、基于镜像文件分析所有硬盘底层数据,发现XenServer虚拟机的磁盘是以LVM来管理的,即每台虚拟机的虚拟磁盘都是一个LV,LVM的相关信息在XenServer中都有记载。
查看“/etc/lvm/backup/ “目录下LVM的相关信息。没有发现损坏的虚拟磁盘信息,基本上可以判断LVM信息已经被更新。继续查找,还是在底层发现了未被更新的LVM信息。

3、根据未被更新的LVM信息找到虚拟磁盘的数据区域,发现该区域的数据已被破坏。这种情况极有可能是虚拟机遭遇攻击后留下恶意程序所造成的。虽然该区域很多数据被破坏,但是在该区域找到大量数据库页碎片。可以尝试将数据库的页碎片拼接成一个可用的数据库。
4、数据库之前做过一次备份。这个数据库备份文件和网站代码一起被压缩到一个RAR的压缩包中,因此只需要恢复这个压缩包即可恢复这个备份的数据库和网站的源代码。经过尝试后发现压缩包中的数据已经损坏,解压报错。

修复后也只能解压出部分网站源代码,并没有解压出数据库的备份文件,RAR压缩包中的数据库备份文件是损坏的。无法通过这种方法恢复数据。

5、根据SQL Server数据库的结构在底层分析数据库的开始位置。
SQL Server数据库中第9个页会记录本数据库的数据库名。在用户方获取到数据库的名称之后,在底层找到数据库的开始位置。SQL Server数据库每个页都会记录数据库页编号以及文件号,根据这些特征北亚企安数据恢复工程师编写程序在底层扫描符合数据库页的数据。
6、将扫描出来的碎片按顺序重组成一个完整MDF文件,再使用MDF校验程序检测MDF文件的完整性。

7、检测没问题之后搭建数据库环境。将重组后的数据库附加到搭建好的数据库环境中。查询相关表数据是否正常,查询最新数据是否存在。

8、从网站开发商拿到了网站代码搭建好网站环境,将恢复出来的数据库配置好进行验证。经过用户方验证后,确认恢复出来的数据库没问题。


http://www.mrgr.cn/news/68265.html

相关文章:

  • 了解 .NET 运行时与 .NET 框架:基础概念与相互关系
  • #渗透测试#SRC漏洞挖掘# 操作系统-Linux系统基础02之Openssl、软连接与硬连接、用户账号数据库
  • 【日志】力扣125.验证回文串
  • 【ddnsgo+ipv6】
  • 物联网核心安全系列——物联网安全需求
  • Linux—进程学习-01
  • 常用滤波算法(十一)-卡尔曼滤波
  • 【数据结构】哈希/散列表
  • 制造业数据架构设计顶层规划方案
  • fs 中的 rmSync 中的参数配置
  • JDBC入门
  • 前端 Canvas 绘画 总结
  • Hive简介 | 体系结构
  • 【AIGC探索】AI实现PPT生产全流程
  • unplugin-auto-import 库作用
  • Excel和微软小冰的结合应用
  • (62)使用RLS自适应滤波器进行系统辨识的MATLAB仿真
  • 220亿巨资注入,农业强国梦想加速启航!
  • 小张求职记六
  • 【云原生开发】K8S集群管理后端开发设计与实现
  • 员工培训对六西格玛管理的落地有哪些帮助?
  • 每日八股——java中的注解原理是什么?
  • C++网络编程之IO多路复用(二)
  • 中阳智能模型的量化投资创新及前景
  • 解决windows server 2016 安装IIS失败问题
  • 【Linux系统编程】第四十三弹---多线程编程指南:线程终止方式与C++11中的thread