虚拟机数据丢失情况描述

因服务器突然断电原因导致Xen Server服务器中一台VPS(即Xen Server虚拟机)不可用,虚拟磁盘文件丢失。硬件环境是Dell 720服务器配戴一张H710P的RAID卡,由4块希捷2T STAT硬盘组成的RAID 10,上层环境是Xen Server 6.2版本操作系统,虚拟机是Windows Server 2003系统,10G系统盘 + 5G数据盘两个虚拟机磁盘,上层是Web服务器(ASP + SQL 2005的网站架构)。

分析故障原因

为确保客户原始数据的安全必须先将客户的数据盘连接到恢复环境服务器上准备对数据进行镜像备份,这一步中需要准备超过客户硬盘总容量的存储空间将数据以底层扇区的方式进行镜像备份。
在案例中分析底层数据发现Xen Server服务器中虚拟机的磁盘均以以LVM的结构存放,即每个虚拟机的虚拟磁盘都是一个LV,并且虚拟磁盘的模式是精简模式的。LVM的相关信息在Xen Server中都有记载,查看“/etc/lvm/backup/frombtye.com “下LVM的相关信息发现并没有存在损坏的虚拟磁盘信息,因此可以断定LVM的信息已经被更新了。接着分析底层看能否找到未被更新的LVM信息,果不其然在底层发现了还未更新的LVM信息。
如下图:

根据未被更新的LVM信息找到了虚拟磁盘的数据区域,发现该区域的数据已被破坏。分析后发现造成虚拟机不可用的最终原因是因为虚拟机的虚拟磁盘被破坏,从而导致虚拟机中的操作系统和数据丢失。而导致这种情况的发生很有可能是虚拟机遭遇网络攻击或hack入侵后留下恶意程序造成的。仔细核对这片区域后发现,虽然该区域有很多数据被破坏了,但还是发现了很多数据库的页碎片。因此可以尝试将许多数据库的页碎片拼成一个可用的数据库。

1、实施方案一

根据RAR压缩包的结构可以找到很多压缩包的数据开始位置,而RAR压缩包文件的第一个扇区中会记录此RAR的文件名。因此根据从客户那里得知备份数据库的压缩包文件名和目前找到的压缩包位置的文件名相匹配,即可找到备份数据库压缩包的开始位置。找到压缩包的位置后仔细分析这片区域的数据,然后将此区域的数据恢复出来重命名为一个RAR格式的压缩文件。然后尝试解压此压缩包,发现解压报错。
报错如下图所示:

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

2、实施方案二

由于方案一并没有将数据库恢复出来,因此采用方案二来恢复数据。根据SQL Server数据库的结构去底层分析数据库的开始位置,在数据库的结构中,第9个页会记录本数据库的数据库名。因此在客户那里获取数据库的名称之后,再分析底层找到此数据库的开始位置。因为在数据库的每个页中都会记录数据库页编号以及文件号,所以可以根据这些特征编写程序去底层扫描符合数据库页的数据。
然后将扫描出来的碎片按顺序重组成一个完整MDF文件,再通过MDF校验程序检测整个MDF文件是否完整。
重建的MDF文件如下:
 

验证数据

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

虚拟机数据恢复总结

由于数据库需要结合网站代码才能更好的验证数据库的完整性。客户从开发商里拿到了网站代码搭建好了环境,然后将恢复好的数据库发给用户。经用户验证后,数据库没问题,通过拼数据库碎片的方式成功将数据库恢复完成,整个数据恢复成功。

虚拟机数据恢复案例(en Server虚拟机不可用)相关推荐

  1. 虚拟机拷贝出来_NETAPP存储虚拟机数据恢复案例

    本次分享的案例存储环境部署及存储数据恢复故障的起因:NETAPP FAS-8200存储使用96块磁盘组建两组存储池,存储池互为镜像.存储池内划分卷并映射到ESXI作为数据存储使用,卷内虚拟机数量约30 ...

  2. Linux系统 误删除kvm虚拟机数据恢复方法-数据恢复成功案例

    一.虚拟机故障环境描述 客户的物理机器操作系统为Linux系统,文件系统为EXT4文件系统.其上的KVM虚拟机被删除,每台虚拟机包含一个qcow2格式的磁盘文件,和一个大小约为1.2T的raw格式的磁 ...

  3. Xen Server虚拟机数据丢失的恢复过程

    虚拟机数据丢失情况描述 因服务器突然断电原因导致Xen Server服务器中一台VPS(即Xen Server虚拟机)不可用,虚拟磁盘文件丢失.硬件环境是Dell 720服务器配戴一张H710P的RA ...

  4. 分享:Xen Server虚拟机数据误删除的恢复过程

    故障描述 1.硬件架构概述   服务器:Dell 720服务器配戴一张H710P的RAID卡.   存储阵列:由4块希捷2T STAT硬盘组成的RAID 10.   操作系统:Xen Server 6 ...

  5. Xen Server虚拟机删除数据的恢复过程

    故障描述 1.硬件架构概述 服务器:Dell 720服务器配戴一张H710P的RAID卡. 存储阵列:由4块希捷2T STAT硬盘组成的RAID 10. 操作系统:Xen Server 6.2版本. ...

  6. 在虚拟机中安装Windows Server 2008企业版

    1.1 试验:在虚拟机中安装Windows Server 2008企业版 任务描述 以下将会演示如何安装Windows Server 2008企业版并完成初始化任务,能够联机激活操作系统.该操作在VM ...

  7. 在虚拟机中安装Ubuntu Server 15.04

    学Linux,上红联! 红联Linux门户|Linux通用技术|Linux发行版技术|Linux企业应用|Linux实验室|红联Linux论坛 Linux系统教程 Linux入门 Linux管理 Li ...

  8. Hyper-V Server虚拟机快照(检查点)

    Windows Server 2012/R2 通过使用微软Volume Copy Service 技术,可对Hyper-V 上运行的虚拟机制作实时快照,快照内容为虚拟机的状态.数据.硬件配置.每一部虚 ...

  9. 虚拟机的三大服务器启动不了,Win7系统下共享虚拟机提示VMware Workstation Server共享服务不能启动如何解决?...

    最近有Win7系统用户在安装使用虚拟机后,发现共享虚拟机时弹跳出来了错误的VMware Workstation Server共享服务不能启动的提示窗口,这使用户非常苦恼,那么Win7系统下共享虚拟机提 ...

最新文章

  1. sap abap好用的函数
  2. pom文件报错_maven-resources-plugin修改了我的文件
  3. Chapter1-1_Speech_Recognition(Overview)
  4. IDEA Translation插件安装及设置鼠标悬浮提示的自动翻译
  5. artifacts屏蔽java文件输出_Java 是什么?
  6. AJAX ControlToolkit学习日志-Tabs(27)
  7. React入门教程第三课--gulp编译优化
  8. 换一种方式“写代码 编程序“,为自己的程序生涯找条新路
  9. 通过负载均衡器+域名实现容灾切换-(9)GSLB典型产品-F5简介
  10. leetcode719:直线上的第k近点对
  11. 【HDU - 4342】History repeat itself(数学)
  12. 微信公众号推文新手排版快速入门
  13. opensips脚本格式
  14. 电脑桌面云便签怎么将界面最小化?
  15. 计算机科学对社会发展的作用,科学技术在计算机领域对社会发展的作用及影响...
  16. 匿名四轴上位机使用方法
  17. 【知识点回顾】取余数怎么计算
  18. 笔记 - Front End - 新知识点归纳
  19. Leetcode 1218. 最长定差子序列(DAY 47) ---- 动态规划学习期(昨天又没有看书捏 懒狗biss)
  20. ARM之S5pv210的USB刷机

热门文章

  1. t12电烙铁c语言程序,可跑C代码的串口屏之T12白光烙铁
  2. 代码签名证书如何申请?
  3. 欢迎了解专业思维导图MindManager2019完全可用版本
  4. ItemsPanel 属性
  5. 保证金,杠杆和风险限额委托种类
  6. CUIT第七届智能小车(基础四轮电磁组)比赛总结
  7. 递归求阶乘和--PTA
  8. Win10查看回收站清空超过1万个文件,占用资源高造成系统卡死,删除失败
  9. sklearn 中的评分
  10. log4j升级到log4j2 spring