免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
123下一页
最近访问板块 发新帖
查看: 40273 | 回复: 20

[RAID与磁盘阵列] [转帖]当RAID5中两块硬盘出现故障时数据恢复一例 [复制链接]

论坛徽章:
0
发表于 2002-09-13 10:49 |显示全部楼层
当RAID5中两块硬盘出现故障时数据恢复一例

武警浙江总队医院信息科 陶春雨 潘哲毅  

--------------------------------------------------------------------------------


廉价冗余磁盘阵列RAID(Redundant Array of Inexpensive Disk)是一种容量大、速度快、可靠性高的外部存储器,现已在各种高性能的服务器、工作站及大中型计算机中得到广泛应  
用。其中的RAID5级为无独立校验磁盘的奇偶校验磁盘阵列,采用数据分块和独立存取技术,能在同一磁盘上并行处理多个访问请求,较适用于访问请求频繁的场合,如医院信息系统(HIS)。由于此技术特点:在一个硬盘出现错误时,当插入新硬盘,能利用其他硬盘上信息对受损数据进行恢复,但当两块硬盘出现错误时,要恢复数据就会有一定的困难了,我们医院在不久前就出现过类似现象。

一、故障重现

我们医院硬件配置为:HP LH6000 PIII700 Xeon 512M内存,18G硬盘一块 Ⅹ 2台,作两机容错,操作系统为Windows NT SP4,数据库平台为Oracle 7.3,光纤为主干的星形拓扑网络,HP磁盘阵列柜一台,四块18G IBM 硬盘做RAID5用以存放HIS系统数据,分别标为硬盘ID0、ID1、ID2和ID3。下面是当时故障的重现:

1、硬盘ID2在早上7:30时出现闪红灯现象,其余硬盘正常,无出错提示。

2、硬盘ID0在下午14:00时也出现闪红灯现象,另两块硬盘正常,网络可访问,

3、14:15时,服务器屏幕上出现出错提示框:D盘(即阵列盘)不能访问。依次关掉备份服务器、主域服务器、磁盘阵列柜后保护现场,开始分析故障原因,处理故障。

二、故障分析

RAID5技术原理是:采用磁盘冗余技术和磁盘校验技术,将数据分布在磁盘阵列中的各个磁盘上,这样做可以提高数据的可靠性和读取数据时的速度。如果阵列中的某一个硬盘失效时,能运用上述技术,利用阵列中其他硬盘的信息,恢复失效硬盘中的数据,但如果有一个以上的硬盘同时失效时,在技术上来说数据是不可恢复的。结合我院出现的实际情况,我们分析:有可能是由于硬盘ID2出现错误后,数据的读取量增大,导致另三个硬盘在进行冗余校验时可能出现逻辑错误,而并不是出现了真正的物理损坏或失效。基于以上分析,我们在保证数据完整性的原则下,开始拯救数据。

三、数据拯救

1、打开磁盘阵列柜,启动主域服务器,自检至阵列柜时按Ctrl+M进入NetRaid管理程序,查看阵列信息,发现硬盘ID0与硬盘ID2状态为Failed,运用修改配置将硬盘ID0强制OnLine,重新启动服务器,在进入NT前的硬件自检时,出现硬盘ID2,ID0依次闪红灯,访问D盘失败。

2、打开磁盘阵列柜,启动主域服务器,自检至阵列柜时按Ctrl+M进入NetRaid管理程序,选择磁盘阵列,将阵列配置信息清空,然后新建磁盘阵列信息(不作初始化),并将硬盘ID2与ID0强制OnLine后,重新启动服务器,在进入NT前的硬件自检时,出现硬盘ID2,ID0依次闪红灯,访问D盘失败。

3、关闭磁盘阵列柜,将磁盘阵列柜上的所有四块硬盘全部拔除,启动主域服务器,正常进入NT,打开磁盘阵列柜,用NT下的HP NetRaid管理软件,将硬盘ID0进行热插拔,软件能检测到此硬盘,并无任何错误提示,依次将硬盘ID1,ID2,ID3进行热插拔,但在进行至硬盘ID2时软件检测不到此硬盘,立刻将其拔除,换上一块新硬盘,此时四块硬盘状态为Ready,全部选中后新建RAID5信息,成功后将硬盘ID2状态置为Failed,然后进行Rebuild,运用RAID5技术恢复这块真正失效的硬盘上的数据。但当进度到达50%左右时,出现错误提示,重新启动服务器,进入NT后,系统自动进行CHKDSK,出现修复硬盘信息,无任何错误提示,在磁盘正常自检后访问D盘成功。此时时间18:00分左右。

四、个案总结

在经过了长达6小时的紧张的数据抢救后,我们终于成功的恢复了数据,经过此次惊心动魄的数据拯救后,我们痛定思痛,总结了以下几条经验:

1、在出现问题后不能紧张,应冷静分析故障原因,全面了解硬件知识,作出正确合理的判断,以最小的代价解决问题。在我们此次故障处理过程中,我们对故障的进行了合理的分析,运用了服务器硬盘可热插拔的性能特点,在保证另两块硬盘数据完整的基础上,进行了正确的数据拯救,从而确保了故障的圆满解决。

2、在处理问题时应遵循由简单到复杂,由安全到危险的原则,应确保不破坏数据的原则下进行故障处理。硬盘内的数据信息对我们医院来说,是非常重要的,处理故障的过程也就是我们拯救数据的过程,因此我们在故障处理过程中没有进行一味的蛮干,在清除磁盘阵列信息的同时,并没有对硬盘内数据进行任何操作,从而确保了数据的安全性。

3、在处理故障时应将服务器与网络的连接切断,因为在恢复网络,受损硬盘修复的过程中,会有用户登录至服务器,进行数据操作,从而产生新的数据,这样就有可能产生新的逻辑错误,对于故障的排除非常不利。

4、经过此次故障,我们认为任何先进的技术手段都不可能是万无一失的,如果要确保数据安全,就一定要做好备份工作,最好每天作一次数据库的异地备份;并至少备好一块新硬盘,以便在第一块硬盘出现错误时就能及时换上,进行数据恢复,防止以上类似事件的再次发生。


论坛徽章:
0
发表于 2002-09-13 11:41 |显示全部楼层

[转帖]当RAID5中两块硬盘出现故障时数据恢复一例

[这个贴子最后由feicy在 2002/09/13 11:42am 编辑]

不太明白
全部选中后新建RAID5
数据怎么会还在呢

论坛徽章:
0
发表于 2002-09-13 11:47 |显示全部楼层

[转帖]当RAID5中两块硬盘出现故障时数据恢复一例

我终于看到一个操作了(最好有机会自己操作)。

论坛徽章:
0
发表于 2002-09-16 12:47 |显示全部楼层

[转帖]当RAID5中两块硬盘出现故障时数据恢复一例

此案例很好!

论坛徽章:
0
发表于 2002-09-16 13:26 |显示全部楼层

[转帖]当RAID5中两块硬盘出现故障时数据恢复一例

请问,“此时四块硬盘状态为Ready,全部选中后新建RAID5信息”是不是从新做一边raid5呢?

论坛徽章:
0
发表于 2002-09-19 10:00 |显示全部楼层

[转帖]当RAID5中两块硬盘出现故障时数据恢复一例

很好,多谢。

论坛徽章:
0
发表于 2002-09-19 16:48 |显示全部楼层

[转帖]当RAID5中两块硬盘出现故障时数据恢复一例

应该是重做RAID5,也就是rebuild,物理损坏两块一般的技术人员是不可能恢复数据的,所以这文章也给我们一个提示:硬盘出现逻辑错误而不是物理损坏,以后我们斗要注意!谢谢作者!!!

论坛徽章:
0
发表于 2003-09-12 11:17 |显示全部楼层

[转帖]当RAID5中两块硬盘出现故障时数据恢复一例

虽然,现在数据已经恢复,但是应该在更换掉id0硬盘,因为在id2处于failed状态时,正是对id0,和其他两块盘的一个test,而且经过的操作过程也会对id0由一定的影响,建议更换掉id0,一面留下隐患。

论坛徽章:
0
发表于 2003-10-21 12:01 |显示全部楼层

[转帖]当RAID5中两块硬盘出现故障时数据恢复一例

好文章,要收藏

论坛徽章:
0
发表于 2008-06-01 22:25 |显示全部楼层

经典案例

重点收藏,谢谢
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP