由于技术的不断进步,不同型号的服务器出现RAID 5故障后,处理方法也不同。
现在大型应用程序的网络拓朴结构,一般都采用C/S结构或B/S结构,至少需要一台装有大型数据库的服务器安放于中心机房。基于对服务器安全性与可靠性的考虑,通常会对服务器的磁盘采用磁盘阵列RAID(Redundant Array of Inexpensive Disk)进行磁盘冗余备份。其中RAID 5阵列级别为无独立校验磁盘的奇偶校验磁盘阵列,采用数据分块和独立存取技术,能在同一磁盘上并行处理多个访问请求,同时允许阵列中的任何一个硬盘出现故障。
实际应用中,由于某些不可避免的客观原因,可能会造成一些阵列故障。最常出现的状况就是硬盘自行脱机,联机状态显示为DDD(Defunct Disk Drive,无效磁盘驱动器),硬盘出现物理故障或逻辑故障。如果是物理故障,只有进行硬盘更换;如果是逻辑故障,可以通过有针对性的技术修复,恢复硬盘的在线状态,继续保持其原始阵列中的硬盘数据条带化分布状态,延续数据存储体系的一致性。
但是,对HP的一些老服务器(如HP LH6000)数据的恢复与新服务器(如HP ProLian系列服务器)的数据恢复是不同的。所以不同的服务器对RAID 5故障的处理也是不同的。笔者曾接触过两台服务器因意外断电而造成的RAID 5阵列卡数据故障,由于采用了不同的策略而解决了问题。
故障修复
一台是在2000年购买的HP LH6000的服务器,4块18GB的硬盘做成RAID 5磁盘阵列,其阵列卡是NetRaid;另一台是2006年购买的HP ProLian 文明用语370服务器,4块146GB的硬盘做成RAID 5磁盘阵列,其阵列卡是Smart Array 642并带有热备份硬盘(Hot Spare)。两者操作系统都为Window 2000,数据库是Server 2000。
HP LH6000的故障如下: 一块硬盘红灯闪亮,机器还在正常运行,但没有多久,系统就不能正常运行,这时才发现另一块硬盘的红灯也在闪亮。
解决办法如下:
1.启动服务器,自检至阵列时按Ctrl+M进入NetRaid管理程序。查看阵列信息,发现硬盘状态为Failed,运用修改配置将一硬盘强行设置成OnLine。重新启动服务器,在进入系统前的硬件自检时无效,启动失败。
2.启动服务器,自检至阵列时按Ctrl+M进入NetRaid管理程序。选择磁盘阵列,将原来OnLine挂起来的硬盘手工Fail掉,然后再把另一块Failed的硬盘手工设置成OnLine,重新启动服务器就可以进入系统了。
3.查看系统及数据库都运行正常后,再进阵列配置工具把Failed的硬盘手工设置成Rebuild,100%完成重建后再重启服务器,所有的阵列及系统都恢复原状了。
笔者所在单位另一台运行ERP系统的服务器(HP ProLiant 文明用语370),由4块146GB热插拔硬盘通过RAID卡(Smart array阵列卡)配置成一台具有RAID 5级的磁盘阵列。其中一块硬盘在运行过程中突然出现故障。服务器RAID 5自动启用热备份硬盘(Hot Spare),对损坏硬盘进行逻辑替代。整个硬盘的数据访问任务仍然完整地运行在原来的读写进程序列中,应用程序和数据库没有发生影响。
通过HP自带的ACU工具查看硬盘状态进行检查,发现红灯示警的硬盘处于脱机状态。如果HP ProLiant服务器中的Raid 5有两块硬盘出现亮红灯时,表明系统已经崩溃,数据库也就不能访问,但系统不会自动关机。当第二块硬盘亮红灯后,用常规的手段是不能恢复数据的,只有付费找专业的第三方数据恢复公司恢复数据。
因此,对惠普老型号HP LH6000系列服务器来说,阵列的设计方面与现在HP ProLiant系列服务器的阵列有很多不同。就操作方法看,HP LH6000服务器的阵列操作方法有很多可选项,包括阵列失败后可以重新删除阵列并重建等,初始化也是手工选择的。但是HP ProLiant系列服务器阵列的初始化是在配置阵列后自动在后台执行的,所以ProLiant系列服务器在阵列出错后是不能重配阵列的。
原文地址:http://blog.51cto.com/sun510/2069415