服务器数据恢复—强制上线raid5阵列离线硬盘导致raid不可用的数据恢复案例

news/2024/7/7 19:04:09

服务器数据恢复环境:
某品牌2850服务器中有一组由6块SCSI硬盘组建的raid5磁盘阵列,linux操作系统+ext3文件系统。

服务器故障:
服务器运行过程中突然瘫痪。服务器管理员检查阵列后发现raid5阵列中有两块硬盘离线,将其中一块硬盘进行强制上线操作,但是服务器操作系统启动异常。这时,管理员意识到问题的严重性,马上将服务器关机,联系到我们数据恢复中心寻求帮助。
raid5阵列两块硬盘离线的故障情况十分常见,由于raid5磁盘阵列支持一块硬盘离线时的冗余保护,如果出现多块硬盘离线的情况,服务器便处于瘫痪状态,且离线硬盘不会自动上线。由于目前市面上主流品牌的raid控制器的磁盘监控策略比较严格,阵列中硬盘掉线很多是由电源波动、控制器bug等随机原因所导致,所以掉线盘很有可能没有比较严重的物理故障。但是硬盘掉线后的强制上线操作风险性是很大的,一旦上线出错就会导致控制器对数据造成一些不可逆的损坏。进入操作系统后因为文件系统不一致进行自动修复,导致服务器中所有硬盘数据不一致,数据恢复难度很大。

服务器数据恢复过程:
1、将故障服务器中所有磁盘编号后取出,以只读方式进行扇区级全盘镜像,镜像过程中发现多块硬盘存在坏道但没有下线,应该是raid还没有识别到这些硬盘上的坏道。镜像完成后将所有磁盘按照编号还原到原服务器中,后续的数据分析和数据恢复操作都基于镜像文件进行,避免对原始磁盘数据造成二次破坏。
2、基于镜像文件分析故障服务器中的raid结构信息,利用获取到的raid结构信息虚拟重构raid并验证raid结构的正确性。北亚企安数据恢复工程师人工修正被破坏结构,将修正后的数据导出到一台存储上临时存放。
3、使用完好的硬盘在服务器上搭建新的raid5磁盘阵列,将恢复出的数据迁移到新搭建的raid中。经过检验,恢复出来的数据一切正常,本次数据恢复工作结束。

Tips:
一旦出现raid5磁盘阵列中多块硬盘离线导致服务器瘫痪的情况,切记不要盲目进行强制上线操作。首先要做的就是将源硬盘全部镜像,可以在WINDOWS环境下执行如下操作:
1、可用相同或大于源盘容量的硬盘作为目标盘,将源盘全部扇区方式CLONE到目标盘。将所有盘做同样操作。
2、可将每块源盘完全以扇区方式输出文件到某大容量存储空间(如大容量硬盘、NAS、SAN、DAS等)。


http://lihuaxi.xjx100.cn/news/2195910.html

相关文章

通用树查找算法

想要一个树形控件来显示数据,却发现Racket的GUI库竟然没有提供这个控件。既然没有,那就自己手搓一个吧。没想到,在做这个控件中竟然有了新发现! 树形控件有一个功能是查找树中指定的节点。这就是接下来的故事的起点。 1 找外援 不…

Game Fi链游:定制开发源码搭建

随着科技的飞速发展,游戏开发行业正经历着前所未有的变革。Game Fi,这个新兴的概念,正以其独特的魅力,引发了游戏开发行业的热潮。 一、Game Fi 的概念与影响 Game Fi,是一种新型的游戏开发模式,它强调游…

Docker 容器 mysql 配置主从

1、前提条件 集群的条件下 服务器 172.16.11.195 13316:3306 服务器 172.16.11.196 13317:3306 配置好主数据库和从数据 2、配置主从数据库 2.1使用portainer 来管理容器 建立数据库密码 新增配置文件 # mysql-master.cnf [mysqld] server_id110 log-binmysql-binrela…

漏洞挖掘 | 记一次信息泄露到登入后台

这次是项目上遇到的一个洞,打开页面是一个红红的登录页面 这里就不放图了,浓浓的红色气息~ 老样子抓登录包 虽然是明文传输但是爆破弱口令无果 f12大法,审计源代码,在其中一个js文件中发现了这个接口 拼接URL进行访问 感觉有点东…

信创国产化 | 聚铭网络携手银河麒麟完成产品兼容性互认证

在我国信创国产化战略深入推进的大背景下,聚铭网络与麒麟软件积极响应国家号召,共同致力于软件和操作系统的国产化发展。近日,双方宣布已完成产品兼容性互认证工作,这一成果标志着两家公司在信创国产化道路上迈出了坚实的一步。 …

TypeScript (TS) 类型定义总结

TypeScript (TS) 类型定义允许开发者为变量、函数参数、返回值等添加静态类型,这有助于提升代码的健壮性和可维护性。以下是一些使用TS类型定义的具体技巧及其例子: 1. 基础类型定义 基本类型如number, string, boolean等可以直接用于变量声明。 let …

STM32智能小车学习笔记(避障、循迹、跟随)

我们使用的是STM32CubeMX软件和MDK5 芯片使用的是STM32F103C8T6 完成对STM32CubeMX的初始化后开始我们的第一步点亮一个LED灯 一、点亮LED灯 点亮PC13连接的灯 打开STM32CubeMX软件,pc13设置为输出模式 然后按照这样配置,user label 设置成这个IO口代…

鸿蒙emitter 订阅事件封装 EmitterUtils

适用于api11 和api12 废话不多说,直接上代码 import emitter from ohos.events.emitter; import { StringUtils } from ohos/flutter_ohos;export class EmitterUtils{/*** 发射字符串类型的* param eventId* param data*/public static sendEvent(eventId:stri…