服务器数据恢复—服务器raid5上层zfs文件系统数据恢复案例

2024-06-05 06:44

本文主要是介绍服务器数据恢复—服务器raid5上层zfs文件系统数据恢复案例,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

服务器数据恢复环境&故障:
一台某品牌X3650M3服务器,服务器中有一组raid5磁盘阵列,上层采用zfs文件系统。
服务器未知原因崩溃,工作人员排查故障后发现服务器的raid5阵列中有两块硬盘离线导致该阵列不可用,服务器内的数据丢失。
数据恢复工程师在现场对故障服务器raid5阵列中的磁盘进行硬件故障检测,经过检测发现该raid5阵列中离线的两块硬盘均无硬件问题。

服务器数据恢复过程:
1、将故障服务器raid5阵列中所有磁盘编号后取出,以只读方式进行扇区级的全盘镜像,镜像完成后按照编号将所有磁盘还原到原服务器中,随后数据分析和数据恢复操作均在镜像文件进行,确保原始数据不被修改和破坏。
2、基于镜像文件对所有磁盘镜像文件进行分析,发现该raid5阵列中有两块热备盘,2块硬盘离线时只有一块热备盘成功激活,此时raid5阵列处于缺盘状态,数据并未同步。数据恢复工程师通过分析获取到原raid5阵列中的硬盘分布规律、raid条带、盘序等raid信息。
3、根据分析获取到的RAID信息分析每一块硬盘中的数据,发现有一块硬盘在同一个条带上的数据和其他硬盘明显不一样,数据恢复工程师初步判断此硬盘是最先掉线的。使用北亚企安自主开发的RAID校验程序对这个条带进行校验,发现除掉刚才分析的那块硬盘后所得出的数据是最好的,因此可以确定最先掉线的那块硬盘。


4、根据获取到的raid信息重组raid5阵列,在重组出的raid5阵列中分析lun的分配情况和数据块情况。使用北亚企安自主开发的软件导出lun并解析文件系统时提示报错,重新调试软件后报错情况依旧,可以排除由于软件问题所导致的文件系统解析报错。手动检查导出的文件后发现导致解析报错的原因是文件系统元文件损坏。经过检测发现元文件损坏原因是服务器瘫痪时zfs文件系统正在进行IO操作。由于软件无法解析文件系统,于是数据恢复工程师手动修复zfs文件系统中损坏的元文件后再使用软件进行解析。
5、将手动修复好的文件系统再次使用软件进行解析,这次成功解析所有文件节点和文件目录结构,然后将数据导出。
6、验证恢复出来的数据没有发现问题。交由用户方对恢复出来的数据进行检查,经过仔细检查,用户方确认恢复出来的数据完整可用。本次数据恢复工作完成。

这篇关于服务器数据恢复—服务器raid5上层zfs文件系统数据恢复案例的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1032347

相关文章

MyBatis分页查询实战案例完整流程

《MyBatis分页查询实战案例完整流程》MyBatis是一个强大的Java持久层框架,支持自定义SQL和高级映射,本案例以员工工资信息管理为例,详细讲解如何在IDEA中使用MyBatis结合Page... 目录1. MyBATis框架简介2. 分页查询原理与应用场景2.1 分页查询的基本原理2.1.1 分

深度解析Java @Serial 注解及常见错误案例

《深度解析Java@Serial注解及常见错误案例》Java14引入@Serial注解,用于编译时校验序列化成员,替代传统方式解决运行时错误,适用于Serializable类的方法/字段,需注意签... 目录Java @Serial 注解深度解析1. 注解本质2. 核心作用(1) 主要用途(2) 适用位置3

Web服务器-Nginx-高并发问题

《Web服务器-Nginx-高并发问题》Nginx通过事件驱动、I/O多路复用和异步非阻塞技术高效处理高并发,结合动静分离和限流策略,提升性能与稳定性... 目录前言一、架构1. 原生多进程架构2. 事件驱动模型3. IO多路复用4. 异步非阻塞 I/O5. Nginx高并发配置实战二、动静分离1. 职责2

Linux搭建ftp服务器的步骤

《Linux搭建ftp服务器的步骤》本文给大家分享Linux搭建ftp服务器的步骤,本文通过图文并茂的形式给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录ftp搭建1:下载vsftpd工具2:下载客户端工具3:进入配置文件目录vsftpd.conf配置文件4:

Java 正则表达式的使用实战案例

《Java正则表达式的使用实战案例》本文详细介绍了Java正则表达式的使用方法,涵盖语法细节、核心类方法、高级特性及实战案例,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要... 目录一、正则表达式语法详解1. 基础字符匹配2. 字符类([]定义)3. 量词(控制匹配次数)4. 边

Python Counter 函数使用案例

《PythonCounter函数使用案例》Counter是collections模块中的一个类,专门用于对可迭代对象中的元素进行计数,接下来通过本文给大家介绍PythonCounter函数使用案例... 目录一、Counter函数概述二、基本使用案例(一)列表元素计数(二)字符串字符计数(三)元组计数三、C

Spring Boot 整合 SSE(Server-Sent Events)实战案例(全网最全)

《SpringBoot整合SSE(Server-SentEvents)实战案例(全网最全)》本文通过实战案例讲解SpringBoot整合SSE技术,涵盖实现原理、代码配置、异常处理及前端交互,... 目录Spring Boot 整合 SSE(Server-Sent Events)1、简述SSE与其他技术的对

MySQL 临时表与复制表操作全流程案例

《MySQL临时表与复制表操作全流程案例》本文介绍MySQL临时表与复制表的区别与使用,涵盖生命周期、存储机制、操作限制、创建方法及常见问题,本文结合实例代码给大家介绍的非常详细,感兴趣的朋友跟随小... 目录一、mysql 临时表(一)核心特性拓展(二)操作全流程案例1. 复杂查询中的临时表应用2. 临时

MySQL 数据库表与查询操作实战案例

《MySQL数据库表与查询操作实战案例》本文将通过实际案例,详细介绍MySQL中数据库表的设计、数据插入以及常用的查询操作,帮助初学者快速上手,感兴趣的朋友跟随小编一起看看吧... 目录mysql 数据库表操作与查询实战案例项目一:产品相关数据库设计与创建一、数据库及表结构设计二、数据库与表的创建项目二:员

Linux查询服务器 IP 地址的命令详解

《Linux查询服务器IP地址的命令详解》在服务器管理和网络运维中,快速准确地获取服务器的IP地址是一项基本但至关重要的技能,下面我们来看看Linux中查询服务器IP的相关命令使用吧... 目录一、hostname 命令:简单高效的 IP 查询工具命令详解实际应用技巧注意事项二、ip 命令:新一代网络配置全