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

虚拟化数据恢复—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.kler.cn/a/385920.html

相关文章:

  • 蓝队基础1
  • java版嘎嘎快充汽车单车充电系统源码系统jeecgboot
  • 【Linux】获得同一子网下当前在线设备IP/Latency/MAC 通过nmap指定CIDR扫描当前在线设备
  • STM32设计学生宿舍监测控制系统
  • 基于node一键发布到服务器的js脚本
  • 统信UOS开发接口DTK
  • STM32 BootLoader 刷新项目 (九) 跳转指定地址-命令0x55
  • GEE 案例——利用哨兵-2 图像时间序列和谷歌地球引擎云计算自动绘制和监测香港海洋水质参数
  • 蓝桥杯 Python组-神奇闹钟(datetime库)
  • 深入了解 curl:使用和功能详解
  • Android OpenGL ES详解——纹理过滤GL_NEAREST和GL_LINEAR的区别
  • 数据分析-41-时间序列预测之机器学习方法XGBoost
  • Spark Plan 之 SQLMetric
  • 电影插曲《牧羊曲》
  • 推荐一款面向增材制造的高效设计平台:nTopology
  • 新闻稿件管理:SpringBoot框架实战指南
  • css中pointer-events:none属性对div里面元素的鼠标事件的影响
  • qt QSyntaxHighlighter详解
  • 如何解决传统能源企业后备人才不足、人才规划缺失问题
  • IDEA启动JavaEE启动控制台乱码或者jsp等页面乱码
  • 【pytorch】Mujoco + 常用强化学习算法(持续更新)
  • npm安装记录
  • 羽星股份引领连锁业数智化转型,厦门羽星科技公司逆势增长剑指纳斯达克
  • HCIP-HarmonyOS Application Developer 习题(二十)
  • Java实现营业执照OCR识别API接口
  • Spring Mvc中拦截器Interceptor详解