【伺服器資料恢復】Raid磁碟陣列常見故障解析

北亞資料恢復發表於2023-04-21


由於raid的特點和優勢,磁碟陣列技術被廣泛應用於伺服器和儲存等商用領域。由於使用者基數大,出現故障的情況也不少。

透過這篇文章介紹一下常見的raid磁碟陣列數故障型別和原因。


故障型別一、磁碟陣列處於降級狀態時未及時rebuild。

RAID磁碟陣列的資料安全冗餘是利用部分空餘空間實現的,陣列中有成員盤下線便無法繼續提供冗餘空間。如果此時未能及

時更換新磁碟並rebuild整個卷,一旦raid中有其他成員盤離線將會導致整個raid卷無法工作。這類故障是北亞企安資料恢復

工作中會經常遇到case。


故障型別二、raid控制器故障。

磁碟陣列控制器在充當著作業系統與物理硬碟之間的連線紐帶。磁碟陣列中的硬碟數量、容量大小、raid級別、校驗方式等

raid資訊有的儲存於硬碟,有的儲存於陣列卡或者在二者中都有儲存。如果控制器出現故障,raid資訊就無法還原,如果出

現這種故障,即使能夠還原raid結構並再次重建raid陣列也無法恢復資料。


故障型別三、韌體演演算法缺陷。

RAID的建立、重建、降級、保護等功能的實現依靠的raid韌體上的一套非常複雜的演演算法,任何複雜的演演算法都會有BUG,盡

管廠商不會輕易承認自家產品韌體演演算法的BUG(有可能自己也不知道)。因為韌體演演算法BUG,發生無法解釋的故障可能性

肯定是有的。比如在北亞企安接到的資料恢復case中就遇到過早期生產的某品牌伺服器RAID中一塊盤OFFLINE後,故障盤

與報警燈不一致的情況。使用者在更換故障盤進行REBUILD時被誤導拔錯盤,導致整個RAID崩潰。


故障型別四、IO通道受阻導致RAID掉盤。

RAID控制器在設計時候優先考慮的是資料的安全性,RAID會盡可能避免將資料寫到不穩定的儲存介質上。當控制器與物理

盤進行IO時,如果時間超過某個閾值或校驗關係不滿足,RAID控制器便會認為對應的儲存介質已不具備持續穩定工作的能

力並讓其強制下線,然後通知管理員儘快解決問題。這種設計的初衷從技術上和邏輯上來看沒有問題,但對於如物理連線線

路鬆動,硬碟工作反應超時(硬碟還是完好的)等場景來說,控制器無法分辨儲存介質是否真的出現物理故障,這種情況下

會大機率強制磁碟下線。這類故障發生機率比較高且無法避免,很多使用者因此類故障質疑伺服器廠商。實際上。越是設計安

全的RAID控制器,越容易發生此類故障。


故障型別五、控制器的穩定性。

RAID的控制器在ONLINE狀態下(無離線盤)工作是最穩定的。當部分硬碟(物理故障或者邏輯故障)離線後控制器便會工作

在一個相對不穩定的狀態,這也是好多中低端的RAID控制器在有磁碟離線後就表現出讀寫效能下降的原因。控制器的不穩

定會增加資料吞吐時IO滯留的可能性,從而導致上述第四個型別的故障的發生。中低端的控制器(無高效能處理晶片或者大

容量快取記憶體)發生這類故障的機率要高得多。


故障型別六、陣列中硬碟故障。

很多人認為磁碟陣列只要在正常工作,陣列中就不會存在有物理故障的硬碟。這個觀點的判斷依據是一旦raid中有硬碟出現

物理故障,陣列控制器就會將故障硬碟踢下線。然而實際上並非如此。

RAID很少會讀取到物理硬碟的所有磁碟空間,同一時間更是不可能。部分情況下,硬碟會在RAID沒有讀取到的區域或者

RAID以前讀取過的區域出現壞道,這類壞道因為沒有被RAID讀過,所以在控制器來看還是好的。

出現這種情況後可能會產生的直接後果就是在REBUILD過程中,當一塊物理硬碟離線後,在進行REBUILD過程中,如果其他

硬碟存在這類沒有被RAID讀取到的壞道,由於REBUILD是對全盤做全面同步,在REBUILD過程中就一定會讀寫到這類之前

沒有被RAID讀取到的壞道。這時REBUILD還沒完成,新盤無法上線,又在舊盤發現了壞道,RAID極有可能將發現壞道的舊

盤踢出,這樣就會導致RAID故障。


故障型別七、人為誤操作。

人為誤操作導致的RAID故障,例如:誤拔了RAID裡的硬碟、更換壞盤不及時、拔出硬碟更換或者進行其他操作後忘記硬碟

在RAID中的順序、不小心刪除了原RAID配置等。


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31380569/viewspace-2947466/,如需轉載,請註明出處,否則將追究法律責任。

相關文章