当前位置: 首页 > news >正文

服务器数据恢复-Xen server虚拟机数据恢复案例

服务器数据恢复环境:
一台某品牌服务器通过一张同品牌某型号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信息。

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

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

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

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

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

相关文章:

服务器数据恢复-Xen server虚拟机数据恢复案例

服务器数据恢复环境: 一台某品牌服务器通过一张同品牌某型号RAID卡将4块STAT硬盘组建为一组RAID10阵列。上层部署Xen Server虚拟化平台,虚拟机上安装的是Windows Server操作系统,包括系统盘 数据盘两个虚拟机磁盘,作为Web服务器使…...

电工-PN结的工作原理

如果将PN结加正向电压,即P区接正极,N区接负极,如右图所示。由于外加电压的电场方向和PN结内电场方向相反。在外电场的作用下,内电场将会被削弱,使得阻挡层变窄,扩散运动因此增强。这样多数载流子将在外电场…...

C#教学辅助系统网站as.net+sqlserver

本教学辅助系统系统从两种用户角度进行功能划分。 1、学生部分: 1.1:新闻查看; 1.2:课程公告查看; 1.3:用户注册; 1.4:在线留言; 1.5:资料下载; …...

Selenium - Tracy 小笔记2

selenium本身是一个自动化测试工具。 它可以让python代码调用浏览器。并获取到浏览器中加们可以利用selenium提供的各项功能。帮助我们完成数据的抓取。它容易被网站识别到,所以有些网站爬不到。 它没有逻辑,只有相应的函数,直接搜索即可 …...

SVN 和 GIT 命令对比

参考 https://blog.csdn.net/justry_deng/article/details/82259470 # TortoiseSVN打分支、合并分支、切换分支 https://www.huliujia.com/blog/802a64152bbbe877c95c84ef2fdf3857a056b536/ # 版本控制:Git与Svn的命令对应关系 TortoiseSVN打分支、合并分支、切换…...

LeetCode 之 移除元素

算法模拟: Algorithm Visualizer 在线工具: C 在线工具 如果习惯性使用Visual Studio Code进行编译运行,需要C11特性的支持,可参考博客: VisualStudio Code 支持C11插件配置 问题1:LeetCode 27.移除元素…...

Leecode1160: 拼写单词

直接使用一个哈希表存整体的结果,一个临时的哈希表每次算一遍,但是1是要设置标志位来判断最后是否正确并加上长度,2是千万要记得每次新建一个空间来存哈希表绝对不能不空间就等于,会出事!!...

电脑死机的时候,CPU到底在做什么?

电脑死机,应该每个接触计算机的小伙伴都经历过吧。 尤其是早些年,电脑配置还没现在这么高的时候,多开几个重量级应用程序,死机就能如约而至,就算你把键盘上的CTRLALTDELETE按烂了,任务管理器也出不来&…...

jdk 中的 keytool 的使用,以及提取 jks 文件中的公钥和私钥

这里暂时只需要知道如何使用就可以了。 首先是生成一个密钥, keytool -genkeypair -alias fanyfull -keypass ffkp123456 -validity 365 -storepass ffsp123456 -keystore fanyfull.jks -keyalg RSA解释一下这里的选项, -alias 密钥对的名称-keypass …...

Mysql--技术文档--B+树-数据结构的认知

阿丹解读: 之前的文章中写道了有关mysql底层索引,那么在数据量特别大的情况下。mysql采用了B来管理索引。和存储的数据。 Mysql--技术文档--索引-《索引为什么查找数据快?》-超底层详细说明索引_一单成的博客-CSDN博客 B树解读&#xff1a…...

cms之wordpress主题安装

WordPress主题安装教程的方法有两种,分为在线安装和上传安装,下面是主题详细安装方法的步骤。 后台在线安装主题 从后台的主题界面在线安装主题是最方便的WordPress主题安装方式。方法如下: 1 在WordPress后台,转到外观→主题 …...

【Python程序设计】Python 中的环境变量【05/8】

一、说明 以下文章是有关 Python 数据工程系列文章的一部分,旨在帮助数据工程师、数据科学家、数据分析师、机器学习工程师或其他刚接触 Python 的人掌握基础知识。本篇将讲述环境变量的问题。 迄今为止,本初学者指南包括: 第 1 部分&#xf…...

查漏补缺 - ES6

目录 1,let 和 const1,会产生块级作用域。2,如何理解 const 定义的变量不可被修改? 2,数组3,对象1,Object.is()2,属性描述符3,常用API4,得到除某个属性之外的新对象。 4…...

基于视觉重定位的室内AR导航APP的大创项目思路(1):最初的项目思路(SLAM)

文章目录 最初的项目思路(SLAM):后文: 前情提要: 是第一次做项目的小白,文章内的资料介绍如有错误,请多包含! 最初的项目思路(SLAM): 由于我们在…...

C 编译原理

C 编译原理 目录 C 编译原理引入GCC 工具链介绍C运行库 编译准备工作编译过程1.预处理2.编译3.汇编4.链接 分析ELF文件1.ELF文件的段2.反汇编ELF C语言编译过程 - 摘录编译预处理编译、优化汇编链接过程 引入 大家肯定都知道计算机程序设计语言通常分为机器语言、汇编语言和高…...

服务管理工具systemctl

服务管理工具systemctl Linux服务管理两种方式 service 和 systemctl systemd 是Linux系统最新的初始化系统(init),作用是提高系统的启动速度,尽可能启动较少的进程,尽可能更多进程并发启动. systemd 对应的进程管理命令是systemctlsystemctl 是systemd的主命令,用于管理系统…...

Spring boot环境搭建

使用IDE工具:IntelliJ IDEA 目录 一、安装JAVA 二、安装maven(Java项目管理工具) 三、安装IDE 四、在IDE中配置spring boot项目环境 1、配置jdk 2、配置maven 3、安装创建spring boot项目插件:Spring Assistant 4、安装简…...

【C++】list的模拟实现【完整理解版】

目录 一、list的概念引入 1、vector与list的对比 2、关于struct和class的使用 3、list的迭代器失效问题 二、list的模拟实现 1、list三个基本函数类 2、list的结点类的实现 3、list的迭代器类的实现 3.1 基本框架 3.2构造函数 3.3 operator* 3.4 operator-> 3…...

Linux C++ OpenVINO 物体检测 Demo

目录 main.cpp #include <iostream> #include <string> #include <vector> #include <openvino/openvino.hpp> #include <opencv2/opencv.hpp> #include <dirent.h> #include <stdio.h> #include <time.h> #include …...

解决运行Docker镜像报错:version `GLIBC_2.32‘ not found

解决运行Docker镜像&#xff0c;报错&#xff1a;version GLIBC_2.32’ not found 详细报错日志 xapi-backend % docker logs 036de55b5bc6 ./xapi-backend: /lib/aarch64-linux-gnu/libc.so.6: version GLIBC_2.32 not found (required by ./xapi-backend) ./xapi-backend: …...

【复盘】2026年5月11日(周一)

生成时间&#xff1a;2026-05-11 | 数据来源&#xff1a;金融数据库 研报库 核心关注&#xff1a;科创50暴涨4.65%&#xff0c;半导体领涨&#xff0c;量能放大至3.54万亿一、今日核心结论总结一句话&#xff1a; 科创50引领、半导体强势爆发&#xff0c;A股全面走强创阶段新高…...

OpenClaw 长期使用避坑指南:环境稳定性维护、数据备份策略、版本兼容处理全方案

OpenClaw 长期使用避坑指南&#xff1a;环境稳定性维护、数据备份策略、版本兼容处理全方案引言OpenClaw 作为一款强大的开源自动化抓取与数据处理平台&#xff0c;因其灵活性、可定制性和社区支持&#xff0c;在众多领域如数据采集、RPA&#xff08;机器人流程自动化&#xff…...

高压隔离技术:原理、应用与AMC130x设计解析

1. 高压隔离技术的基础原理与行业需求在工业自动化、新能源发电和电力电子系统中&#xff0c;高压隔离技术如同电路系统的"安全气囊"&#xff0c;它能在数千伏的电位差下确保信号和能量的无损传输&#xff0c;同时阻断危险电流的流通。德州仪器&#xff08;TI&#x…...

地表温度反演进阶:对比单窗算法与大气校正法,用ENVI/ERDAS分析Landsat 7 ETM+数据哪个更准?

地表温度反演技术深度对比&#xff1a;单窗算法与大气校正法的实战解析 遥感技术在地表温度反演领域的应用已经发展出多种成熟算法&#xff0c;其中单窗算法和大气校正法&#xff08;RTE&#xff09;是最为常用的两种方法。对于中高级遥感用户而言&#xff0c;理解这两种算法的…...

ARMv8 A64指令集SIMD与浮点运算优化指南

1. A64指令集SIMD与浮点运算架构解析在ARMv8架构中&#xff0c;A64指令集的SIMD&#xff08;单指令多数据流&#xff09;和浮点运算单元构成了高性能计算的核心引擎。这套指令集的设计体现了现代处理器架构中数据级并行&#xff08;DLP&#xff09;的精髓——通过单条指令同时处…...

本地AI网关实战:统一管理多模型服务,实现智能路由与成本控制

1. 项目概述&#xff1a;一个本地化的AI网关如果你正在同时使用多个AI模型服务商&#xff0c;比如OpenAI、Anthropic、Google Gemini&#xff0c;或者还在本地运行着Ollama、vLLM这样的模型&#xff0c;那你一定体会过那种切换的繁琐。每个客户端、每个脚本都要配置不同的API密…...

S2C如何以FPGA原型验证方案破解中国芯片设计团队的验证痛点

1. 从EDA巨头东迁&#xff0c;看一个被忽视的蓝海市场最近业内有个不大不小的新闻&#xff0c;Altium这家知名的电子设计自动化&#xff08;EDA&#xff09;公司把总部搬到了中国。这事儿引起了不少讨论&#xff0c;但说实话&#xff0c;它既不是第一个这么干的&#xff0c;也未…...

半导体虚拟计量技术:AI驱动的制造工艺优化

1. 半导体制造中的计量困境与虚拟计量技术崛起 在半导体制造车间里&#xff0c;工程师们每天都要面对一个令人头疼的难题&#xff1a;如何在保证产品质量的同时&#xff0c;又能实时掌握每一片晶圆的工艺状态&#xff1f;传统物理计量方法就像是用显微镜检查大海——虽然精确&a…...

蒙特卡洛方法赋能智能体决策:原理、实现与工程实践

1. 项目概述&#xff1a;一个为智能体注入“蒙特卡洛”思想的工具箱最近在探索智能体&#xff08;Agent&#xff09;开发时&#xff0c;我一直在思考一个问题&#xff1a;如何让智能体的决策过程不那么“一根筋”&#xff1f;我们常见的基于规则或简单LLM调用的智能体&#xff…...

AJV $data引用:10个终极动态验证规则实现指南 [特殊字符]

AJV $data引用&#xff1a;10个终极动态验证规则实现指南 &#x1f680; 【免费下载链接】ajv The fastest JSON schema Validator. Supports JSON Schema draft-04/06/07/2019-09/2020-12 and JSON Type Definition (RFC8927) 项目地址: https://gitcode.com/gh_mirrors/aj/…...