如何排除伺服器中RAID5陣列常見故障
由於技術的不斷進步,不同型號的伺服器出現RAID5故障後,處理方法也不同。
現在大型應用程式的網路拓樸結構,一般都採用C/S結構或B/S結構,至少需要一臺裝有大型資料庫的伺服器安放於中心機房。基於對伺服器安全性與可靠性的考慮,通常會對伺服器的磁碟採用磁碟陣列RAID(Redundant Array of Inexpensive Disk)進行磁碟冗餘備份。其中RAID5陣列級別為無獨立校驗磁碟的奇偶校驗磁碟陣列,採用資料分塊和獨立存取技術,能在同一磁碟上並行處理多個訪問請求,同時允許陣列中的任何一個硬碟出現故障。
實際應用中,由於某些不可避免的客觀原因,可能會造成一些陣列故障。最常出現的狀況就是硬碟自行離線,聯機狀態顯示為DDD(Defunct Disk Drive,無效磁碟驅動器),硬碟出現物理故障或邏輯故障。如果是物理故障,只有進行硬碟更換;如果是邏輯故障,可以通過有針對性的技術修復,恢復硬碟的線上狀態,繼續保持其原始陣列中的硬碟資料條帶化分佈狀態,延續資料儲存體系的一致性。
但是,對HP的一些老伺服器(如HP LH6000)資料的恢復與新伺服器(如HP ProLian系列伺服器)的資料恢復是不同的。所以不同的伺服器對RAID5故障的處理也是不同的。筆者曾接觸過兩臺伺服器因意外斷電而造成的RAID5陣列卡資料故障,由於採用了不同的策略而解決了問題。
伺服器raid陣列故障修復
一臺是在2000年購買的HP LH6000的伺服器,4塊18GB的硬碟做成RAID5磁碟陣列,其陣列卡是NetRaid;另一臺是2006年購買的HP ProLian 文明用語370伺服器,4塊146GB的硬碟做成RAID 5磁碟陣列,其陣列卡是Smart Array 642並帶有熱備份硬碟(Hot Spare)。兩者作業系統都為Window 2000,資料庫是Server 2000。
HP LH6000的故障如下: 一塊硬碟紅燈閃亮,機器還在正常執行,但沒有多久,系統就不能正常執行,這時才發現另一塊硬碟的紅燈也在閃亮。
Raid磁碟陣列資料恢復方法:
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系列伺服器在陣列出錯後是不能重配陣列的。