首页 > 系统相关 >服务器数据恢复-断电导致Xen server虚拟化虚拟磁盘文件丢失,虚拟机不可用的数据恢复案例

服务器数据恢复-断电导致Xen server虚拟化虚拟磁盘文件丢失,虚拟机不可用的数据恢复案例

时间:2023-09-07 15:37:03浏览次数:43  
标签:数据恢复 虚拟机 数据库 磁盘 Server Xen 压缩包

服务器数据恢复环境:

一台某品牌服务器通过一张同品牌某型号RAID卡将4块STAT硬盘组建为一组RAID10阵列。上层部署Xen Server虚拟化平台,虚拟机上安装的是Windows Server操作系统,包括系统盘 +数据盘两个虚拟机磁盘,作为Web服务器使用,存放网站代码、SQL Server数据库以及其他网站数据。


服务器故障&故障原因分析:

机房意外断电导致服务器中一台VPS(Xen Server虚拟机)不可用,虚拟磁盘文件丢失。

北亚企安数据恢复工程师将故障服务器中所有磁盘编号后取出,以只读方式将所有磁盘完整镜像到准备好的备份空间,后续的数据分析和数据恢复操作都基于镜像文件进行,避免对原始磁盘数据造成二次破坏。备份完成后将所有磁盘按照编号还原到原服务器中。

基于镜像文件分析底层数据发现故障服务器中的虚拟机磁盘是以LVM结构管理的,即每个虚拟机的虚拟磁盘都是一个LV,虚拟磁盘模式是精简模式。

LVM的相关信息在Xen Server中都有记载。查看“/etc/lvm/backup/“下LVM的相关信息,并没有发现存在损坏的虚拟磁盘,可以初步判断LVM的信息已经被更新了。继续分析底层,查找到还未更新的LVM信息。

服务器数据恢复-断电导致Xen server虚拟化虚拟磁盘文件丢失,虚拟机不可用的数据恢复案例_服务器数据恢复

根据未更新的LVM信息找到虚拟磁盘的数据区域,发现该区域的数据已被破坏。现在可以确定虚拟机不可用的原因是虚拟机的虚拟磁盘被破坏,导致虚拟机中的操作系统和数据丢失。核对这片区域,发现该区域有很多数据被破坏了,但还是发现了很多数据库的页碎片。因此可以尝试将许多数据库的页碎片拼接为一个可用的数据库。


服务器数据恢复方案:

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

服务器数据恢复-断电导致Xen server虚拟化虚拟磁盘文件丢失,虚拟机不可用的数据恢复案例_虚拟化数据恢复_02

仔细分析恢复出来的压缩包,发现其中有部分数据被破坏,解压报错。尝试使用RAR的修复工具处理后解压。结果修复完成之后解压出来的数据只包含网站的部分代码,并没有发现数据库的备份文件。因此可以判断在RAR压缩包中的数据库的备份文件已经是损坏的。

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

服务器数据恢复-断电导致Xen server虚拟化虚拟磁盘文件丢失,虚拟机不可用的数据恢复案例_虚拟化数据恢复_03


方案b:

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

服务器数据恢复-断电导致Xen server虚拟化虚拟磁盘文件丢失,虚拟机不可用的数据恢复案例_虚拟化数据恢复_04


验证数据:

检测没问题之后,由数据库工程师搭建数据库环境,将重组后的数据库附加到搭建好的数据库环境中。查询相关表数据是否正常以及最新数据是否存在。检测没有问题后,在网站开发商的帮助下用网站代码搭建好环境,将恢复好的数据库发给用户在环境中配置好。经过用户验证后没有发现问题,确认恢复数据完整有效。本次数据恢复工作完成。

服务器数据恢复-断电导致Xen server虚拟化虚拟磁盘文件丢失,虚拟机不可用的数据恢复案例_服务器数据恢复_05

标签:数据恢复,虚拟机,数据库,磁盘,Server,Xen,压缩包
From: https://blog.51cto.com/sun510/7397619

相关文章

  • UTM虚拟机镜像文件及格式转换
    UTM虚拟机的image文件藏的比较深,本身app界面没有提供导出的选项,因此需要自己手动操作。UTM上点击Drive只能看到这个信息:具体image保存路径:~/Library/Containers/com.utmapp.UTM/Data/Documents/这个路径在MacFinder下默认看不到,可通过Terminal命令行进入然后copy一份image文件,默......
  • Palo Alto防火墙---VM虚拟机版
    PA防火墙有虚拟机版的,功能和物理机是一样的,不管是做实验还是真实环境部署都很方便。在这里我们聊两个问题:第一:网卡的数量我们在VM环境下部署,可以直接下载OVA格式的文件,然后通过部署OVF模板的方式一步步完成OVA文件的导入,导入完成,虚拟机也就部署完成了。部署完成之后,默认情况下系统......
  • 在虚拟机下载eclipse软件
    1、打开火狐FireFox浏览器输入这个网址:https://www.eclipse.org/downloads/packages/release/Luna/SR2然后选择这个:右边的第三个Linux,进行下载;选择ok:下载完成之后,进行提取:选择主目录之后,然后点击右上角的提取:提取完成:可以点击显示文件,进行eclipse文件的查看;2、编辑......
  • 虚拟机部署gitlab 接口502 含泪做笔记 ==> /var/log/gitlab/nginx/gitlab_error.log <
    行不通勿喷,谢谢!!**虚拟机部署gitlab接口502**gitlab-ctltail查看具体报错信息:==>/var/log/gitlab/nginx/gitlab_error.log<==2023/09/0416:45:44[crit]42817#0:*2connect()tounix://var/opt/gitlab/gitlab-rails/sockets/gitlab.socketfailed(13:Permissionde......
  • 软件测试 | Dalvik虚拟机是如何执行程序的
    Android系统的架构采用分层思想,这样的好处是拥有减少各层之间的依赖性、便于独立分发、容易收敛问题和错误等优点。Android系统由Linux内核、函数库、Android运行时、应用程序框架以及应用程序组成。如图3-4的Android系统架构所示,Dalvik虚拟机属于Android运行时环境,它与一些核心库......
  • 服务器数据恢复- 执行fsck导致Ext4分区无法挂载的数据恢复案例
    Ext4文件系统相关概念:块组:Ext4文件系统的空间被划分为若干个块组,每个块组内的结构大致相同。块组描述符表:每个块组都对应一个块组描述符,这些块组描述符统一放在文件系统的前部,称为块组描述符表。每个块组描述符大小为32字节,其主要描述块位图、i-节点位图及i-节点表的地址等信息。......
  • Android虚拟机原理面试题汇总(含详细解析 一)
    Android并发编程高级面试题汇总最全最细面试题讲解持续更新中......
  • 手把手教你在虚拟机中部署K8S集群二
    我们在:  手把手教你在虚拟机中部署Kubernetes集群(K8S)_ZeroMaster的博客知道基本的部署方式,但是上面还是有一些问题,比如一些服务启动有问题。下面有一个更详细的方式。实测可用。一、环境规划Kubernetes集群大致分为两类:一主多从和多主多从。(1)一主多从(单master):一个Master节......
  • Windows与网络基础——虚拟机镜像相关
    1.虚拟机Windows10安装硬盘分区时,先新建分区,再格式化在启动此电脑——管理——本地用户和组 向下箭头代表为禁用开机状态快照占用内存大于关机状态快照2.虚拟机WindowsServer2016安装要桌面的话,需要选择桌面体验版Server版本的WINDOWS需要给管理员设置密码,且具备复杂性,......
  • img文件如何安装在虚拟机内?看这里↓↓↓
    一、安装qemu软件(qemu下载)二、确认软件是否安装成功安装qemu后,打开cmd检测是否安装成功,切换至安装目录下,输如以下命令出现如下版本信息,则表示安装成功!三、将img文件转换为vmdk开始转换img文件,首先确定img文件位置打开cmd,切换至qemu安装目录输入如下命令.\qemu-img.execonvert......