如何排除服務(wù)器中RAID 5故障

由于技術(shù)的不斷進(jìn)步,不同型號(hào)的服務(wù)器出現(xiàn)RAID 5故障后,處理方法也不同。

現(xiàn)在大型應(yīng)用程序的網(wǎng)絡(luò)拓樸結(jié)構(gòu),一般都采用C/S結(jié)構(gòu)或B/S結(jié)構(gòu),至少需要一臺(tái)裝有大型數(shù)據(jù)庫的服務(wù)器安放于中心機(jī)房?;趯?duì)服務(wù)器安全性與可靠性的考慮,通常會(huì)對(duì)服務(wù)器的磁盤采用磁盤陣列RAID(Redundant Array of Inexpensive Disk)進(jìn)行磁盤冗余備份。其中RAID 5陣列級(jí)別為無獨(dú)立校驗(yàn)磁盤的奇偶校驗(yàn)磁盤陣列,采用數(shù)據(jù)分塊和獨(dú)立存取技術(shù),能在同一磁盤上并行處理多個(gè)訪問請(qǐng)求,同時(shí)允許陣列中的任何一個(gè)硬盤出現(xiàn)故障。

實(shí)際應(yīng)用中,由于某些不可避免的客觀原因,可能會(huì)造成一些陣列故障。最常出現(xiàn)的狀況就是硬盤自行脫機(jī),聯(lián)機(jī)狀態(tài)顯示為DDD(Defunct Disk Drive,無效磁盤驅(qū)動(dòng)器),硬盤出現(xiàn)物理故障或邏輯故障。如果是物理故障,只有進(jìn)行硬盤更換;如果是邏輯故障,可以通過有針對(duì)性的技術(shù)修復(fù),恢復(fù)硬盤的在線狀態(tài),繼續(xù)保持其原始陣列中的硬盤數(shù)據(jù)條帶化分布狀態(tài),延續(xù)數(shù)據(jù)存儲(chǔ)體系的一致性。

但是,對(duì)HP的一些老服務(wù)器(如HP LH6000)數(shù)據(jù)的恢復(fù)與新服務(wù)器(如HP ProLian系列服務(wù)器)的數(shù)據(jù)恢復(fù)是不同的。所以不同的服務(wù)器對(duì)RAID 5故障的處理也是不同的。曾接觸過兩臺(tái)服務(wù)器因意外斷電而造成的RAID 5陣列卡數(shù)據(jù)故障,由于采用了不同的策略而解決了問題。

故障修復(fù)

一臺(tái)是HP LH6000的服務(wù)器,4塊18GB的硬盤做成RAID 5磁盤陣列,其陣列卡是NetRaid;另一臺(tái)是HP ProLian ML370服務(wù)器,4塊146GB的硬盤做成RAID 5磁盤陣列,其陣列卡是Smart Array 642并帶有熱備份硬盤(Hot Spare)。兩者操作系統(tǒng)都為Window 2000,數(shù)據(jù)庫是Server 2000。

HP LH6000的故障如下: 一塊硬盤紅燈閃亮,機(jī)器還在正常運(yùn)行,但沒有多久,系統(tǒng)就不能正常運(yùn)行,這時(shí)才發(fā)現(xiàn)另一塊硬盤的紅燈也在閃亮。

解決辦法如下:

1.啟動(dòng)服務(wù)器,自檢至陣列時(shí)按Ctrl+M進(jìn)入NetRaid管理程序。查看陣列信息,發(fā)現(xiàn)硬盤狀態(tài)為Failed,運(yùn)用修改配置將一硬盤強(qiáng)行設(shè)置成OnLine。重新啟動(dòng)服務(wù)器,在進(jìn)入系統(tǒng)前的硬件自檢時(shí)無效,啟動(dòng)失敗。

2.啟動(dòng)服務(wù)器,自檢至陣列時(shí)按Ctrl+M進(jìn)入NetRaid管理程序。選擇磁盤陣列,將原來OnLine掛起來的硬盤手工Fail掉,然后再把另一塊Failed的硬盤手工設(shè)置成OnLine,重新啟動(dòng)服務(wù)器就可以進(jìn)入系統(tǒng)了。

3.查看系統(tǒng)及數(shù)據(jù)庫都運(yùn)行正常后,再進(jìn)陣列配置工具把Failed的硬盤手工設(shè)置成Rebuild,100%完成重建后再重啟服務(wù)器,所有的陣列及系統(tǒng)都恢復(fù)原狀了。

另一臺(tái)運(yùn)行ERP系統(tǒng)的服務(wù)器(HP ProLiant ML370),由4塊146GB熱插拔硬盤通過RAID卡(Smart array陣列卡)配置成一臺(tái)具有RAID 5級(jí)的磁盤陣列。其中一塊硬盤在運(yùn)行過程中突然出現(xiàn)故障。服務(wù)器RAID 5自動(dòng)啟用熱備份硬盤(Hot Spare),對(duì)損壞硬盤進(jìn)行邏輯替代。整個(gè)硬盤的數(shù)據(jù)訪問任務(wù)仍然完整地運(yùn)行在原來的讀寫進(jìn)程序列中,應(yīng)用程序和數(shù)據(jù)庫沒有發(fā)生影響。

通過HP自帶的ACU工具查看硬盤狀態(tài)進(jìn)行檢查,發(fā)現(xiàn)紅燈示警的硬盤處于脫機(jī)狀態(tài)。如果HP ProLiant服務(wù)器中的Raid 5有兩塊硬盤出現(xiàn)亮紅燈時(shí),表明系統(tǒng)已經(jīng)崩潰,數(shù)據(jù)庫也就不能訪問,但系統(tǒng)不會(huì)自動(dòng)關(guān)機(jī)。當(dāng)?shù)诙K硬盤亮紅燈后,用常規(guī)的手段是不能恢復(fù)數(shù)據(jù)的,只有付費(fèi)找專業(yè)的第三方數(shù)據(jù)恢復(fù)公司恢復(fù)數(shù)據(jù)。

因此,對(duì)惠普老型號(hào)HP LH6000系列服務(wù)器來說,陣列的設(shè)計(jì)方面與現(xiàn)在HP ProLiant系列服務(wù)器的陣列有很多不同。就操作方法看,HP LH6000服務(wù)器的陣列操作方法有很多可選項(xiàng),包括陣列失敗后可以重新刪除陣列并重建等,初始化也是手工選擇的。但是HP ProLiant系列服務(wù)器陣列的初始化是在配置陣列后自動(dòng)在后臺(tái)執(zhí)行的,所以ProLiant系列服務(wù)器在陣列出錯(cuò)后是不能重配陣列的。

HP LH6000服務(wù)器會(huì)因其他意外的原因?qū)е玛嚵兄械拇疟P出現(xiàn)掉線現(xiàn)象,可讓維護(hù)人員手工選擇用Online或Offline、Rebuild等來恢復(fù)數(shù)據(jù)。但是現(xiàn)在的HP ProLiant系列服務(wù)器在陣列中不會(huì)再出現(xiàn)像老的服務(wù)器那樣有磁盤掉線的現(xiàn)象,所以硬盤亮紅燈的時(shí)候,這塊硬盤基本上是損壞了需要更換。當(dāng)然可以選擇熱插拔硬盤來重建(Rebuild),看硬盤還能不能再用一段時(shí)間。

做好技術(shù)后備

從以上兩個(gè)例子可以看出,同一品牌、不同系列的服務(wù)器因其內(nèi)含技術(shù)的不同,其Raid 5磁盤故障的排除也是不同的。但經(jīng)過重建(Rebuild)數(shù)據(jù)后,數(shù)據(jù)被拯救了,從中可以得出以下經(jīng)驗(yàn):

我們認(rèn)為任何先進(jìn)的技術(shù)手段都不是萬無一失的。如果要確保數(shù)據(jù)安全,就一定要做好備份工作,最好每天做一次數(shù)據(jù)庫的異地備份。至少備用一塊新硬盤。需要指出的是,加入陣列的硬盤必須大于或等于故障硬盤的容量。

如果條件允許,推薦“RAID 5+熱備盤”的陣列創(chuàng)建方案。這樣在數(shù)據(jù)丟失前,我們有兩次更換硬盤的機(jī)會(huì)。對(duì)于一般的應(yīng)用,只用RAID 5即可,可以同時(shí)提供數(shù)據(jù)的存取性能、可靠性和最大的磁盤空間。

管理員必須經(jīng)常觀察陣列的狀態(tài),包括查看磁盤陣列的黃色警告燈和管理軟件里的驅(qū)動(dòng)器狀態(tài)。出現(xiàn)故障,及時(shí)排除。無論是什么級(jí)別的陣列,在排除故障前,都應(yīng)做好數(shù)據(jù)備份。