RAID6故障导致分区打不开的服务器数据恢复案例

服务器数据恢复环境:
一台infortrend存储,有一组由12块硬盘组建的RAID6,RAID6的所有空间划分给一个LUN并映射到WINDOWS系统上,WINDOWS系统上划分了一个GPT分区。

 

服务器故障&分析:
存储无法访问,经过检查发现存储中有3块硬盘离线。工作人员通过一系列操作让存储掉线磁盘上线并开始rebuild,但是这个时候发现分区打不开,所有数据无法访问。为避免情况进一步恶化,工作人员中止了rebuild并关机。
经过当地的数据恢复机构进行恢复后,还是有大量数据丢失和无法打开。 
RAID6可以支持两块硬盘同时掉线,但如果有第三块磁盘离线,RAID6便无法正常工作了。最常见的一种情况是RAID6离线硬盘不是同时离线,而是每间隔一段时间就有一块磁盘离线。在这种情况下,如果将早掉线的盘上线,便会与还在线的盘进行RAID6算法同步,导致数据出现问题,无法正常读取数据。
本案例应该就是属于这种情况。因为rebuild时间较短,本案例存储中的文件数量非常多,文件系统前部分存放老旧数据的可能性比较大大,一些较新的文件的目录及节点索引很大可能性存放于文件系统后部分,所以推测同步操作对存储中的数据影响不大,破坏程度有限。

 

服务器数据恢复过程:
1、将故障存储中所有磁盘编号后取出(应在关机状态下插拔硬盘,对硬盘原位置进行标注。在硬盘离开存储后,不要再对存储加电。确保所有操作尽可能可回溯。),以只读方式做扇区级别的镜像备份。对于部分存在物理故障的硬盘,交由硬件工程师处理后利用专业工具进行镜像。备份完成后将所有硬盘按照编号还原到原存储中,后续的数据分析和数据恢复操作都基于镜像文件进行,避免对原始磁盘数据造成二次破坏。
2、基于镜像文件分析该infortrend存储所使用的的RAID6算法,按算法对12块硬盘做C(12,2)共66种可能的缺2盘的情况组合,找出可能性最大的缺盘组合。
3、通过北亚R企安自研的RAID数据恢复程序重构虚拟RAID,按分析出的缺盘状态、盘序、块大小、校验方向、RAID6算法构建进行附加。
4、对虚拟RAID进行GPT分区结构解释,然后对文件系统进行解释,确定算法是否正确。如不正确,调整算法,直到得到最佳结构。
5、按文件或扇区方式迁移数据到准备好的存储中,由用户方对恢复出来的数据进行检测。经过反复检测,用户方工程师确认恢复出来的数据完整有效。本次服务器数据恢复工作完成。

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/27689.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【代码随想录13】前 K 个高频元素

题目 给定一个非空的整数数组,返回其中出现频率前 k 高的元素。 示例 1: 输入: nums [1,1,1,2,2,3], k 2输出: [1,2] 示例 2: 输入: nums [1], k 1输出: [1] 提示: 你可以假设给定的 k 总是合理的,且 1 ≤ k ≤ 数组中不相同的元素…

北京汽车:传统车厂向“用户服务”转型的新范本

更多技术交流、求职机会,欢迎关注字节跳动数据平台微信公众号,回复【1】进入官方交流群 摘要:用户决定价值 英国大文豪狄更斯曾在《双城记》中说:“这是最好的时代,也是最坏的时代”。大浪淘沙之下,汽车产业…

C#为什么不能成为大学编程入门的首选?

大学编程入门不以C#作为首选的原因有多个因素。虽然C#是一种功能强大的编程语言,但在大学编程入门阶段,通常会选择其他语言作为首选,以下是一些可能的原因: 我这里刚好有嵌入式、单片机、plc的资料需要可以私我或在评论区扣个6 …

编程小白的自学笔记九(python爬虫入门+代码详解)

系列文章目录 编程小白的自学笔记八(python中的多线程) 编程小白的自学笔记七(python中类的继承) 编程小白的自学笔记六(python中类的静态方法和动态方法) 编程小白的自学笔记五(Python类的…

【运维小知识】(一)——centos系统安装(小白入门级)

目录 1.制作系统U盘 2.安装centos系统 3.系统配置 3.1【语言】配置​编辑 3.2【软件选择】配置 3.3【安装位置】配置 3.4【主机名、root密码、网络】配置 1.制作系统U盘 首先下载软件ventoy,制作系统U盘,买个新U盘。先在笔记本电脑安装ventoy软件&a…

学员管理系统——面向对象

文章目录 前言基本思路Student.pymain.pyStudentManage.py菜单 menu()根据菜单实现程序的大概逻辑add_student() 添加学员信息delete_student() 删除学员信息modify_studnet() 修改学员信息search_student() 查找学员信息print_student() 显示所有学员信息save_student() 保存学…

寻找下一个生成式AI独角兽,亚马逊云科技创业加速器火热来袭

生成式AI让人工智能技术又一次破圈,带来了机器学习被大规模采用的历史转折点。它正在掀起新一轮的科技革命,为人类带来前所未有的颠覆性的影响,而诸多创业者也应势而上,寻求创新机遇。生成式AI可以创造全新的客户体验、提高企业内…

【文末送书】AIGC时代的数据分析与可视化

欢迎关注博主 Mindtechnist 或加入【智能科技社区】一起学习和分享Linux、C、C、Python、Matlab,机器人运动控制、多机器人协作,智能优化算法,滤波估计、多传感器信息融合,机器学习,人工智能等相关领域的知识和技术。搜…

MySql5.6版本开启慢SQL功能-本次采用永久生效方式

文章目录 一、目的二、注意点说明三、操作步骤3.1 临时生效操作步骤3.2 永久生效操作步骤3.3 按日期生成日志文件3.4 执行成功后验证功能是否开启 四、慢SQL日志记录内容介绍五、Shell脚本 一、目的 开启 MySQL 的慢查询日志(Slow Query Log)可以帮助你…

Python爬虫学习笔记:1688商品详情API 开发API接口文档

1688API接口是阿里巴巴集团推出的一种开放平台,提供了丰富的数据接口、转换工具以及开发资源,为开发者提供了通用的应用接口及大量数据资源,支持开发者在1688上进行商品搜索、订单管理、交易报表及物流等方面的操作。 1688API接口主要包含以…

Ceph 块存储系统 RBD 接口

-创建 Ceph 块存储系统 RBD 接口- 1、创建一个名为 rbd-demo 的专门用于 RBD 的存储池 ceph osd pool create rbd-demo 64 642、将存储池转换为 RBD 模式 ceph osd pool application enable rbd-demo rbd3、初始化存储池 rbd pool init -p rbd-demo # -p 等同于 --pool4、…

harbor仓库故障排除

harbor仓库无法用docker login登录,一直报x509: cannot validate certificate for 172.17.10.29 because it doesn’t contain any IP SANs 1、检查docker和harbor的服务是否启动 [rootk8s-harbor harbor]#systemctl status harbor.service [rootk8s-harbor harbo…