Chinaunix

标题: [转帖]当RAID5中两块硬盘出现故障时数据恢复一例 [打印本页]

作者: hecm22    时间: 2002-09-13 10:49
标题: [转帖]当RAID5中两块硬盘出现故障时数据恢复一例
当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、经过此次故障,我们认为任何先进的技术手段都不可能是万无一失的,如果要确保数据安全,就一定要做好备份工作,最好每天作一次数据库的异地备份;并至少备好一块新硬盘,以便在第一块硬盘出现错误时就能及时换上,进行数据恢复,防止以上类似事件的再次发生。



作者: feicy    时间: 2002-09-13 11:41
标题: [转帖]当RAID5中两块硬盘出现故障时数据恢复一例
[这个贴子最后由feicy在 2002/09/13 11:42am 编辑]

不太明白
全部选中后新建RAID5
数据怎么会还在呢
作者: pech    时间: 2002-09-13 11:47
提示: 作者被禁止或删除 内容自动屏蔽
作者: zt7924    时间: 2002-09-16 12:47
标题: [转帖]当RAID5中两块硬盘出现故障时数据恢复一例
此案例很好!
作者: JEFFCINDY    时间: 2002-09-16 13:26
标题: [转帖]当RAID5中两块硬盘出现故障时数据恢复一例
请问,“此时四块硬盘状态为Ready,全部选中后新建RAID5信息”是不是从新做一边raid5呢?
作者: zhouyb    时间: 2002-09-19 10:00
标题: [转帖]当RAID5中两块硬盘出现故障时数据恢复一例
很好,多谢。
作者: sunsparc    时间: 2002-09-19 16:48
标题: [转帖]当RAID5中两块硬盘出现故障时数据恢复一例
应该是重做RAID5,也就是rebuild,物理损坏两块一般的技术人员是不可能恢复数据的,所以这文章也给我们一个提示:硬盘出现逻辑错误而不是物理损坏,以后我们斗要注意!谢谢作者!!!
作者: big    时间: 2003-09-12 11:17
标题: [转帖]当RAID5中两块硬盘出现故障时数据恢复一例
虽然,现在数据已经恢复,但是应该在更换掉id0硬盘,因为在id2处于failed状态时,正是对id0,和其他两块盘的一个test,而且经过的操作过程也会对id0由一定的影响,建议更换掉id0,一面留下隐患。
作者: fj5401    时间: 2003-10-21 12:01
标题: [转帖]当RAID5中两块硬盘出现故障时数据恢复一例
好文章,要收藏
作者: hly510    时间: 2008-06-01 22:25
标题: 经典案例
重点收藏,谢谢
作者: 雪凤凰    时间: 2008-06-02 11:17
我不觉得,我的经验:
RAID5 两块盘先后坏掉
先后更换两个新硬盘,因为RAID5是分散校验的,等待一定的时间数据就自动恢复过来了。
我记得当时是SUN的阵列。
作者: wstar    时间: 2008-06-03 10:11
收藏,非常感谢
作者: 119beyond    时间: 2011-08-23 11:14
没有遇到过这样的情况
作者: hansion3406    时间: 2012-07-31 13:11
回复一下吧
作者: lloydm    时间: 2012-09-07 10:04
提示: 作者被禁止或删除 内容自动屏蔽
作者: AIX深入敌后    时间: 2012-09-18 19:09
谢谢楼主的分享
作者: meiyuhan    时间: 2013-01-01 01:48
好东西啊,谢谢楼主啊!!
作者: xueni    时间: 2013-01-07 15:30
对于这个问题我是这么理解的.因为盘的坏有先后.RAID5 是指不能同时坏2块盘.有先后的坏不能算同时坏,如果他的数据已经REBUILD的话.
第一块盘坏的时候,他会把热备盘补进拉.然后REBUILD.  
第二个盘坏的时候因为没有热备盘了,所以没法REBUILD.
他这个是因为数据不是很多,中间间隔的时间够长所以能救回来.


当然还有另外一种可能,很多存储是对硬件进行检测,定期发检测信息,或有其他的措施来检测,一旦硬盘回复达不到他预先设计的值的时候,系统就认为那块盘坏了, 就会把他踢出去.其实并不是真的坏了
作者: tomatoqq    时间: 2013-01-08 11:17
马克一下)
作者: lxluan    时间: 2013-01-08 11:38
回复 2# feicy

创建RAID时不要选择开始初始化就不会破坏数据,有的RAID控制器可能没这功能
   
作者: 古丁高手    时间: 2013-01-23 15:57
感觉真正原因作者没有体现出来,我觉得只是试了很多次。处理了六个小时恰好碰对了lol




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2