服务器数据恢复-zfs下raidz多块磁盘离线导致服务器崩溃的数据恢复案例

news2025/1/20 10:59:20

服务器数据恢复环境:
一台服务器共配备32块硬盘,组建了4组RAIDZ,Windows操作系统+zfs文件系统。

服务器故障:
服务器在运行过程中突然崩溃,经过初步检测检测没有发现服务器存在物理故障,重启服务器后故障依旧,需要恢复服务器内的大量数据。
经过北亚企安数据恢复工程师的初步检测,发现故障服务器中4组raidz里有两组raidz中的热备盘启动。其中第一组raidz启用了一块热备盘,之后又有一块硬盘掉线;第二组raidz第一块磁盘离线后又有2块硬盘掉线,总共启用了三块热备盘。
这两组raidz中硬盘离线后均启用了热备盘替换坏盘,热备盘上线后这2组raidz中又出现其他硬盘离线的情况。为了得到正确数据,zpool在每次读取数据时都会进行校验。第二组raidz热备盘上线后又有硬盘离线,服务器彻底崩溃。

服务器数据恢复过程:
1、将故障服务器中所有磁盘编号后取出,以只读方式将所有磁盘做全盘镜像,镜像完成后将所有磁盘按照编号还原到原服务器中,后续的数据分析和数据恢复操作都基于镜像文件进行,避免对原始磁盘数据造成二次破坏。
2、ZFS管理的存储池与常规RAID不同。常规RAID在存储数据时会按照特定的规则组建存储池,并不考虑文件在子设备上的位置;而ZFS在存储数据时会为每次写入的数据分配适当大小的空间,通过计算获取指向子设备的数据指针。ZFS的这种特性让RAIDZ在缺盘时无法直接进行校验得到数据,必须将整个ZPOOL作为一个整体进行解析。
3、手工截取事务块数据,北亚企安数据恢复工程师编写程序获取最大事务号入口。
获取文件系统入口:

4、获取到文件系统入口后,北亚企安数据恢复工程师编写数据指针解析程序进行地址解析。
解析数据指针:

5、获取到文件系统入口点在各磁盘分布情况后,数据恢复工程师手工截取&分析文件系统内部结构。入口分布所在的磁盘组无缺失盘,可直接提取信息。根据ZFS文件系统的数据存储结构顺利找到映射的LUN名称,进而找到其节点。
6、由于在此ZFS版本与开源版本有较大差别,无法使用原先开发的解析程序进行解析,所以数据恢复工程师只能重新编写数据提取程序。

7、由于磁盘组内缺盘个数较多,每个IO流都需要通过校验得到,提取进度极为缓慢。与用户方沟通后得知此ZVOL卷映射到XenServer作为存储设备,用户需的文件在其中一个大小约为2T的vhd内。提取ZVOL卷头部信息,按照XenStore卷存储结构进行分析,发现2T vhd在整个卷的尾部,计算得到其起始位置,从起始位置开始提取数据。
8、Vhd提取完毕后,对其内部的压缩包、图片、视频等文件进行验证,均可正常打开。
9、用户发经过验证后,确定恢复出来的文件数量与系统自动记录的文件数量差不多,极小部分丢失的文件可能是由于这些文件是新生成的还未刷新到磁盘。用户验证文件的可用性,文件全部可正常打开,本次数据恢复工作完成。
 

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

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

相关文章

题目 1072: 汽水瓶

有这样一道智力题:“某商店规定:三个空汽水瓶可以换一瓶汽水。小张手上有十个空汽水瓶,她最多可以换多少瓶汽水喝?”答案是5瓶,方法如下:先用9个空瓶子换3瓶汽水,喝掉3瓶满的,喝完以…

计算机毕业设计 基于HTML语言的环保网站的设计与实现 Java实战项目 附源码+文档+视频讲解

博主介绍:✌从事软件开发10年之余,专注于Java技术领域、Python人工智能及数据挖掘、小程序项目开发和Android项目开发等。CSDN、掘金、华为云、InfoQ、阿里云等平台优质作者✌ 🍅文末获取源码联系🍅 👇🏻 精…

助力交叉学科应用型数据科学人才培养,和鲸科技携手华为发布联合解决方案

时代高速发展,智能化的浪潮奔腾而来,以“加速行业智能化”为主题,第八届华为全联接大会(HUAWEI CONNECT 2023)于 9 月 20 日正式开幕。本次大会中,华为携手生态伙伴引领智慧教育新风尚,和鲸科技…

Spring面试题14:Spring中什么是Spring Beans? 包含哪些?Spring容器提供几种方式配置元数据?Spring中怎样定义类的作用域?

该文章专注于面试,面试只要回答关键点即可,不需要对框架有非常深入的回答,如果你想应付面试,是足够了,抓住关键点 面试官:Spring中什么是Spring Beans? 包含哪些? 在Spring中,Spring Beans是指由Spring容器管理的对象。Spring Beans包含以下内容: 类定义(Class De…

vue实现CBC加密/解密

我们现在终端引入输入 npm install crypto-js引入依赖 突然发现 crypto-js 确实是一个加密的神器 然后 我们直接在App.vue组件这样写吧 <template><div><input v-model"plainText" placeholder"输入明文" /><button click"enc…

XC4150B 3W单声道D类音频功率放大器 可用于蓝牙音箱、行车记录仪

XC4150B是一款超低EMI、无需滤波器3W单声道D类音频功率放大器。XC4150B采用先进的技术&#xff0c;在全带宽范围内极大地降低了 EMI干扰&#xff0c;最大限度地减少对其他部件的影响. XC4150B内置过流保护、过热保护及欠压保护功能&#xff0c;有效地保护芯片在异常工作…

你准备好使用 MySQL 10 了吗?

作者 | Norvald Ryeng 来源 |https://dev.mysql.com/blog-archive/are-you-ready-for-mysql-10/ 大家好&#xff0c;我是 JiekeXu,很高兴又和大家见面了,今天和大家一起来看看 你准备好使用 MySQL 10 了吗&#xff1f;欢迎点击上方蓝字“JiekeXu DBA之路”关注我的公众号&#…

【VUE复习·2】@click 之事件处理与函数(可传参);@click 阻止事件冒泡应用场景;@click 多修饰符应用场景(高级)

总览 1.“事件处理”是什么 2.click 函数参数传递应用 3.click 阻止事件冒泡应用场景 4.click 多修饰符应用场景&#xff08;高级&#xff09; 一、“事件处理”是什么 1.概念 我们在和页面进行交互时&#xff0c;进行点击或滑动或其他动作时&#xff0c;我们操作的是 DOM …

rpc网络

零拷贝 直接IO技术 磁盘–>内核缓冲区(内核空间)–>应用程序内存(用户空间)–>Socket 缓冲区(内核缓冲区)–>网络。 内存映射文件技术 磁盘–>内核缓冲区(内核缓冲区)–>Socket缓冲区(内核缓冲区)–>网络 零拷贝技术 磁盘–>内核缓冲区–>网络…

0基础学习VR全景平台篇 第103篇:使用英文、法文、德文等其他语言

大家好&#xff0c;欢迎观看蛙色VR官方系列——后台使用课程&#xff01; 蛙色VR平台目前已支持中英文语言进行切换&#xff0c;本期教程为大家带来&#xff0c;如何实现日文、法文、德文、俄文乃至其他小语种离线包里语言切换教程&#xff01; 语言切换样例展示 一、使用本功…

Appium+Python实现iOS自动化测试~环境搭建

Appium是一款开源的跨平台测试自动化工具&#xff0c;适用于本地&#xff0c;混合和移动网络和桌面应用程序。支持模拟器&#xff08;iOS、Android&#xff09;和真实设备&#xff08;iOS&#xff0c;Android&#xff0c;Windows&#xff0c;Mac&#xff09;。 准备工具 Xcod…

DRM遇到的实际问题及领悟(2)

接前一篇文章&#xff1a;DRM遇到的实际问题及领悟&#xff08;1&#xff09; 三、进一步定位 上回说到使用网上例程有同样会遇到mmap错误的问题&#xff0c;对于这个错误&#xff0c;perror只给出了“Invalid argument”的错误原因&#xff0c;具体错在哪里&#xff0c;并不知…

多元回归分析

建模复习 目录 前言 一、回归的思想 1,介绍 2&#xff0c;回归分析的分类 3&#xff0c;数据类型 二、一元线性回归 1&#xff0c;一元线性函数拟合 2&#xff0c;一元线性回归模型 3&#xff0c;回归系数 1&#xff0c;回归系数的解释 2&#xff0c;内生性 3&…

大模型技术实践(四)|参数高效微调技术解析及AdaLoRA的应用

在上一期的大模型技术实践中&#xff0c;我们为大家介绍了基于“LangChainLLM”框架快速搭建知识增强后的问答机器人&#xff0c;并探讨了提升模型内容理解和执行能力的潜在优化方向。本期内容UCloud将为您介绍参数高效微调技术&#xff08;PEFT&#xff09;&#xff0c;即对已…

软件研发团队建设---利用“鲇鱼效应”推进研发团队人文环境的建设手记(2)

软件研发团队建设—利用“鲇鱼效应”推进研发团队人文环境的建设手记&#xff08;2&#xff09; 背景 软件研发团队建设—如何协助业主建设软件研发团队并提高其力量的手记&#xff08;1&#xff09; 与业主某研发人员的沟通 &#xff08;长图&#xff0c;耐心点&#xff0…

CDS(一)

Core Data Services 核心数据服务 DDL 定义Query Language 查询DCL 控制&#xff08;权限相关&#xff09;model&#xff0c;从语义层获取数据open SQL 访问CDS viewCDS权限定义,集成旧的权限概念扩展native SQL扩展SQL建模和声明 ABAP ViewCDS View支持所有数据库是是支持查询…

全网最细,Jenkins配合GitLab分支自动合并/自动创建(超细整理)

目录&#xff1a;导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结&#xff08;尾部小惊喜&#xff09; 前言 GitFlow工作流简介…

python(自4) xpath下载 lxml安装 lxml语法 使用方式

&#xff08;一&#xff09;安装 搜索xpath 讲解 XPath 教程 (w3school.com.cn) 一&#xff0c;下载地址 &#xff1a; https://chrome.zzzmh.cn/info/hgimnogjllphhhkhlmebbmlgjoejdpjl 二 &#xff0c;拖拽 &#xff08;二&#xff09;lxml安装 cmd 打开终端 cd pythond…

数据库及分类详细介绍

目录 一、数据库详细介绍1、什么是数据库2、数据库的种类3、常见的数据库4、关系型数据库4.1、关系型数据库介绍4.2、关系型数据库的优缺点4.3、关系型数据库小结 5、非关系型数据库5.1、非关系数据库诞生的背景5.2、非关系型数据库的介绍5.3、非关系型数据库的优缺点5.4、非关…