1. 程式人生 > >RAID5伺服器磁碟陣列故障分析

RAID5伺服器磁碟陣列故障分析

這裡說的RAID-5故障資料恢復,是指RAID-5邏輯盤丟失或不可訪問。伺服器RAID-5出現故障後在資料沒有完全備份的情況下切記不可對離線硬碟就是強制上線或重建等操作,這會對伺服器資料恢復是不可逆的,導致RAID-5故障的原因主要有以下幾種:

RAID-5故障資料恢復

  RAID-5故障資料恢復

  一,故障的原因:

  1.RAID控制器出現物理故障

  RAID控制器如果出現物理故障,將不能被計算機識別,也就無法完成對RAID-5中各 個物理成員盤的控制,在這種情況下,通過RAID控制器虛擬出來的邏輯盤自然就不存在了。

  2.RAID資訊出錯

  RAID控制器將物理盤配置為RAID-5後,會生成一些引數,包括該RAID-5的盤序、 條帶大小、左右結構情況、同步非同步情況、RAID-5在每塊物理盤中的起始地址等,還會記錄有關該RA1D-5的相關資訊,包括組成該RAID-5的物理盤數目、物理盤的容量大小等, 所有這些資訊和引數就被稱為RAID資訊,也稱為RAID元資料,它們會被儲存到RAID 控制器中,有時候也會儲存到RAID-5的成員盤中。

  RAID資訊出錯就是指該RAID-5的配置資訊和引數出現錯誤,導致RAID程式不能正 確地組織管理RAID-5中的成員盤,從而導致RA1D-5邏輯盤丟失或不能訪問。

  3.RAID-5成員盤出現物理故障

  RA1D-5可以允許其中一塊成員盤離線而不影響資料的完整性,如果RAID-5中的某一 塊成員盤出現物理故障,比如電路損壞、磁頭損壞、韌體損壞、出現壞扇區等,該成員盤 就不能正常使用,但剩下的成員盤可以利用異或運算計算出離線成員盤中的資料,所以 RAID-5還不會崩潰。

  如果系統管理員沒有及時替換出現故障的成員盤,當再有一塊成員盤出現故障離線後, RAID-5將徹底崩潰。

  4.人為誤操作

  如果誤將RAID-5中兩塊以上成員盤同時拔出,或者給RAID-5除塵時將成員盤拔出後 忘了原來的順序,以及不小心刪除了 RAID-5的配置資訊等,都會造成RAID-5崩潰。

  5.RAID控制器的穩定性

  RAID-5的資料分佈結構中有校驗塊的存在,當RAID-5中有成員盤離線時,演算法將變 得更加複雜,RAID控制器將會工作在一個比較吃力的狀態。而RAID控制器的負載太重便 會極大地增加資料讀寫時出現I/O滯留的可能性,從而導致更多成員盤離線,或者導致 RAID資訊出錯。

  二,RAID-5故障案例

  一臺是在2000年購買的HP LH6000的伺服器,4塊18GB的硬碟做成RAID 5磁碟陣列,其陣列卡是NetRaid; 另一臺是2006年購買的HP ProLian ML370伺服器,4塊146GB的硬碟做成RAID 5磁碟陣列,其陣列卡是Smart Array 642並帶有熱備份硬碟(Hot Spare)。兩者作業系統都為Window 2000,資料庫是Server 2000。

  HP LH6000的故障如下: 一塊硬碟紅燈閃亮,機器還在正常執行,但沒有多久,系統就不能正常執行,這時才發現另一塊硬碟的紅燈也在閃亮。

  三,RAID-5故障資料恢復解決辦法

  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技術後備

  從以上兩個例子可以看出,同一品牌、不同系列的伺服器因其內含技術的不同,其Raid 5磁碟故障的排除也是不同的。但經過重建(Rebuild)資料後,資料被拯救了,從中可以得出以下經驗:

  我們認為任何先進的技術手段都不是萬無一失的。如果要確保資料安全,就一定要做好備份工作,最好每天做一次資料庫的異地備份。至少備用一塊新硬碟。需要指出的是,加入陣列的硬碟必須大於或等於故障硬碟的容量。

  如果條件允許,推薦“RAID 5+熱備盤”的陣列建立方案。這樣在資料丟失前,我們有兩次更換硬碟的機會。對於一般的應用,只用RAID 5即可,可以同時提供資料的存取效能、可靠性和最大的磁碟空間。

  管理員必須經常觀察陣列的狀態,包括檢視磁碟陣列的黃色警告燈和管理軟體裡的驅動器狀態。出現故障,及時排除。無論是什麼級別的陣列,在排除故障前,都應做好資料備份。