华为S5300存储raid5两块盘离线,同步失败

【raid数据恢复故障描述】
华为S5300存储,存储中以供有16块FC硬盘,整个存储空间由450GB FC的硬盘组成一个RAID5磁盘阵列(包含一块热备盘)。该存储中的RAID5阵列3号硬盘由于未知原因离线,热备盘上线并进行数据同步,同步完成到50%左右时8号盘由于未知原因离线,同步失败,raid阵列瘫痪,上层的lun失效,急需对该存储中的raid阵列进行数据恢复。

【raid数据恢复过程一:检测raid阵列所有磁盘】
首先对该raid中所有磁盘(包括正常磁盘和掉线磁盘)进行物理检测以确定离线盘有无物理故障,检测结果为3号盘存在物理故障,其他所有包括8号盘均无物理故障。
【raid数据恢复过程二:备份raid阵列所有磁盘】
物理检测结束后使用dd命令或数据恢复工具将所有磁盘都镜像成文件备份(这么做的目的是为了在镜像中进行数据恢复操作,保护用户源数据)。
【raid数据恢复过程三:分析该阵列raid结构】
工程师对该raid阵列中的所有磁盘进行分析,找出热备盘(热备盘理论上与其他数据盘有明显区别,可以直接区分)由于raid是条带化的,所有阵列中的数据均按照一定规律进行存储,所以工程师分析raid中的数据库页在每一个物理磁盘中的分布情况计算出raid组的磁盘顺序、数据走向、条带大小等基本信息。
【raid数据恢复过程四:找出raid阵列中被同步的坏盘】
根据分析得出的RAID信息,尝试通过RAID虚拟程序将原始的RAID组虚拟出来。但由于整个RAID组中掉线两块盘并且有一块硬盘数据被同步损坏。仔细分析每一块硬盘中的数据,发现有一块硬盘在同一个条带上的数据和其他硬盘明显不一样,因此初步判断此硬盘可能是被同步掉损坏的硬盘,通过RAID校验程序对这个条带做校验,因此可以明确被同步损坏盘了。
【raid数据恢复过程四:分析raid阵列lun信息】
分析lun信息首先虚拟出raid阵列状态,分析lun在阵列中的分配状态,分析lun分配的数据块,然后根据数据MAP并导出LUN的数据。
【文件系统数据恢复过程:解析EXT3文件系统】
由于是使用热备盘虚拟的RAID结构,EXT3文件系统无法正常挂载,所以只能提取oracle数据库文件,利用自主开发的文件系统解析程序对其进行文件系统的解析,导出oracle数据库文件,并把数据库文件移交给数据库工程师进行校验和验证
【数据库修复过程一:检测数据文件完整性】
使用Oracle数据库文件检测工具检测每个数据库文件是否完整,发现有错误。再使用Oracle数据库检测工具(检验更严格),发现有部分数据库文件和日志文件错误, system 和 sysaux表空间各存在100多坏块;3个控制文件都存在坏块许多坏块,控制文件全部损坏;eschoolspace表空间的3个文件的坏块更多,达到1000个;undotbs02丢失;数据库工程师对此类文件进行修复,
图一:

图二:

【数据库修复过程一:修复数据库】
我们创建了控制文件,创建undo表空间,启动数据库到mount。system数据文件坏块使得数据库不能open。各种隐含参数也不能绕过system的坏块;搭建数据库环境。使用dmp文件还原数据库。使用3月9号之后的导入,都报错,大约只能导入10G左右的数据。
图三:


【数据验证:数据恢复成功】
由用户方配合,启动Oracle数据库,在本地虚拟机安装OA客户端。通过OA客户端对数据记录进行验证,并且用户安排不同部门人员进行远程验证。验证通过,数据恢复成功

posted on   北亚数据恢复  阅读(378)  评论(0编辑  收藏  举报

编辑推荐:
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
阅读排行:
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 零经验选手,Compose 一天开发一款小游戏!
· 通过 API 将Deepseek响应流式内容输出到前端
· AI Agent开发,如何调用三方的API Function,是通过提示词来发起调用的吗

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5
点击右上角即可分享
微信分享提示