环境:

Dell PowerEdge服务器;
XenServer虚拟化平台;
4块希捷2T STAT硬盘用RAID卡组成的RAID10;
XenServer虚拟机操作系统:Windows Server系统;
虚拟机磁盘:1个10G系统盘和1个5G数据盘,部署的Web服务器(ASP +SQL)。

故障:

服务器突然断电导致服务器中一台XenServer虚拟机不可用,虚拟磁盘文件丢失,服务器管理员联系北亚数据恢复中心寻求帮助。

故障检测和分析:

1、拿到原始数据盘后,北亚数据恢复工程师将原始盘连接到北亚数据恢复服务器上,准备超过原始盘总容量的空间作为备份原始盘数据使用,将原始盘以磁盘底层扇区的方式镜像到备份空间上,以后操作都在备份数据上操作,以确保原始盘数据安全。

2、分析底层数据,北亚数据恢复工程师发现XenServer中虚拟机的磁盘都是以LVM结构存放,即每个虚拟机的虚拟磁盘都是一个LV,虚拟磁盘模式是精简模式。

LVM的相关信息在Xen Server中都有记载,查看“/etc/lvm/backup/frombtye.com “下LVM的相关信息发现并没有存在损坏的虚拟磁盘信息,因此北亚数据恢复工程师判断LVM的信息已经被更新了。因此,北亚数据恢复工程师只能接着分析底层看能否找到未被更新的LVM信息,经过一番努力,终于在底层发现还未更新的LVM信息。如下图:

3、根据获取到的未被更新的LVM信息找到虚拟磁盘存放数据的区域,发现该区域的数据已被破坏。北亚数据恢复工程师经过分析后发现,造成虚拟机不可用的原因是虚拟机的虚拟磁盘被破坏,虚拟机中的操作系统和数据丢失。这种情况很有可能是由虚拟机遭遇网络攻击或入侵后留下恶意程序造成的。仔细核对这片区域后,北亚工程师发现虽然该区域很多数据被破坏,但还是找到很多数据库的页碎片,可以尝试将这些数据库的页碎片拼接成一个可用的数据库。

服务器数据恢复过程:

1、数据恢复方案一

按照方案一的思路进行底层分析,根据RAR压缩包的结构可以找到很多压缩包的数据开始位置,而RAR压缩包文件的第一个扇区中会记录此RAR的文件名。因此通过从管理员那里获知的备份数据库的压缩包文件名和目前找到的压缩包位置的文件名相匹配,可找到备份数据库压缩包的开始位置。找到压缩包的位置后仔细分析这片区域的数据,然后将此区域的数据恢复出来重命名为一个RAR格式的压缩文件,尝试解压此压缩包,解压报错。

报错如下图所示:

仔细分析恢复出来的压缩包,北亚数据恢复工程师发现有部分数据被破坏,因此解压的时候报错。尝试使用RAR的修复工具看能否忽略错误,解压出来部分数据。结果修复完成之后解压出来的数据只有网站的部分代码,并没有发现数据库的备份文件。因此可以判断数据库备份文件在RAR压缩包中是损坏的。

如下是解压出来的部分网站代码:

2、数据恢复方案二

由于方案一并没有成功将数据库恢复出来,因此采用方案二来恢复数据。根据SQL Server数据库的结构去底层分析数据库的开始位置。在SQL Server数据库的结构中,第9个页会记录本数据库的数据库名。因此从服务器管理员那里获知到数据库名称之后,北亚数据恢复工程师再分析底层找到此数据库的开始位置。因为在SQL Server数据库的每个页中都会记录数据库页编号以及文件号,北亚数据恢复工程师根据这些特征编写程序去底层扫描符合数据库页的数据。

然后将扫描出来的碎片按顺序重组成一个完整MDF文件,再通过MDF校验程序检测整个MDF文件是否完整。重建的MDF文件如下:

 
 
验证数据:

经过检测确定恢复出来的数据没问题之后,由北亚工程师搭建数据库环境,将重组后的数据库附加到搭建好的数据库环境中,查询相关表数据是否正常,查询最新数据是否存在。截图如下:

由于数据库需要结合网站代码才能更好的验证数据库的完整性。管理员从网站开发商那里拿到网站代码搭建好环境,然后将恢复出来的数据库配置好后去验证,没有发现问题,本次数据恢复成功。

【北亚数据恢复】通过碎片拼接技术恢复XenServer服务器磁盘中SQL Server数据库数据相关推荐

  1. Debezium系列之:使用Debezium接入SQL Server数据库数据到Kafka集群的详细技术文档

    Debezium系列之:使用Debezium接入SQL Server数据库数据到Kafka集群的详细技术文档 一.Debezium概述 二.SQL Server 连接器的工作原理 1.Snapshot ...

  2. 浪潮财务软件SQL SERVER数据库数据删除恢复成功

    [用户单位] 某企业 [数据恢复故障描述] 用户在进行数据维护时,误操作,在浪潮财务软件中把数据初始化了,因今年没有做备份,故今年所有财务凭证丢失. [数据恢复故障分析] 在SQL Server企业管 ...

  3. server多笔记录拼接字符串 sql_第四章、SQL Server数据库查询大全(单表查询、多表连接查询、嵌套查询、关联子查询、拼sql字符串的查询、交叉查询)...

    4.1.查询的类型 declare @value as int set @value = 50 select  'age:'as age,2008 years,@valueas va --这种查询时跟 ...

  4. SQL Server 数据库之备份和恢复数据库

    备份和恢复数据库 1. 概述 2. 备份类型 3. 恢复模式 3.1 简单恢复模式 3.2 完全恢复模式和大容量日志恢复模式 4. 备份数据库 5. 恢复数据库 1. 概述 在一些对数据可靠性要求很高 ...

  5. 【虚拟机数据恢复】碎片拼接恢复XenServer服务器被删除的虚拟机

    服务器故障: 服务器管理员误操作删除了XenServer服务器中的一台虚拟机,这台服务器中存储了公司重要数据,于是联系我们数据恢复中心进行虚拟机的数据恢复.数据恢复工程师前往现场初检发现服务器内的VP ...

  6. 【服务器数据恢复】使用碎片拼接方法恢复SQL Server数据库的数据恢复案例

    服务器数据恢复环境: 某公司一台DELL服务器,作为WEB服务器使用,安装的Windows Server操作系统,配置了SQL Server数据库: 采用了Xen Server虚拟化系统: 底层是通过 ...

  7. 【数据库数据恢复】SQL SERVER数据库MDF (NDF)或LDF损坏怎么恢复数据?

    SQL SERVER数据库故障类型: MDF(NDF)或LDF损坏. SQL SERVER故障原因: 1.数据库正在操作过程中,机器突然断电: 2.人为误操作. SQL SERVER故障表现: 1.数 ...

  8. MS SQL Server数据库修复利器—D-Recovery For MS SQL Server数据恢复软件

    微软的SQL Server 数据库最常用的有两种类型的文件: 1.主要数据文件,文件后缀一般是.MDF: 2.事务日志文件,文件后缀一般是.LDF. 用户数据表.视图.存储过程等等数据,都是存放在MD ...

  9. 了解SQL Server数据库恢复模型

    A recovery model is a database configuration option that determines the type of backup that one coul ...

最新文章

  1. JavaScript总结(七)
  2. 【Qt】设置窗口透明度
  3. 星星模型 维度_用模型“想象”出来的target来训练,可以提高分类的效果!
  4. __MACOSX文件是什么
  5. 清华大学计算机系网络教学视频31门计算机课程
  6. FMS4.5( Adobe Flash Media Server4.5)流媒体服务器搭建
  7. 深入理解 Java 内存模型(转载)
  8. OpenCV3学习笔记二:图像的掩膜操作
  9. telnet或SQLplus下命令输入错误如何删掉重新输入
  10. 学习笔记01:1.1 基于概率的信任
  11. java 对象引用传递
  12. WCF元数据交互及其序列化
  13. Asp.net MVC3 RTM的源代调试
  14. Android 汉字转拼音的多种实现方式
  15. 上海电力大学计算机专业考研好考么,上海电力大学(专业学位)计算机技术考研难吗...
  16. Unity - Timeline 之About Timeline(关于Timeline)
  17. 二维动画毕业论文参考文献精选
  18. nice、renice
  19. 在WSL上安装MuJoCo和mujoco_py
  20. 关于HTML colgroup 标签介绍

热门文章

  1. 百度校招提前批前端一面
  2. R语言使用colSums函数对矩阵或者数据框数据的列求和、使用rbind函数行列和向量附加到原始矩阵数据尾部
  3. WIndows上,查看硬盘是SSD,还是HDD的方法
  4. edgessubpix参数说明_《zw版·Halcon-delphi系列原创教程》 Halcon分类函数004·edge,边缘处理...
  5. 1.特定领域知识图谱知识融合方案(实体对齐):优酷领域知识图谱为例
  6. 对VR感兴趣,贾樟柯正在筹备VR电影长片
  7. 扇贝丁--瑶柱的挑选
  8. MapReduce设计模式学习
  9. better-scroll滚定插件
  10. 杜邦接口还有一个跟他相反的叫什么_在“考杜拉”和“特卫强”之后,杜邦公司又用一种面料征服了我...