服务器数据恢复—服务器断电导致XenServer数据文件丢失的数据恢复案例

news2024/10/7 4:30:24

服务器数据恢复环境:
某品牌720服务器搭配该品牌某型号RAID卡,使用4块STAT硬盘组建了一组RAID10阵列。服务器上部署XenServer虚拟化平台,系统盘 +数据盘两个虚拟机磁盘。虚拟机上安装的是Windows Server操作系统,作为Web服务器使用,网站使用的是SQLServer数据库。

服务器故障:
服务器意外断电导致XenServer中一台VPS(XenServer虚拟机)不可用,虚拟磁盘文件丢失,

服务器数据恢复过程:
1、将故障服务器中磁盘编号后取出,由硬件工程师检测排除存在硬件故障后,以只读方式将所有磁盘进行扇区级的全盘镜像,镜像完成后将所有磁盘按照编号还原到原服务器中。后续的数据分析和数据恢复操作基于镜像文件进行,避免对原始磁盘数据造成二次破坏。
2、基于镜像文件分析底层数据发现XenServer中虚拟机的磁盘都以LVM的结构存放的,即每个虚拟机的虚拟磁盘都是一个LV,虚拟磁盘模式是精简模式。LVM的相关信息在XenServer中有记载,查看LVM的相关信息并没有发现存在损坏的虚拟磁盘信息,由此可以初步判断LVM的信息已经被更新了。继续分析底层查找到未更新的LVM信息。

3、根据未更新的LVM信息找到虚拟磁盘的数据区域,结果发现该区域数据已被破坏。经过分析最终确定导致虚拟机不可用的原因是虚拟机的虚拟磁盘被破坏,虚拟机中的操作系统和数据丢失。这种情况可能是虚拟机遭遇网络攻击或hack入侵导致的。北亚企安数据恢复工程师仔细核对这片区域后发现,虽然该区域很多数据被破坏,但是能找到大量的数据库的页碎片。可以尝试将这些数据库的页碎片拼接成一个可用的数据库。
实施方案A:
根据RAR压缩包的结构找到压缩包的数据开始位置,RAR压缩包文件的第一个扇区中会记录此RAR的文件名。将从用户方获取到的数据库压缩包文件名和目前找到的压缩包位置的文件名相匹配,即可找到备份数据库压缩包的开始位置。找到备份数据库压缩包的位置后分析这片区域的数据,然后将此区域的数据恢复出来重命名为一个RAR格式的压缩文件。尝试解压此压缩包,发现解压报错。

经过分析发现恢复出来的压缩包中有部分数据被破坏,所以导致解压报错。尝试使用RAR修复工具解压部分数据,修复完成之后,在解压的数据中只找到网站的部分代码,而没有找到数据库的备份文件,因此判断RAR压缩包中数据库的备份文件已经被损坏。

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

4、检测没有发现问题后,由数据库工程师搭建数据库环境,将重组后的数据库附加到搭建好的数据库环境中,查询相关表数据是否正常以及最新数据是否存在。

5、由用户方从网站程序开发商获取网站代码搭建好环境并配置好数据库进行验证。经过用户仔细验证,没有发现数据库存在问题,本次数据恢复工作完成。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1276691.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

捷诚管理信息系统CWSFinanceCommon.asmx SQL注入漏洞复现 [附POC]

文章目录 捷诚管理信息系统CWSFinanceCommon.asmx SQL注入漏洞复现 [附POC]0x01 前言0x02 漏洞描述0x03 影响版本0x04 漏洞环境0x05 漏洞复现1.访问漏洞环境2.构造POC3.复现 0x06 修复建议 捷诚管理信息系统CWSFinanceCommon.asmx SQL注入漏洞复现 [附POC] 0x01 前言 免责声明…

Kafka中的auto-offset-reset配置

Kafka这个服务在启动时会依赖于Zookeeper,Kafka相关的部分数据也会存储在Zookeeper中。如果kafka或者Zookeeper中存在脏数据的话(即错误数据),这个时候虽然生产者可以正常生产消息,但是消费者会出现无法正常消费消息的…

二叉树刷题Leetcode

文章目录 104.二叉树的最大深度100.相同的树965.单值二叉树 104.二叉树的最大深度 int maxDepth(struct TreeNode* root) {if(rootNULL)return 0; int left1maxDepth(root->left); int right1maxDepth(root->right); return left>right?left:right; }处理二叉树最大深…

MIT线性代数笔记-第20讲-克拉默法则,逆矩阵,体积

目录 20.克拉默法则,逆矩阵,体积求逆公式克拉默法则用行列式关联体积 打赏 20.克拉默法则,逆矩阵,体积 求逆公式 考虑二阶方阵,有 [ a b c d ] − 1 1 a d − b c [ d − b − c a ] \begin{bmatrix} a & b \\ …

dynamic-datasource多数据源事务

Spring 事务管理分为编程式和声明式两种 编程式事务指的是通过编码方式实现事务;声明式事务基于 AOP,将具体的逻辑与事务处理解耦(编程式事务在这边不做过多陈述)。 声明式事务有两种方式,一种是在配置文件(XML)中做相…

Sentinel核心类解读:Node

基本介绍 Sentinel中的簇点链路是由一个个的Node组成的,Node是一个接口。Node中保存了对资源的实时数据的统计,Sentinel中的限流或者降级等功能就是通过Node中的数据进行判断的。 Sentinel中是这样描述Node的: Holds real-time statistics…

异常处理啊

异常处理 异常 程序运行过程中,发生错误导致异常退出(不是程序的语法问题,而是代码的逻辑问题,编译不出错)。 e.g. string 字符串,使用 at 函数访问其中的字符元素时,如果越界,程…

SQL Server数据库部署

数据库简介 使用数据库的必要性 使用数据库可以高效且条理分明地存储数据,使人们能够更加迅速、方便地管理数据。数据库 具有以下特点。 》可以结构化存储大量的数据信息,方便用户进行有效的检索和访问。 》 可以有效地保持数据信息的一致性&#xff0c…

(详细教程)笔记本电脑安装Ubuntu系统

1.前言 老的小米笔记本淘汰了,装一下linux系统玩一下。 使用工具如下:一台小米笔记本pro15.6一个惠普32G U盘一个台式机用于下载镜像等资源 2.下载Ubuntu桌面版 cn.ubuntu.com/download/de… 这里我下载的是 22.04.3 LTS 3.下载烧录工具&#xff0c…

软件设计中如何画各类图之三时序图:理解对象交互顺序的利器

目录 1 前言2 符号及说明2.1 对象(Object)2.2 生命线(Lifeline)2.3 消息(Message)2.4 激活(Activation) 3 画时序图的步骤3.1 确定参与对象3.2 绘制生命线3.3 添加消息3.4 标识激活3…

公共部门生成式人工智能的未来

作者:Dave Erickson 最近,我与 IDC Government Insights 研究副总裁阿德莱德奥布莱恩 (Adelaide O’Brien) 坐下来讨论了全球公共部门生成式人工智能的当前和未来状况。 完整的对话可以按需查看,但我也想强调讨论中的一些要点。 我们的目标是…

【Python表白系列】一起去看流星雨吧!(完整代码)

文章目录 流星雨环境需求完整代码详细分析系列文章流星雨 环境需求 python3.11.4PyCharm Community Edition 2023.2.5pyinstaller6.2.0(可选,这个库用于打包,使程序没有python环境也可以运行,如果想发给好朋友的话需要这个库哦~)【注】 python环境搭建请见:https://want5…

在IDEA中,如何修改Jetty的端口号,操作超简单

在IDEA中的jetty配置中的VM options中填入:-Djetty.portxxxx 如下图:

VSC++: 双进制回文

缘由双进制回文数&#xff0c;一道C程序题&#xff0c;求解&#xff01;&#xff01;&#xff01;&#xff1f;_编程语言-CSDN问答 int 合成100回文(int 数) { int 合 0, 倒 数>10 && 数 < 100 ? 数 / 10 : 数;while (倒)合 * 10, 合 倒 % 10, 倒 / 10, (合…

HT71778 实时音频信号跟踪同步升压转换器的特性

HT71778是一款高功率、全集成升压转换器&#xff0c;集成16mΩ功率开关管和18mΩ同步整流管&#xff0c;为便携式系统提供G效的小尺寸处理方案。 HT71778 实时音频信号跟踪同步升压转换器的特性&#xff1a; ・实时音频信号跟踪的电源供电 SN 短接地, VIN 2.7~4.5V, VOUT 5…

时间复杂度为 O(n^2) 的排序算法 | 京东物流技术团队

对于小规模数据&#xff0c;我们可以选用时间复杂度为 O(n2) 的排序算法。因为时间复杂度并不代表实际代码的执行时间&#xff0c;它省去了低阶、系数和常数&#xff0c;仅代表的增长趋势&#xff0c;所以在小规模数据情况下&#xff0c; O(n2) 的排序算法可能会比 O(nlogn) 的…

数字化智慧工地管理云平台源码(人工智能、物联网)

​智慧工地优势&#xff1a;"智慧工地”将施工企业现场视频管理、建筑起重机械安全监控、现场从业人员管理、物料管理、进度管理、扬尘噪声监测等现场设备有机、高效、科学、规范的结合起来真正实现工程项目业务流与现场各类监控源数据流的有效结合与深度配合&#xff0c;…

【Node.js】笔记梳理 8 - API和JWT

写在最前&#xff1a;跟着视频学习只是为了在新手期快速入门。想要学习全面、进阶的知识&#xff0c;需要格外注重实战和官方技术文档&#xff0c;文档建议作为手册使用 系列文章 【Node.js】笔记整理 1 - 基础知识【Node.js】笔记整理 2 - 常用模块【Node.js】笔记整理 3 - n…

Hdoop学习笔记(HDP)-Part.15 安装HIVE

目录 Part.01 关于HDP Part.02 核心组件原理 Part.03 资源规划 Part.04 基础环境配置 Part.05 Yum源配置 Part.06 安装OracleJDK Part.07 安装MySQL Part.08 部署Ambari集群 Part.09 安装OpenLDAP Part.10 创建集群 Part.11 安装Kerberos Part.12 安装HDFS Part.13 安装Ranger …

Linux 系统是如何收发网络包的?(计算机网络)

一、Linux 网络协议栈 如下是TCP/IP四层网络模型&#xff0c;实际上Linux 网络协议栈与它相似 下图是Linux 网络协议栈 二、Linux 接收网络包的流程 1.网卡是计算机里的一个硬件&#xff0c;专门负责接收和发送网络包&#xff0c;当网卡接收到一个网络包后&#xff0c;会通过…