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

服务器数据恢复—IBM服务器raid5阵列硬盘出现坏道的数据恢复案例

服务器数据恢复环境&故障:
一台ibm x3850服务器,有一组由5块硬盘组建的raid5磁盘阵列,上层是Redhat Linux操作系统,部署了一个oracle数据库。
raid5阵列中2块硬盘离线,阵列崩溃。经过检测发现该raid中的热备盘未激活,硬盘无物理故障,无明显同步表现。

服务器数据恢复方案:
1、关闭服务器,将所有磁盘标记后取出槽位。由硬件工程师检测是否有硬盘存在硬件故障,对存在硬件故障的硬盘进行处理。将所有磁盘以只读方式进行扇区级全盘镜像,镜像完成后将所有磁盘按照标记还原到原服务器中,后续的数据分析和数据恢复操作都基于镜像文件进行,避免对原始磁盘数据造成二次破坏。
2、基于镜像文件分析故障raid结构,得到原阵列中的盘序、条带大小、校验方向、条带规则以及meta区域等重组raid所必需的信息。
3、根据分析获取到的raid信息重组raid5阵列,并进行文件系统解释,对重组raid的结构做正确性检测,确认数据无误后回迁数据。

服务器数据恢复方案实施过程:
1、硬件工程师检测后发现所有硬盘均不存在硬件故障,读写正常。在对所有硬盘做镜像过程中,发现只有一块硬盘有10-20个坏扇区,其他硬盘均正常。
2、基于镜像文件分析原raid结构。

3、根据分析获取到的raid结构相关信息重组raid。重组raid后验证数据,发现200M以上的压缩包解压无报错。按照这一结构将raid生成到一块硬盘上,通过USB将该硬盘接到原服务器,通过linux SystemRescueCd启动故障服务器后使用dd命令进行全盘回写。
4、数据回写完成后无法进入操作系统,报错信息为:/etc/rc.d/rc.sysinit:Line 1:/sbin/pidof:Permission denied。工程师使用SystemRescueCd重启后检查发现文件的权限、时间、大小都有明显错误,对根分区再次分析,定位出错的/sbin/pidof/,发现报错原因是其中一块硬盘存在坏道。
5、通过其他盘针对存在坏道硬盘的损坏区域进行xor补齐并重新校验文件系统,依然有错误。工程师再次检查inode表,发现存在坏道硬盘的损坏区域有部分节点表现为下图中的55 55 55部分。

虽然节点中描述的uid正常存在,但大小、属性、最初的分配块全部是错误的。
6、通过日志确定原节点块的节点信息后进行修正,重新dd根分区,执行fsck -fn /dev/sda5/检测,报错情况如下图。

7、经过分析发现,节点信息新旧交集导致有多个节点共用数据块。北亚企安数据恢复工程师按节点所属的文件进行区别,清除错误节点后,再次执行fsck -fn /dev/sda5,依然有部分位于doc目录下的节点报错。由于不影响启动所以强行修复后重启系统,系统正常,启动数据库正常。
8、经过用户方仔细检测,确认恢复数据完整可用,认可数据恢复结果。

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 服务器上部署服务
  • Revite二次开发_使用WPF和WebView2制作一个访问网站的窗口
  • pygame游戏开发系列教程(1)
  • C++数组入门
  • Python知识点:如何使用Boto3进行AWS服务管理
  • Electron 集成 Express + p-limit + SQlite WAL读写模式解决并发锁库的问题
  • OpenCV Python 图像处理入门
  • 11.怎么做好一个动态标签页
  • 设计模式21-组合模式
  • P37-数据存储
  • 数据可视化:解锁数据奥秘的钥匙与实战指南
  • 力扣每日一题 特殊数组 II 前缀和
  • 分析 avformat_open_input 数据读取过程
  • 软件需求设计分析报告(Word原件)
  • nginx核心配置示例
  • co.js - 让异步代码同步化
  • C语言笔记(第一章:C语言编程)
  • E-HPC支持多队列管理和自动伸缩
  • Flannel解读
  • Git同步原始仓库到Fork仓库中
  • laravel with 查询列表限制条数
  • magento 货币换算
  • 工作中总结前端开发流程--vue项目
  • ------- 计算机网络基础
  • 记录:CentOS7.2配置LNMP环境记录
  • 力扣(LeetCode)56
  • 前端设计模式
  • 树莓派 - 使用须知
  • 新海诚画集[秒速5センチメートル:樱花抄·春]
  • ​Base64转换成图片,android studio build乱码,找不到okio.ByteString接腾讯人脸识别
  • ​一文看懂数据清洗:缺失值、异常值和重复值的处理
  • # 利刃出鞘_Tomcat 核心原理解析(八)-- Tomcat 集群
  • (javascript)再说document.body.scrollTop的使用问题
  • (PyTorch)TCN和RNN/LSTM/GRU结合实现时间序列预测
  • (八)Flink Join 连接
  • (二)c52学习之旅-简单了解单片机
  • (附源码)apringboot计算机专业大学生就业指南 毕业设计061355
  • (附源码)python旅游推荐系统 毕业设计 250623
  • (理论篇)httpmoudle和httphandler一览
  • (面试必看!)锁策略
  • (十一)c52学习之旅-动态数码管
  • (四)React组件、useState、组件样式
  • (一)appium-desktop定位元素原理
  • (原創) 是否该学PetShop将Model和BLL分开? (.NET) (N-Tier) (PetShop) (OO)
  • (转)VC++中ondraw在什么时候调用的
  • ./configure,make,make install的作用(转)
  • .NET Core 将实体类转换为 SQL(ORM 映射)
  • .net Stream篇(六)
  • .NET面试题解析(11)-SQL语言基础及数据库基本原理
  • /使用匿名内部类来复写Handler当中的handlerMessage()方法
  • [ CTF ] WriteUp- 2022年第三届“网鼎杯”网络安全大赛(朱雀组)
  • [2021ICPC济南 L] Strange Series (Bell 数 多项式exp)
  • [Algorithm][综合训练][kotori和气球][体操队形][二叉树中的最大路径和]详细讲解
  • [C++]unordered系列关联式容器
  • [CISCN2019 华东北赛区]Web2