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

服务器数据恢复—双循环RAID5数据恢复揭秘

服务器数据恢复环境&故障:
一台服务器上共有10块硬盘,其中的7块硬盘组建了一组raid5磁盘阵列,另外3块硬盘是没有拔掉的掉线磁盘。
服务器raid5阵列中硬盘出现物理故障掉线,服务器崩溃。

服务器数据恢复过程:
1、将故障服务器中所有硬盘编号后取出,硬件工程师经过逐一检测后没有发现有硬盘存在物理故障。
2、将所有磁盘以只读方式进行完整镜像,镜像完成后将所有磁盘根据编号按照原样还原到原服务器中。后续的数据分析和数据恢复操作都基于镜像文件进行,避免对原始磁盘数据造成二次破坏。
3、基于镜像文件分析所有硬盘的底层数据。经过分析发现故障服务器中所有硬盘每512字节加了一个8字节的校验,即每扇区520字节。北亚企安数据恢复工程师编写一个小程序将8字节的校验去掉,方便后续数据恢复。


4、由于服务器中有3块没有及时拔掉的掉线硬盘,所以需要比较每块磁盘。其中会有两块磁盘前面的一部分数据相同,旧的硬盘数据量没有新的硬盘多。这样的磁盘有3对,通过这个思路排除旧的磁盘,即可以排除所有旧的磁盘。
5、由于上层采用的是NTFS文件系统,使用MFT就可以搞清楚RAID结构。经过分析发现这不是一个普通的RAID5,而是一个双循环。重组RAID后发现数据不是最新的。服务器数据恢复工程师初步判断当RAID 5阵列中掉线一块硬盘后,管理员没有及时发现并添加新的硬盘做rebuild。运行一段时间后又有一块硬盘掉线,整个RAID不可用。所以需要找出一块旧的磁盘才能生成最新的数据。
6、服务器数据恢复工程师采用穷举加校验的方法进行分析。假设某个磁盘是掉线的,踢掉磁盘后重组RAID,但不是生成全部的数据,而是只生成前面几G的数据,然后查看这个索引表的位图的信息是否正确,就可以判断此RAID是否正确。
7、如果RAID正确,生成此RAID的数据即可完成RAID的重组。

相关文章:

  • Java Web容器分类及对比
  • BSTREE(二叉搜索树)的介绍与模拟实现
  • 【Nova UI】八、打造组件库第一个组件-图标组件(上):图标组件开发实战攻略
  • 【Java后端】MyBatis 与 MyBatis-Plus 如何防止 SQL 注入?从原理到实战
  • 锁存器知识点详解
  • Java基础第21天-正则表达式
  • Redis高频核心面试题
  • 网络安全职业技能大赛Server2003
  • ECharts 关系图表开发指南与 Vue3 组件封装
  • 杂谈-有感而发
  • LOAM的原理分析,源码解读,和运行调试
  • 接口测试和功能测试详解
  • SQL Server 2022 常见问题解答:从安装到优化的全场景指南
  • 使用 JUnit 4在 Spring 中进行单元测试的完整步骤
  • Pingora vs. Nginx vs. 其他主流代理服务器性能对比
  • Python 的 datetime 模块使用详解
  • 【Linux】详细介绍进程的概念
  • 小白自学python第一天
  • Fabric.js 设置画布背景
  • AI在Java语言的发展方向与涉及领域——一场深度的求职面试
  • 上海常务副市长:持续提升跨境投融资便利化水平,稳步扩大金融领域的制度型开放
  • 王珊珊读《吾自绝伦》|摘掉皮普斯的“假发”
  • “很多中国企业竞争力独一无二”,这场对接会上他频频为协同供应链点赞
  • 证券时报:金价再创历史新高,“避险”黄金不应异化为投机工具
  • 禾赛:车载激光雷达走向标配,核心能力可在机器人领域复用
  • 荣膺劳伦斯大奖实至名归,杜普兰蒂斯的传奇没有极限