如(rú)何排除服務器中RAID 5故障

由于(yú)技術的不斷進步,不同型号的服務器出現RAID 5故障後(hòu),處理方法也不同。

現在大型應用(yòng)程序的網絡拓樸結構,一般都采用(yòng)C/S結構或B/S結構,至少需要(yào / yāo)一台裝有大型數據庫的服務器安放于(yú)中心機房。基于(yú)對(duì)服務器安全性與可(kě)靠性的考慮,通常會(huì)對(duì)服務器的磁盤采用(yòng)磁盤陣列RAID(Redundant Array of Inexpensive Disk)進行(háng / xíng)磁盤冗餘備份。其(qí)中RAID 5陣列級别爲無獨立校驗磁盤的奇偶校驗磁盤陣列,采用(yòng)數據分塊和獨立存取技術,能(néng)在同一磁盤上并行(háng / xíng)處理多個訪問請求,同時允許陣列中的任何一個硬盤出現故障。

實際應用(yòng)中,由于(yú)某些不可(kě)避免的客觀原因,可(kě)能(néng)會(huì)造成一些陣列故障。最常出現的狀況就(jiù)是硬盤自(zì)行(háng / xíng)脫機,聯機狀态顯示爲DDD(Defunct Disk Drive,無效磁盤驅動器),硬盤出現物理故障或邏輯故障。如(rú)果是物理故障,隻有進行(háng / xíng)硬盤更換;如(rú)果是邏輯故障,可(kě)以通過(guò)有針對(duì)性的技術修複,恢複硬盤的在線狀态,繼續保持其(qí)原始陣列中的硬盤數據條帶化分布狀态,延續數據存儲體系的一緻性。

但是,對(duì)HP的一些老服務器(如(rú)HP LH6000)數據的恢複與新服務器(如(rú)HP ProLian系列服務器)的數據恢複是不同的。所(suǒ)以不同的服務器對(duì)RAID 5故障的處理也是不同的。曾接觸過(guò)兩台服務器因意外斷電而(ér)造成的RAID 5陣列卡數據故障,由于(yú)采用(yòng)了不同的策略而(ér)解決了問題。

故障修複

一台是HP LH6000的服務器,4塊18GB的硬盤做成RAID 5磁盤陣列,其(qí)陣列卡是NetRaid;另一台是HP ProLian ML370服務器,4塊146GB的硬盤做成RAID 5磁盤陣列,其(qí)陣列卡是Smart Array 642并帶有熱備份硬盤(Hot Spare)。兩者操作系統都爲Window 2000,數據庫是Server 2000。

HP LH6000的故障如(rú)下(xià): 一塊硬盤紅燈閃亮,機器還在正常運行(háng / xíng),但沒有多久,系統就(jiù)不能(néng)正常運行(háng / xíng),這時才發(fā/fà)現另一塊硬盤的紅燈也在閃亮。

解決辦法如(rú)下(xià):

1.啓動服務器,自(zì)檢至陣列時按Ctrl+M進入NetRaid管理程序。查看陣列信息,發(fā/fà)現硬盤狀态爲Failed,運用(yòng)修改配置将一硬盤強行(háng / xíng)設置成OnLine。重新啓動服務器,在進入系統前的硬件自(zì)檢時無效,啓動失敗。

2.啓動服務器,自(zì)檢至陣列時按Ctrl+M進入NetRaid管理程序。選擇磁盤陣列,将原來OnLine挂起來的硬盤手工Fail掉,然後(hòu)再把另一塊Failed的硬盤手工設置成OnLine,重新啓動服務器就(jiù)可(kě)以進入系統了。

3.查看系統及數據庫都運行(háng / xíng)正常後(hòu),再進陣列配置工具把Failed的硬盤手工設置成Rebuild,100%完成重建後(hòu)再重啓服務器,所(suǒ)有的陣列及系統都恢複原狀了。

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

通過(guò)HP自(zì)帶的ACU工具查看硬盤狀态進行(háng / xíng)檢查,發(fā/fà)現紅燈示警的硬盤處于(yú)脫機狀态。如(rú)果HP ProLiant服務器中的Raid 5有兩塊硬盤出現亮紅燈時,表明系統已經崩潰,數據庫也就(jiù)不能(néng)訪問,但系統不會(huì)自(zì)動關機。當第二塊硬盤亮紅燈後(hòu),用(yòng)常規的手段是不能(néng)恢複數據的,隻有付費找專業的第三方數據恢複公司恢複數據。

因此,對(duì)惠普老型号HP LH6000系列服務器來說,陣列的設計方面與現在HP ProLiant系列服務器的陣列有很多不同。就(jiù)操作方法看,HP LH6000服務器的陣列操作方法有很多可(kě)選項,包括陣列失敗後(hòu)可(kě)以重新删除陣列并重建等,初始化也是手工選擇的。但是HP ProLiant系列服務器陣列的初始化是在配置陣列後(hòu)自(zì)動在後(hòu)台執行(háng / xíng)的,所(suǒ)以ProLiant系列服務器在陣列出錯後(hòu)是不能(néng)重配陣列的。

HP LH6000服務器會(huì)因其(qí)他意外的原因導緻陣列中的磁盤出現掉線現象,可(kě)讓維護人員手工選擇用(yòng)Online或Offline、Rebuild等來恢複數據。但是現在的HP ProLiant系列服務器在陣列中不會(huì)再出現像老的服務器那(nà)樣有磁盤掉線的現象,所(suǒ)以硬盤亮紅燈的時候,這塊硬盤基本上是損壞了需要(yào / yāo)更換。當然可(kě)以選擇熱插拔硬盤來重建(Rebuild),看硬盤還能(néng)不能(néng)再用(yòng)一段時間。

做好技術後(hòu)備

從以上兩個例子可(kě)以看出,同一品牌、不同系列的服務器因其(qí)内含技術的不同,其(qí)Raid 5磁盤故障的排除也是不同的。但經過(guò)重建(Rebuild)數據後(hòu),數據被拯救了,從中可(kě)以得(dé / de / děi)出以下(xià)經驗:

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

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

管理員必須經常觀察陣列的狀态,包括查看磁盤陣列的黃色警告燈和管理軟件裏(lǐ)的驅動器狀态。出現故障,及時排除。無論是什麽級别的陣列,在排除故障前,都應做好數據備份。