服务器数据恢复—服务器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

相关文章

MySQL 中的 JSON 查询案例详解

《MySQL中的JSON查询案例详解》:本文主要介绍MySQL的JSON查询的相关知识,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录mysql 的 jsON 路径格式基本结构路径组件详解特殊语法元素实际示例简单路径复杂路径简写操作符注意MySQL 的 J

Go语言开发实现查询IP信息的MCP服务器

《Go语言开发实现查询IP信息的MCP服务器》随着MCP的快速普及和广泛应用,MCP服务器也层出不穷,本文将详细介绍如何在Go语言中使用go-mcp库来开发一个查询IP信息的MCP... 目录前言mcp-ip-geo 服务器目录结构说明查询 IP 信息功能实现工具实现工具管理查询单个 IP 信息工具的实现服

Python Transformers库(NLP处理库)案例代码讲解

《PythonTransformers库(NLP处理库)案例代码讲解》本文介绍transformers库的全面讲解,包含基础知识、高级用法、案例代码及学习路径,内容经过组织,适合不同阶段的学习者,对... 目录一、基础知识1. Transformers 库简介2. 安装与环境配置3. 快速上手示例二、核心模

springboot上传zip包并解压至服务器nginx目录方式

《springboot上传zip包并解压至服务器nginx目录方式》:本文主要介绍springboot上传zip包并解压至服务器nginx目录方式,具有很好的参考价值,希望对大家有所帮助,如有错误... 目录springboot上传zip包并解压至服务器nginx目录1.首先需要引入zip相关jar包2.然

将Java项目提交到云服务器的流程步骤

《将Java项目提交到云服务器的流程步骤》所谓将项目提交到云服务器即将你的项目打成一个jar包然后提交到云服务器即可,因此我们需要准备服务器环境为:Linux+JDK+MariDB(MySQL)+Gi... 目录1. 安装 jdk1.1 查看 jdk 版本1.2 下载 jdk2. 安装 mariadb(my

Python中使用正则表达式精准匹配IP地址的案例

《Python中使用正则表达式精准匹配IP地址的案例》Python的正则表达式(re模块)是完成这个任务的利器,但你知道怎么写才能准确匹配各种合法的IP地址吗,今天我们就来详细探讨这个问题,感兴趣的朋... 目录为什么需要IP正则表达式?IP地址的基本结构基础正则表达式写法精确匹配0-255的数字验证IP地

MySQL高级查询之JOIN、子查询、窗口函数实际案例

《MySQL高级查询之JOIN、子查询、窗口函数实际案例》:本文主要介绍MySQL高级查询之JOIN、子查询、窗口函数实际案例的相关资料,JOIN用于多表关联查询,子查询用于数据筛选和过滤,窗口函... 目录前言1. JOIN(连接查询)1.1 内连接(INNER JOIN)1.2 左连接(LEFT JOI

基于Python打造一个可视化FTP服务器

《基于Python打造一个可视化FTP服务器》在日常办公和团队协作中,文件共享是一个不可或缺的需求,所以本文将使用Python+Tkinter+pyftpdlib开发一款可视化FTP服务器,有需要的小... 目录1. 概述2. 功能介绍3. 如何使用4. 代码解析5. 运行效果6.相关源码7. 总结与展望1

使用Python开发一个简单的本地图片服务器

《使用Python开发一个简单的本地图片服务器》本文介绍了如何结合wxPython构建的图形用户界面GUI和Python内建的Web服务器功能,在本地网络中搭建一个私人的,即开即用的网页相册,文中的示... 目录项目目标核心技术栈代码深度解析完整代码工作流程主要功能与优势潜在改进与思考运行结果总结你是否曾经

springboot循环依赖问题案例代码及解决办法

《springboot循环依赖问题案例代码及解决办法》在SpringBoot中,如果两个或多个Bean之间存在循环依赖(即BeanA依赖BeanB,而BeanB又依赖BeanA),会导致Spring的... 目录1. 什么是循环依赖?2. 循环依赖的场景案例3. 解决循环依赖的常见方法方法 1:使用 @La