广告位联系
返回顶部
分享到

碎片拼接技术恢复XenServer服务器SQL Server数据库数据

DNS服务器 来源:互联网 作者:秩名 发布时间:2022-03-04 22:10:51 人浏览
摘要

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

环境:?

  • 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文件如下:

?验证数据:?

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

截图如下:

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


版权声明 : 本文内容来源于互联网或用户自行发布贡献,该文观点仅代表原作者本人。本站仅提供信息存储空间服务和不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权, 违法违规的内容, 请发送邮件至2530232025#qq.cn(#换@)举报,一经查实,本站将立刻删除。
原文链接 : https://blog.51cto.com/sun510/5072270
相关文章
  • k8s集群部署时etcd容器不停重启问题以及处理介绍
    问题现象 在安装部署Kubernetes 1.26版本时,通过kubeadm初始化集群后,发现执行kubectl命令报以下错误: The connection to the server localhost:8080 was
  • docker容器中文乱码的解决教程
    docker部署java开发web项目。nohup显示打印日志出现中文乱码,中文显示为问号???。 环境 服务器系统:centos7、docker部署项目 具体操作如下
  • 云原生Docker创建并进入mysql容器的全过程

    云原生Docker创建并进入mysql容器的全过程
    本文主要讲解的是创建mysql的容器,大家都知道,在外面进入mysql都很容易,mysql -u用户名 -p密码就可以,但是是容器的mysql就没那么好进入了
  • 云原生Docker容器自定义DNS解析

    云原生Docker容器自定义DNS解析
    描述 在特定的情况下,或者在网络策略特殊定义下,需要自定义dns进行域名访问,在宿主机上配置了域名解析,对于docker容器无效。 对于局
  • 半小时实现基于ChatGPT搭建微信机器人

    半小时实现基于ChatGPT搭建微信机器人
    ChatGPT刷屏了 相信大家最近被ChatGPT刷屏了,其实在差不多一个月前就火过一次,不会那会好像只在程序员的圈子里面火起来了,并没有被大
  • docker search命令的具体使用
    一、docker search 命令选项 命令选项 描述 filter , -f 根据给定的条件进行过滤 format 自定义打印格式 limit 显示搜索结果,默认值25 no-trunc 回显结
  • docker-cli源码窥探(推荐)

    docker-cli源码窥探(推荐)
    docker-cli源码窥探 最近一直在使用docker,看了一些书和教程,但是一直停在使用的层面,但总觉得不够深入,故决定看看源码,学习优秀的项
  • kvm 透传显卡至win10虚拟机的方法

    kvm 透传显卡至win10虚拟机的方法
    环境 1 2 3 4 5 6 7 8 9 10 11 已安装nvidia 显卡 驱动 操作系统:CentOS Linux release 7.9.2009 (Core) 内核版本:Linux 5.4.135-1.el7.elrepo.x86_64 显卡 型号:rtx 6000
  • Docker Desktop常见的几种启动失败问题解决方法

    Docker Desktop常见的几种启动失败问题解决方法
    报错1,Error:Failed to restart 点Quit 然后出现提示WSL 2 is not installed 点击 Use Hyper-V 打开 启用或关闭windows功能 确保适用于Linux的Windows子系统和
  • 使用Kubernetes自定义资源(CRD)的介绍
    什么是CRD CRD的全称为CustomResourceDefinitions,即自定义资源。k8s拥有一些内置的资源,比如说Pod,Deployment,ReplicaSet等等,而CRD则提供了一种方
  • 本站所有内容来源于互联网或用户自行发布,本站仅提供信息存储空间服务,不拥有版权,不承担法律责任。如有侵犯您的权益,请您联系站长处理!
  • Copyright © 2017-2022 F11.CN All Rights Reserved. F11站长开发者网 版权所有 | 苏ICP备2022031554号-1 | 51LA统计