由于技術的不斷進步,不同型號的服務器出現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陣列卡數據故障,由于采用了不同的策略而解決了問題。
故障修復
一臺是HP LH6000的服務器,4塊18GB的硬盤做成RAID 5磁盤陣列,其陣列卡是NetRaid;另一臺是HP ProLian ML370服務器,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 ML370),由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系列服務器在陣列出錯后是不能重配陣列的。
HP LH6000服務器會因其他意外的原因導致陣列中的磁盤出現掉線現象,可讓維護人員手工選擇用Online或Offline、Rebuild等來恢復數據。但是現在的HP ProLiant系列服務器在陣列中不會再出現像老的服務器那樣有磁盤掉線的現象,所以硬盤亮紅燈的時候,這塊硬盤基本上是損壞了需要更換。當然可以選擇熱插拔硬盤來重建(Rebuild),看硬盤還能不能再用一段時間。
做好技術后備
從以上兩個例子可以看出,同一品牌、不同系列的服務器因其內含技術的不同,其Raid 5磁盤故障的排除也是不同的。但經過重建(Rebuild)數據后,數據被拯救了,從中可以得出以下經驗:
我們認為任何先進的技術手段都不是萬無一失的。如果要確保數據安全,就一定要做好備份工作,最好每天做一次數據庫的異地備份。至少備用一塊新硬盤。需要指出的是,加入陣列的硬盤必須大于或等于故障硬盤的容量。
如果條件允許,推薦“RAID 5+熱備盤”的陣列創建方案。這樣在數據丟失前,我們有兩次更換硬盤的機會。對于一般的應用,只用RAID 5即可,可以同時提供數據的存取性能、可靠性和最大的磁盤空間。
管理員必須經常觀察陣列的狀態,包括查看磁盤陣列的黃色警告燈和管理軟件里的驅動器狀態。出現故障,及時排除。無論是什么級別的陣列,在排除故障前,都應做好數據備份。