服务器运行时拔了一块硬盘,服务器硬盘掉了两块的解决过程
一.服务器数据恢复故障描述
需要进行数据恢复的服务器共10个磁盘柜,每个磁盘柜满配24块硬盘。其9个存储柜用作数据存储使用,另外1个存储柜用作元数据存储使用。元数据存储里一共24块146G硬盘,其中设置了9组RAID 1阵列,1组4盘位RAID 10阵列,4个热备硬盘。
数据存储中,每6块硬盘设置一组RAID 5阵列,共36组RAID,这36组RAID阵列中,又分为2个存储系统。其中1个存储系统中,一组RAID由于2块硬盘先后故障离线,导致RAID阵列失效,整个存储系统瘫痪,无法使用。
存储及文件系统架构大致如下图一:
注:Meta_LUN(元数据卷) Data_LUN(用户数据卷)
二.磁盘备份
为避免服务器数据恢复过程中由于误操作对原始磁盘造成二次破坏, 先使用WinHex软件对客户的存储环境进行备份。
备份过程如下图二所示:
对故障RAID中的6块成员盘进行编号标记,将硬盘从存储柜中拔出,接入到准备好的备份平台上,对6块硬盘进行备份。
对其余没有出现故障的RAID阵列,进行存储层面的备份。使用光纤线缆将备份平台和存储设备连接,进入昆腾存储设备管理界面配置备份平台和存储设备可以正常通信,使用WinHex软件对RAID中的LUN进行镜像备份。
在备份过程中发现故障RAID中的1块故障硬盘存在大量的坏道区域,在备份的过程出现故障,无法继续备份。对故障硬盘进行开盘更换固件,并使用PC3000工具进行修复后,硬盘可以继续备份,但坏道仍然存在。图三:
部分镜像文件
三.数据分析
先对故障的RAID阵列进行分析,获取到相关的RAID信息,使用WinHex软件对RAID阵列进行虚拟重组,并将RAID中的LUN恢复成镜像文件。在分析过程中发现,损坏较严重的硬盘为后离线硬盘,由于此硬盘存在大量坏道,可能对恢复结果产生影响。
登陆昆腾存储设备的管理界面,获取到StorNext文件系统中卷相关的一些基本信息,如下图四:
继续对StorNext文件系统中的Meta卷和Data卷进行分析,客户的StorNext文件系统中,包含2个Data卷,完整的Data卷都是由多组RAID中的LUN组成的,对这些LUN进行分析,得到LUN之间组合的算法规律,虚拟重组出完整的Data卷。
图五:
分析Meta卷,对Meta卷中的节点信息和目录项信息,以及Meta卷和Data之间的对应关系进行分析,针对一个Meta卷管理多个Data卷的情况,研究得到Meta卷到Data卷的索引算法。文件节点如下图六:
目录块如下图七:
四.数据恢复
通过分析研究我们已经获取到了恢复工作所需信息,开始编写程序,扫描Meta卷中的节点信息和目录项信息,同时对目录项和节点进行解析,获取完整的文件系统目录结构,解析节点中的指针信息,将这些信息记录在数据库中。
文件信息如下图八:
编写文件提取程序,读取数据库,根据解析出的信息以及两个Data卷之间的聚合算法对数据进行提取。
五.恢复结果
对生成出的数据进行随机抽样检测,数据没有问题。将客户所需文件提取到本地,确认提取完成后,到客户线程进行数据移交。数据移交完成,客户对数据恢复结果表示满意。虽然故障硬盘存在有坏道的情况,但万幸主要数据没有遭到破坏,数据恢复工作圆满完成。
服务器运行时拔了一块硬盘,服务器硬盘掉了两块的解决过程相关推荐
- 某公司服务器raid5阵列掉了两块盘数据恢复过程
第一部分:数据恢复方案 某公司的一台服务器组了一个raid5磁盘阵列有两块磁盘先后掉线,服务器崩溃.故障服务器的操作系统为linux redhat 5.3,应用系统为构架于oracle的一个oa,数据 ...
- 服务器拔掉系统盘,服务器运行中拔硬盘
服务器运行中拔硬盘 内容精选 换一换 创建备份策略后,通过向备份策略中绑定服务器给备份策略关联服务器.已创建至少1个备份策略.至少存在一个状态为"运行中"或"关机&quo ...
- php 发送网络命令,通过网络服务器运行时无法发送邮件,但能够从命令行发送相同的PHP脚本...
我面临一个奇怪的问题:我在项目中有一个名为mail.php的文件.当我从 shell运行命令时: php mail.php 它在几秒钟内发送邮件,但在运行相同的文件时: https://www.dom ...
- 视频 服务器运行时失败,Windows Media Player服务器运行失败的解决办法讲解
当大家遇到Windows Media Player服务器运行失败,怎么解决呢?小编给大家分享一个Windows Media Player服务器运行失败的解决办法讲解,希望可以帮到大家. Windows ...
- 解决Vue打包后放到部署到服务器运行时出现Loading chunk * failed 错误
最近一直在捣鼓的Springboot+Vue 前后端分离项目,Vue 前端项目打包部署到Nginx 服务器访问时,点击导航栏切换一直报错: 原因:路由懒加载的情况下,访问当前应用进行路由跳转时都是实时 ...
- Windows 7下,一块硬盘突然掉盘时的windows操作系统日志
环境:3块台式机硬盘(sata3接口的),接入同一个台式机中,没有做raid,其中一块硬盘(注意:不是一个partition)突然从"计算机管理"-"磁盘管理" ...
- “项目运行时出错,无法启动调试。绑定句柄无效”的解决办法
突然发现VS2005简体中文版不能调试,提示:"项目运行时出错,无法启动调试.绑定句柄无效." 结果重装.NET2.0也无效,又重装VS2005一次也无效,费了很大的周折,终于在 ...
- 硬盘分区表错误导致的问题和解决过程
两个月前装了WIN10预览版(双系统)尝鲜,可能由于卸载方式不正确或者不完全, 导致我的笔记本(WIN8.1 64bit)出现了一个很费解的问题 在断网的情况下则完全没什么, 而一旦联网(插上网线或者 ...
- 电脑怎么测试硬盘的读写速度_两块硬盘合二为一,电脑读写翻倍?这样的“好事”你必须得了解...
近日,技嘉在旗下顶级的B550 AORUS MASTER主板上做了一次PCIe4.0固态阵列测试,由于该款主板支持3个PCIe4.0的M.2固态硬盘,所以这次的测试为3块PCIe4.0固态组建RAID ...
最新文章
- Android中Activity之间的数据传递(Intent和Bundle)
- zigbee cc2530 灌电流 拉电流 上拉电阻
- shell脚本详解(七)——正则表达式、sort、uniq、tr
- python基础(part13)--包
- [java理论篇]--java的其他常用API
- linux系统编程:IO读写过程的原子性操作实验
- select + 线程池 回应服务器(windows)
- redis python 出错重连_python穿透类 对象代理
- 常用cpu位数与变量长度表(不同编译器可能有差异)
- 未能启用约束。一行或多行中包含违反非空、唯一或外键约束的值。
- PHP+crontab 完美实现定时任务
- 什么样的联系人管理软件最有效?这里有管理联系人的3款实用软件
- php用户登录论坛系统,PHPWind
- 超图软件的下载及授权配置
- android_10.0.0_r41自定义驱动编译+Framework层调用_2(自定义驱动)
- ORACLE 触发器控制用户登录之权限限制
- python从视频中提取音频信号_三行Python代码提取视频中的音频
- 评估方法(交叉验证法、自助法、留出法)
- Python Flask开源博客系统Blog_mini
- 响铃:救市之作三星S6 edge+能否完成使命?
热门文章
- 游戏夜读 | 世界两大游戏评论!
- kali-linux暴力获取WIFI密码
- 苹果计算机怎么返回上一步操作,iphone12怎么关闭程序-iphone12怎么返回上一步
- linux 强行创建文件夹,Linux mkdir 创建文件夹命令
- linux图形化时间工具,Linux下dialog图形化工具详解
- java计算机毕业设计家政服务平台MyBatis+系统+LW文档+源码+调试部署
- ambari失去心跳同时无法连接其中一台datanode的错误
- python数据分析————数据聚合与分组运算
- 北京小学休学规定,休学复学规定
- 手机端html展示pdf