由于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配置等。
審核編輯:湯梓紅
-
服務器
+關注
關注
12文章
9123瀏覽量
85329 -
RAID
+關注
關注
0文章
277瀏覽量
35085 -
磁盤
+關注
關注
1文章
375瀏覽量
25201
發布評論請先 登錄
相關推薦
評論