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

服务器数据恢复—raid5磁盘阵列崩溃如何恢复数据?

服务器数据恢复环境&故障:
一台服务器中有5块硬盘,其中的4块组建了一组RAID5阵列,剩下一块盘作为热备盘(Hot-Spare)使用。服务器操作系统为linux,应用系统为构架于oracle数据库的一个oa。
raid5阵列中一块盘离线,但热备盘未自动激活rebuild。直到另外一块盘离线,RAID崩溃。
由于oracle已经不再对本案例中的oa系统提供后续支持,用户方要求尽可能恢复数据和操作系统。经过检测发现热备盘完全没有启用,硬盘无明显物理故障,无明显同步表现。

服务器数据恢复过程:
1、将故障服务器中所有硬盘做好标记后取出,以只读方式将所有硬盘进行扇区级别完整镜像,镜像后发现后离线的硬盘有10-20个坏扇区,其余磁盘,均无坏道。镜像完成后将所有硬盘根据标记按照原样还原到原服务器中。后续的数据分析和数据恢复操作都基于镜像文件进行,避免后续操作对原始数据造成二次破坏。
2、基于镜像文件分析raid结构,获取到盘序、块大小、backward parity(Adaptec)等raid结构相关信息。

3、验证数据发现大小200M以上的压缩包解压无报错,确定结构正确。
4、按照此结构虚拟重组RAID到一块单硬盘上,打开文件系统无明显报错。
5、确定备份包安全的情况下,经用户方同意后,对原盘重建RAID(重建时已经用全新硬盘更换发现坏扇区的硬盘)。将恢复好的单盘用USB方式接入故障服务器,再用linux SystemRescueCd启动故障服务器,之后通过dd命令进行全盘回写。
6、回写后启动操作系统。无法正常进入操作系统并且报错。
怀疑报错信息中提到的文件权限有问题。使用SystemRescueCd重启后检查,发现此文件时间,权限,大小均有明显错误,显然节点损坏。
7、重新分析重组数据中的根分区,定位出错的目录,发现问题是由硬盘坏道引起的。
使用其他数据盘盘,针对发现坏道的硬盘的损坏区域进行xor补齐。补齐后重新校验文件系统,依然有错误。再次检查inode表,发现坏道的硬盘上的损坏区域有部分节点表现下图中的55 55 55部分。

8、虽然节点中描述的uid还正常存在,但属性、大小、最初的分配块全部是错误的。按照所有可能进行分析,确定无法找回此损坏节点。要么修复此节点,或者复制一个相同的文件过来。
对所有可能有错的文件,通过日志确定原节点块的节点信息,再做修正。
修正后重新dd根分区,执行fsck命令进行检测,依然报错。

9、根据提示,在系统中发现有多个节点共用同样的数据块。按此提示进行底层分析,发现存在节点信息的新旧交集。
10、北亚企安数据恢复工程师按照节点所属的文件进行区别。清除错误节点后,再次执行fsck命令检测,依然出现报错,但数量已经很少。根据提示,发现这些节点大多位于doc目录下,不影响系统启动,于是直接fsck命令强行修复。
修复完成后重启系统,成功进入桌面。启动数据库服务和应用软件,一切正常,无报错。数据库数据恢复工作完成。

http://www.lryc.cn/news/591055.html

相关文章:

  • 集群聊天服务器各个类进行详解
  • Cookie 与 Session概述
  • 【神经网络在MATLAB中是如何实现的?】
  • 构建可扩展的测试体系,从设计、优化到持续维护
  • 2D视觉系统标定流程与关键要求
  • VSCODE调教
  • 《前端基础核心知识笔记:HTML、CSS、JavaScript 及 BOM/DOM》
  • yolov8-pos/yolov11-pos 训练
  • 6、docker network
  • UE5 lumen
  • Linux搭建LAMP环境(CentOS 7 与 Ubuntu 双系统教程)
  • FastAdmin系统框架通用操作平滑迁移到新服务器的详细步骤-优雅草卓伊凡
  • lua(xlua)基础知识点记录二
  • STM32上移植Lua解析器
  • Android15系统实现刷机防呆功能
  • 【JVM】深入理解 JVM 类加载器
  • MySQL如何解决事务并发的幻读问题
  • JVM 内存分配与垃圾回收策略
  • macOS 字体管理全攻略:如何查看已安装字体及常见字体格式区
  • 网络编程7.17
  • JAVA中的Collection集合及ArrayList,LinkedLIst,HashSet,TreeSet和其它实现类的常用方法
  • MyBatis延迟加载(Lazy Loading)之“关联查询”深度解析与实践
  • 【44】MFC入门到精通——MFC 通过Button按钮添加控件变量实现:按下 按钮变色 (比如开关 打开关闭状态) MFC更改button控颜色
  • 数据结构-2(链表)
  • 基于STM32闭环步进电机控制系统设计说明
  • Leaflet地图交互:实现图形与点的同时高亮效果
  • PyTorch生成式人工智能(18)——循环神经网络详解与实现
  • 【Linux基础知识系列】第五十一篇 - Linux文件命名规范与格式
  • Mac 安装及使用sdkman指南
  • Java 大视界 -- Java 大数据在智能交通智能公交站台乘客流量预测与服务优化中的应用(349)