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

服务器数据恢复—服务器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、验证恢复出来的数据没有发现问题。交由用户方对恢复出来的数据进行检查,经过仔细检查,用户方确认恢复出来的数据完整可用。本次数据恢复工作完成。

相关文章:

  • java线程池介绍
  • 2024 IDEA最新永久使用码教程(2099版)
  • 前端渲染大量数据思路【虚拟列表】【异步机制】
  • Torrent、Magnet链
  • ASP.NET第五章 Application、Session和Cookie对象
  • Python中包(package)与模块(module)的概念 以及 import 问题
  • Linux基本指令查询硬件信息001
  • reset database to incarnation rman 恢复最早的全备方法
  • MongoDB CRUD操作:地理位置应用——通过地理空间查询查找餐厅
  • 【小白专用24.6.8】c#异步方法 async task调用及 await运行机制
  • Django 默认 CSRF 保护机制
  • Linux基础指令网络管理003
  • spring-kafka-生产者服务搭建测试(SpringBoot整合Kafka)
  • 【环境搭建】3.阿里云ECS服务器 安装Redis
  • Django框架中级
  • 时间复杂度分析经典问题——最大子序列和
  • #Java异常处理
  • 【面试系列】之二:关于js原型
  • Hexo+码云+git快速搭建免费的静态Blog
  • Java编程基础24——递归练习
  • js递归,无限分级树形折叠菜单
  • Js基础——数据类型之Null和Undefined
  • Map集合、散列表、红黑树介绍
  • Phpstorm怎样批量删除空行?
  • sessionStorage和localStorage
  • 安装python包到指定虚拟环境
  • 从0实现一个tiny react(三)生命周期
  • 从零开始在ubuntu上搭建node开发环境
  • 对话 CTO〡听神策数据 CTO 曹犟描绘数据分析行业的无限可能
  • 工程优化暨babel升级小记
  • 技术发展面试
  • 前端学习笔记之原型——一张图说明`prototype`和`__proto__`的区别
  • 巧用 TypeScript (一)
  • 异常机制详解
  • 在 Chrome DevTools 中调试 JavaScript 入门
  • 追踪解析 FutureTask 源码
  • “十年磨一剑”--有赞的HBase平台实践和应用之路 ...
  • ​Spring Boot 分片上传文件
  • ​如何使用QGIS制作三维建筑
  • # 再次尝试 连接失败_无线WiFi无法连接到网络怎么办【解决方法】
  • #HarmonyOS:基础语法
  • #ifdef 的技巧用法
  • #QT(QCharts绘制曲线)
  • $.proxy和$.extend
  • (39)STM32——FLASH闪存
  • (9)YOLO-Pose:使用对象关键点相似性损失增强多人姿态估计的增强版YOLO
  • (八)光盘的挂载与解挂、挂载CentOS镜像、rpm安装软件详细学习笔记
  • (笔记自用)LeetCode:快乐数
  • (十八)devops持续集成开发——使用docker安装部署jenkins流水线服务
  • (图)IntelliTrace Tools 跟踪云端程序
  • (学习日记)2024.03.12:UCOSIII第十四节:时基列表
  • (转)GCC在C语言中内嵌汇编 asm __volatile__
  • (转)ObjectiveC 深浅拷贝学习
  • .net 4.0发布后不能正常显示图片问题
  • .net core 微服务_.NET Core 3.0中用 Code-First 方式创建 gRPC 服务与客户端