服务器数据恢复—raid6阵列硬盘被误重组为raid5阵列的数据恢复案例
服务器存储数据恢复环境:
存储中有一组由12块硬盘组建的RAID6阵列,上层linux操作系统+EXT3文件系统,该存储划分3个LUN。
服务器存储故障&分析:
存储中RAID6阵列不可用。为了抢救数据,运维人员使用原始RAID中的部分硬盘重新组建RAID并进行了初始化。
初始化开始一段时间后,运维人员察觉到情况有异后强制终止初始化,这个时候初始化已经完成一半以上。数据部分已被不可逆的破坏。
原始RAID6阵列失效,运维人员使用原始raid6阵列中的11块硬盘重新组建RAID5阵列,并进行了初始化。上述操作对原始数据造成了不可逆的破坏。
此案例故障较为复杂,我们数据恢复中心接到这个案子之前,该案子已经在多家数据恢复服务商做过恢复,但是问题仍未解决。
服务器存储数据恢复过程:
1、分析原始12块磁盘RAID6阵列的组织结构情况。
2、分析重新组建的RAID5阵列的组织结构情况。在底层发现RAID6和RAID5的信息重合,导致分析新组建的RAID5的结构耗费很多时间。
3、北亚企安数据恢复工程师根据上述获取到的信息分析恢复程序的算法。
4、利用分析出来的算法编写&校正数据恢复程序,通过数据恢复程序将12块磁盘原始数据中的第一个和第二个LUN分别镜像到两个准备好的存储上。

5、经过验证第二个LUN数据完全正常,但第一个LUN的前十几MB的数据被破坏。EXT3文件系统的根目录和第一个块组的I节点全在这前十几MB的数据中,使用市面上主流的数据恢复软件进行恢复,效果都不理想。
6、数据恢复工程师尝试对损坏的EXT3文件系统进行修复。北亚企安数据恢复工程师编写程序查找EXT3目录&重建根目录和I节点,这时用文件系统解析程序打开完全正常。为了保证原始数据的权限和属性,在LINUX环境下进行修复,文件系统已能正常挂载,在LINUX下将文件用cp命令拷贝到格式化为EXT3 文件系统的单块磁盘的分区上。用户方在使用数据时,不需要其他任何设置,直接cp,文件目录结构和属性都和原始状态一致。
相关文章:
服务器数据恢复—raid6阵列硬盘被误重组为raid5阵列的数据恢复案例
服务器存储数据恢复环境: 存储中有一组由12块硬盘组建的RAID6阵列,上层linux操作系统EXT3文件系统,该存储划分3个LUN。 服务器存储故障&分析: 存储中RAID6阵列不可用。为了抢救数据,运维人员使用原始RAID中的部分…...
linux内核编译启动总结
linux kernel 编译 升级汇总 写在前面内核编译获取kernel代码开始前的准备工作 编译过程1\.解压与净化将下载好的linux内核解压至/usr/src 2\. 得到源代码后,将其净化3\. 配置要进行编译的内核4.编译内核. (15分钟)5.编译模块.方法1:方法2: 6…...
Android Studio的AI工具插件使用介绍
Android Studio的AI工具插件使用介绍 一、前言 Android Studio 的 AI 工具插件具有诸多重要作用,以下是一些常见的方面: 代码生成与自动补全 代码优化与重构 代码解读 学习与知识获取 智能搜索与资源推荐实际使用中可以添加注释,解读某段代…...
本地部署 WireGuard 无需公网 IP 实现异地组网
WireGuard 是一个高性能、极简且易于配置的开源虚拟组网协议。使用路由侠内网穿透使其相互通讯。 第一步,服务端(假设为公司电脑)和客户端(假设为公司外的电脑)安装部署 WireGuard 1,点此下载(…...
asyncio.ensure_future 与 asyncio.create_task:Python异步编程中的选择
asyncio.ensure_future 与 asyncio.create_task:Python异步编程中的选择 引言asyncio.ensure_futureasyncio.create_task两者的区别参数接受范围任务调度的保证代码可读性 哪个更好?使用asyncio.create_task使用asyncio.ensure_future 结论参考 引言 在…...
CTF之密码学(密码特征分析)
一.MD5,sha1,HMAC,NTLM 1.MD5:MD5一般由32/16位的数字(0-9)和字母(a-f)组成的字符串 2.sha1:这种加密的密文特征跟MD5差不多,只不过位数是40(sha256:64位;sha512:128位) 3.HMAC:这…...
JVM调优篇之JVM基础入门AND字节码文件解读
目录 Java程序编译class文件内容常量池附录-访问标识表附录-常量池类型列表 Java程序编译 Java文件通过编译成class文件后,通过JVM虚拟机解释字节码文件转为操作系统执行的二进制码运行。 规范 Java虚拟机有自己的一套规范,遵循这套规范,任…...
EXCEL截取某一列从第一个字符开始到特定字符结束的字符串到新的一列
使用EXCEL中的公式进行特定截取 假设列A是一组产品的编码,我们需要的数据是“-”之前的字段。 我们需要在B1单元格输入公式“LEFT(A1,SEARCH("-",A1)-1)”然后选中B1至B4单元格,按“CTRLD”向下填充,就可以得出其它几行“-”之前的…...
数据库期末复习题库
1. Mysql日志功能有哪些? 记录日常操作和错误信息,以便了解Mysql数据库的运行情况,日常操作,错误信息和进行相关的优化。 2. 数据库有哪些备份方法 完全备份:全部都备份一遍表备份:只提取数据库中的数据࿰…...
私有库gitea安装
一 gitea是什么 Gitea是一款自助Git服务,简单来说,就是可以一个私有的github。 搭建很容易。 Gitea依赖于Git。 类似Gitea的还有GitHub、Gitee、GitLab等。 以下是安装步骤。 二 安装sqilite 参考: 在windows上安装sqlite 三 安装git…...
关于最近win11不能使用ie,而不能使用考试客户端的解决方法
弄ie的那个我感觉是非常难的,所以我的是另一种的方法 下载360浏览器(不是360全家桶)360安全浏览器-全面保护上网安全,4亿用户共同选择(上面的是官网,不要下载错了,还有安装界面注意不要勾选一下…...
深度学习之Mask-R-CNN
1.1 Mask-RCNN 的网络结构示意图 其中黑色部分为原来的Faster-RCNN,红色部分为在Faster网络上的修改: 1)将ROI Pooling层替换成了ROIAlign; 2)添加并列的FCN层(Mask层); …...
css包含块
包含块 出现 在css中一些属性的计算可能超出你的预料,在普遍情况下会认为定位属性和百分比的宽高是根据父元素计算的,但是准确来说他们都是根据元素所在的包含块来计算的,所以掌握包含块的知识是非常关键的。 内容 在CSS中,“…...
混沌工程/混沌测试/云原生测试/云平台测试
背景 私有云/公有云/混合云等具有复杂,分布式,环境多样性等特点,许多特殊场景引发的线上问题很难被有效发现。所以需要引入混沌工程,建立对系统抵御生产环境中失控条件的能力以及信心,提高系统面对未知风险得能力。 …...
研发设计数字化:PLM、PDM、ERP介绍及其区别
一、产品全生命周期管理的定义 1.1 产品全生命周期(PLM)发展背景 目前,数字化设计与制造的技术(如CAX、DFX等)已经在产品开发中得到广泛应用,而各种企业和产品管理软件(如ERP、SCM、PDM、CRM等…...
Python练习51
Python日常练习 题目: 调用函数fun判断一个三位数是否“水仙花数”。 在main函数中从键盘输入一个三位数,并输 出判断结果。请编写fun函数。 说明: 所谓“水仙花数”是指一3位数,其各位数字立方和 等于该数本…...
Qt 前置课程 QtNFC
文章目录 详解 Qt NFC 模块(QtNFC)1. 什么是 NFC?2. NFC 的原理2.1 主动设备与被动设备2.2 三种工作模式2.3 数据交换 3. QtNFC 模块概述4. 使用 QtNFC 模块4.1 配置 .pro 文件 5. NFC 的常见应用场景6. QtNFC 模块的主要类6.1 QNearFieldMan…...
【论文阅读】 Learning to Upsample by Learning to Sample
论文结构目录 一、之前的上采样器二、DySample概述三、不同上采样器比较四、整体架构五、设计过程(1)初步设计(2)第一次修改(3)第二次修改(4)第三次修改 六、DySample四种变体七、复…...
堆排序(含证明)
引言 前面我们讲过堆的基本操作的实现,现在给定一个int类型的数组,里面存放的数据是无序的,我们如何利用堆的思想来实现数组内数据的升序排列或降序排列呢? 通过前面讲到的堆的实现,我们可以想到,我们再开…...
蓝桥杯模拟题不知名题目
题目:p是一个质数,但p是n的约数。将p称为是n的质因数。求2024最大质因数。 #include<iostream> #include<algorithm> using namespace std; bool fun(int x) {for(int i 2 ; i * i < x ; i){if(x % i 0)return false;}return true; } int main() …...
Steam游戏自动破解终极指南:3步实现DRM移除与离线游戏
Steam游戏自动破解终极指南:3步实现DRM移除与离线游戏 【免费下载链接】Steam-auto-crack Steam Game Automatic Cracker 项目地址: https://gitcode.com/gh_mirrors/st/Steam-auto-crack SteamAutoCrack是一款专业的Steam游戏自动破解工具,通过智…...
ReportPortal与JIRA集成:如何无缝连接测试与开发工作流
ReportPortal与JIRA集成:如何无缝连接测试与开发工作流 【免费下载链接】reportportal Main Repository. ReportPortal starts here - see readme below. 项目地址: https://gitcode.com/gh_mirrors/re/reportportal 在现代软件开发中,测试管理与…...
5分钟掌握Typora插件:从文件管理小白到高效写作达人的3步法
5分钟掌握Typora插件:从文件管理小白到高效写作达人的3步法 【免费下载链接】typora_plugin Typora plugin. Feature enhancement tool | Typora 插件,功能增强工具 项目地址: https://gitcode.com/gh_mirrors/ty/typora_plugin 你是否曾在Typora…...
手把手教你用Arduino+ELM327读取OBD-II数据(附代码和常见故障码解析)
用Arduino与ELM327打造智能车载数据监控系统 在创客圈子里,车辆数据监控一直是个既实用又有趣的领域。想象一下,用不到200元的硬件成本,就能实时读取发动机转速、油耗数据甚至诊断车辆潜在故障——这正是Arduino与ELM327组合带来的可能性。不…...
终极解决方案:如何一键修复所有Visual C++运行库问题
终极解决方案:如何一键修复所有Visual C运行库问题 【免费下载链接】vcredist AIO Repack for latest Microsoft Visual C Redistributable Runtimes 项目地址: https://gitcode.com/gh_mirrors/vc/vcredist 你是否曾经因为"找不到MSVCR140.dll"而…...
金融APP加固公司指南:从苹果审核到防破解的实战经验分享
金融类APP(银行、证券、支付)是所有移动应用中安全防护等级最高、合规要求最严、被攻击价值最大的一类。代码一旦被逆向,交易协议、用户数据、核心算法将直接暴露,带来的不仅是经济损失,更是监管处罚和品牌信誉崩塌。因…...
智慧树刷课插件:3分钟实现自动播放,彻底告别手动刷课烦恼!
智慧树刷课插件:3分钟实现自动播放,彻底告别手动刷课烦恼! 【免费下载链接】zhihuishu 智慧树刷课插件,自动播放下一集、1.5倍速度、无声 项目地址: https://gitcode.com/gh_mirrors/zh/zhihuishu 还在为智慧树平台繁琐的手…...
T12 vs JBC焊台DIY终极对比:从5块钱的‘白菜白光’到千元性能,我该选哪个?
T12 vs JBC焊台DIY终极对比:从5块钱的‘白菜白光’到千元性能,我该选哪个? 在电子维修和DIY领域,一把趁手的焊台就像厨师的刀具一样重要。面对市场上琳琅满目的选择,T12和JBC无疑是两个最受关注的方案。前者以极低的成…...
Visual C++运行库合集(vcredist)深度解析与高级部署方案
Visual C运行库合集(vcredist)深度解析与高级部署方案 【免费下载链接】vcredist AIO Repack for latest Microsoft Visual C Redistributable Runtimes 项目地址: https://gitcode.com/gh_mirrors/vc/vcredist Visual C运行库合集(vcredist)是解决Windows系统依赖问题的…...
微信网页版终极解决方案:三步实现浏览器端微信完整使用指南
微信网页版终极解决方案:三步实现浏览器端微信完整使用指南 【免费下载链接】wechat-need-web 让微信网页版可用 / Allow the use of WeChat via webpage access 项目地址: https://gitcode.com/gh_mirrors/we/wechat-need-web 还在为繁琐的微信安装流程而烦…...
