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

服务器数据恢复环境:
某品牌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.mzph.cn/news/199175.shtml

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

相关文章

虾皮助手:提升Shopee卖家运营效率的必备辅助工具

随着电商市场的快速发展,越来越多的卖家选择在Shopee平台上开设在线商店。然而,随之而来的是更多的竞争和挑战。为了在这个竞争激烈的市场中脱颖而出,卖家们需要寻找一种工具来帮助他们更高效地管理和运营他们的店铺。虾皮助手(Sh…

CSS特效026:扇骨打开关闭的动画

CSS常用示例100专栏目录 本专栏记录的是经常使用的CSS示例与技巧,主要包含CSS布局,CSS特效,CSS花边信息三部分内容。其中CSS布局主要是列出一些常用的CSS布局信息点,CSS特效主要是一些动画示例,CSS花边是描述了一些CSS…

数据结构的一些结论

任何一颗二叉树的叶子结点在先序、中序、后序遍历中的相对位置不变。最后一趟排序前仍可能没有在最终位置上的排序是插入排序。 B − B^- B−树第一层最少有1个节点,第二层最少有2个,第3层最少有 2 m 2 2 \frac{m}{2} 22m​,第4层最少有 2 ( m 2 ) 2 2 …

vue创建项目,使用可视化界面安装插件

安装项目: vue create vue-app 选择默认配置就行,也可以按需选择自定义配置 vue ui通过可视化管理项目 通过可视化安装全家桶插件

android 13.0 Camera2去掉前置摄像头闪光灯功能

1.概述 在13.0定制化开发中,对于Camera2前置摄像头拍照时闪光灯闪烁一下的问题,是必须要去除的明显影响到使用的功能, 所以根据代码来去掉前置摄像头闪光灯的问题,接下来看具体实现相关功能 2.Camera2去掉前置摄像头闪光灯的核心代码 /packages/apps/Camera2/src/com/andr…

连接池打满,导致页面夯住

连接池打满,导致页面夯住 1、背景生产环境中访问系统,页面延迟卡顿 2、排产思路 1)、查看日志是排查问题的第一要素(个人认为);查看日志发现使用com.alibaba.druid.pool设置最大连接数为100,已…

【android开发-15】android中广播broadcast用法详解

1,broadcast类型 在Android中,Broadcast是一种用于在应用程序组件之间传递消息的机制。它允许一个组件(发送者)将消息发送给其他组件(接收者),即使它们之间不存在直接的联系。 Android中的Bro…

挑战音频爬虫的技术迷宫:Watir和Ruby的奇妙合作

概述 音频爬虫是一种可以从网站上抓取音频文件的程序。音频爬虫的应用场景很多,比如语音识别、音乐推荐、声纹分析等。然而,音频爬虫也面临着很多技术挑战,比如音频文件的格式、编码、加密、隐藏、动态加载等。如何突破这些技术障碍&#xf…

人工智能和程序员

一、介绍人工智能和程序员 人工智能(AI)是一种模拟人类智能的计算机系统,其目的是让计算机具备类似人类的学习、推理、规划和理解能力。人工智能致力于创建能够感知、适应环境并作出决策的智能体,以解决各种复杂的问题。程序员是…

代码随想录算法训练营第五十六天 | 583. 两个字符串的删除操作,72. 编辑距离

目录 583. 两个字符串的删除操作 72. 编辑距离 583. 两个字符串的删除操作 题目链接:583. 两个字符串的删除操作 看到这一题就感觉很熟悉,实际上就是求最长公共子序列。 但这题出在这里的原因是为了给下一题做铺垫,所以还是换一种思路&#x…

整数和浮点数在内存中的存储​(大小端详解)

目录 一、整数在内存中的存储 二、大小端字节序和字节序判断 2.1为什么有大小端?​ 2.2请简述大端字节序和小端字节序的概念,设计一个小程序来判断当前机器的字节序。(10分)-百度笔试题 方法一(char*强制类型转换&#xff09…

迅为RK3588开发板定制Ubuntu和Debian系统-系统定制(无法联网)

在上一个小节中讲解了 ubuntu 和 debian 文件系统的定制,但那是在可以运行脚本正常构 建系统的前提下,而本小节则是针对部分特殊用户无法联网的情况。 在 source 目录下存放了已经构建完成的压缩包,如下图所示 然后使用以下命令将该压缩包解…

Hive SQL的各种join总结

说明 Hive join语法有6中连接 inner join(内连接)、left join(左连接)、right join(右连接)、full outer join(全外连接)、left semi join(左半开连接)、cr…

Java 为什么叫 Java?

Java 为什么叫 Java ? JavaWorld 于 1996 年出版的 Java 小组访谈中提及了 Java 这个名称的由来,外媒 coderoasis 对此进行了整理和介绍。 诞生于 Sun Microsystems 时,这门语言还不叫 Java,而是叫 OAK 。然而 OAK 团队去注册商标…

prime靶机打靶记录

靶机下载地址 https://download.vulnhub.com/prime/Prime_Series_Level-1.rar nmap搜索目标 使用nmap -sn 192.168.41.0/24找到目标靶机192.168.41.136 扫描端口,因为是靶机,所以速率直接调了10000 扫出来两个端口22和80,进行详细的扫描 没…

matlab cell转三维矩阵

问题描述 我有一个cell类型的wlf变量,16行4列,每个单元格都是[1000,1]的矩阵,如下图所示 业务含义:代表16个医院的4个业务指标的1000次模拟值(蒙特卡洛模拟) 我想要处理成[16,4,1000]的三维矩阵&#xff0…

利用flask将yolov5算法封装成在线推理服务

本脚本主要参考了yolov5工程文件夹下面的detect.py,将yolov5算法封装成了一个在线的推理服务,可以接受app请求,然后推理图片,并将检测结果以json返回,该服务可以供数据标注平台请求。 from flask import * import shutil import json import os import pynvml import pand…

分享116个图片JS特效,总有一款适合您

分享116个图片JS特效,总有一款适合您 116个图片JS特效下载链接:https://pan.baidu.com/s/1WvUvmG1adR2EJG97MiGj3A?pwd6666 提取码:6666 Python采集代码下载链接:采集代码.zip - 蓝奏云 学习知识费力气,收集整…

Java——Object类详解

我们学习的所有类、我们以后定义的所有类,都是Object类的子类,也都具备Object类的所有特性。因此,我们非常有必要掌握Object类的用法。 Object类的基本特性 Object类是所有Java类的根基类,也就意味着所有的Java对象都拥有Object…

jQuery实现3D轮播图

通过CSS3的3D变换和jQuery Transit插件实现了一个3D旋转的图片轮播效果 HTML部分: div id“banner”:定义了一个id为"banner"的div标签,作为图片轮播的容器。 ul: 在"banner"中定义了一个无序列表,每个列表项…