服务器数据恢复—RAID5阵列重建重建导致数据丢失的数据恢复案例

服务器数据恢复环境&故障:
一台服务器,有一组由5块硬盘组建的raid5磁盘阵列。
服务器在运行过程中一块有磁盘掉线,由于raid5阵列支持一块磁盘掉线的特性,服务器还在正常工作。不久之后服务器出现故障,管理员在不了解raid配置情况下,以原raid5阵列中的4块盘作为成员盘重建了raid5阵列。结果原raid5阵列中的全部数据丢失。
该服务器品牌SMART ARRAY系列阵列卡在创建一组新的RAID5阵列时,默认会全盘重建所有块校验。也就是说在组成RAID5阵列的任一条带中,总有一个校验块的数据是创建时生成的,这肯定会对原raid5阵列中的数据造成破坏。


经过分析,后组建的4盘RAID5阵列是按双循环、64K块大小、16次条带化校验的方式组织的。也就是说在4块成员盘中,每隔3M便会有1M的数据是错误的。
经过分析以及和用户的沟通得知,原5盘RAID5阵列的结构为双循环、128K块大小、16次条带化校验。
要想恢复数据,必须修复早掉线的硬盘,能恢复多少数据取决于早掉线的硬盘掉线之后的数据变更情况。
数据恢复方案:通过对原5盘raid5阵列和后来的4盘raid5阵列的组成结构进行差异性分析,用之前掉线的盘补回重建RAID时破坏的校验信息,然后重组RAID,解释文件系统,导出文件。

服务器数据恢复过程:
1、将故障服务器中所有硬盘编号后取出,硬件工程师检测后没有发现有硬盘存在硬件问题。以只读方式将所有磁盘做扇区级的全盘镜像,镜像完成后将所有磁盘按照编号还原到原服务器中。后续的数据分析和数据恢复操作都基于镜像文件进行,避免对原始磁盘数据造成二次破坏。
2、基于镜像文件分析所有磁盘底层数据。根据破坏前后的数据痕迹,获取破坏前后的RAID结构。
3、分析原5盘raid5阵列和后来的4盘raid5阵列之间的差异,北亚企安数据恢复工程师编写校验修正程序。
4、按照分析获取到的原RAID5阵列结构重组RAID,生成重组后的镜像文件。修正重组后的镜像文件系统错误。
5、部分分区导出数据,部分分区在无错的前提下完全镜像到新空间。
6、经过测试和检测,用户方确认恢复出来的数据有效。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

字节抖音电商 后端开发岗位 一面

笔者整理答案,以供参考 自我介绍 项目(20分钟) RocketMQ延时消息的底层实现 回答: 延时消息的实现主要依赖于RocketMQ中的定时任务机制。消息被发送到Broker时,会先存储在一个特定的延时消息队列中。Broker会定时扫…

外贸行业汽车销售配件展示企业网站源码系统 带完整的源代码包以及搭建教程

系统概述 随着全球贸易的不断深化,外贸行业对于高效、专业的网站需求日益凸显。特别是对于汽车销售配件企业而言,一个功能全面、展示效果出色的网站源码系统,无疑是企业开拓海外市场、提升品牌形象的关键。本文将详细介绍一款专为外贸行业汽…

MySQL运维实战之ProxySQL(9.10)proxysql监控

作者:俊达 stats数据库 从stats数据库中可以查到proxysql一些内部组件的状态,如内存使用情况、连接池信息、会话信息、SQL执行状态等。 mysql> show tables from stats; --------------------------------------- | tables …

前端a-tree遇到的问题

在使用a-tree时候,给虚拟滚动的高度,然后展开a-tree滑动一段距离 比如这样 随后你切换页面,在返回这个页面的时候 就会出现这样的bug 解决方法: onBeforeRouteLeave((to, from, next) > {// 可以在路由参数变化时执行的逻辑ke…

ASP.NET Core----基础学习06----将所有数据在页面中显示 布局页面的使用

文章目录 1. 将数据以list的形式展示在页面中2. 布局页面的使用3. 自定义设置视图文件是否需要加载的JS 1. 将数据以list的形式展示在页面中 step1:在接口文件中添加新的方法GetAllStudents() step2:在mock的数据中添加方法GetAllStudents(&a…

多核并行加速 tokenizer

import multiprocessingdef tokenize_text(text):return tokenizer(text, truncationTrue, paddingTrue, max_length256)def parallel_tokenize(texts, num_processesNone):"""使用多核并行处理文本分词"""with multiprocessing.Pool(processesn…

FPGA上板项目(二)——PLL测试

目录 实验内容实验原理实验步骤实验结果 实验内容 将差分时钟信号转化为 192MHz 时钟信号作为输出。 实验原理 PLL,即锁相环,一种反馈控制电路,具有时钟倍频、分频、相位偏移和可编程占空比的功能。 实验步骤 添加 clocking wizard IP核&…

用chatgpt写了个二级导航,我全程一个代码没写,都是复制粘贴

今天心血来潮,让chatgpt给我写个移动端的二级导航菜单,效果如下: 1、两级导航,竖向排列,一级导航默认显示,二级隐藏 2、抽屉伸缩效果,点击一级导航,展开二级导航,再次点…

PostgreSQL 如何应对因大量并发更新导致的锁竞争?

🍅关注博主🎗️ 带你畅游技术世界,不错过每一次成长机会!📚领书:PostgreSQL 入门到精通.pdf 文章目录 PostgreSQL 如何应对因大量并发更新导致的锁竞争一、锁竞争的原因及影响(一)什…

【可能是全网最丝滑的LangChain教程】十八、LangChain进阶之Tools

永远不要说再见,因为再见意味着离去,离去意味着遗忘。 01 Tool介绍 在LangChain中,Tools 是一个核心概念,它们允许模型与外部系统进行交互,从而扩展了基础语言模型的功能。Tools 可以被看作是代理(agent)可用的一系列…

网页数据抓取:融合BeautifulSoup和Scrapy的高级爬虫技术

网页数据抓取:融合BeautifulSoup和Scrapy的高级爬虫技术 在当今的大数据时代,网络爬虫技术已经成为获取信息的重要手段之一。Python凭借其强大的库支持,成为了进行网页数据抓取的首选语言。在众多的爬虫库中,BeautifulSoup和Scrap…

【数据结构】:时间和空间复杂度

目录 如何衡量一个代码的好坏 时间复杂度 概念 计算方法 实例计算 【实例1】 【实例2】 【实例3】 【实例4】:冒泡排序的时间复杂度 【实例5】:二分查找的时间复杂度 【实例6】:阶乘递归的时间复杂度 【实例7】:斐波那契…

如何通过SSH协议使用WinSCP实现Windows与Linux之间的远程公网文件传输

目录 ⛳️推荐 前言 1. Windows传输文件至Linux 2. WinSCP使用公网TCP地址连接 3. WinSCP使用固定公网TCP地址访问服务器 ⛳️推荐 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站 前…

算法力扣刷题记录 四十八【513.找树左下角的值】

前言 二叉树篇继续。 记录 四十八【513.找树左下角的值】 一、题目阅读 给定一个二叉树的 根节点 root,请找出该二叉树的 最底层 最左边 节点的值。 假设二叉树中至少有一个节点。 示例 1: 输入: root [2,1,3] 输出: 1示例 2: 输入: [1,2,3,4,null,5,6,nul…

云计算数据中心(二)

目录 三、绿色节能技术(一)配电系统节能技术(二)空调系统节能技术(三)集装箱数据中心节能技术(四)数据中心节能策略和算法研究(五)新能源的应用(六…

下一代AI芯片的演进趋势

下一代AI芯片,拼什么? AI,这个无尽的财富,无人愿意错过。尽管摩尔定律的极限临近,芯片性能提升愈发艰难。然而,各大厂商仍以瞩目速度推出新一代产品。在最近的台北国际电脑展上,英伟达、AMD和英…

每日一练@

目录 题目1.关于AOP错误的是?2.关于以下代码的说明,正确的是( )3.以下类型为Final类型的为()4.以下说法哪个是正确的() 题目 选自牛客网 1.关于AOP错误的是? A.AOP将散…

位运算问题

1. 只出现一次的数字 III 题目描述: 算法原理: 因为两个相同的数经过异或就等于0,所以首先将数组中的每个数字异或到一起,这样就得到了两个出现一次的元素的异或值。假设得到的异或值为n,那么我们去求异或值的最低位…

python自动化之validator验证数据【代码示例】

思路: 首先定义验证规则schema,包含name,age和email三个字段; 然后创建验证器对象validator,并将schema作为参数传递给它; 最后定义要验证的数据data,使用validator的validate方法进行验证&a…