由于raid的特點(diǎn)和優(yōu)勢(shì),磁盤陣列技術(shù)被廣泛應(yīng)用于服務(wù)器和存儲(chǔ)等商用領(lǐng)域。由于用戶基數(shù)大,出現(xiàn)故障的情況也不少。通過(guò)這篇文章介紹一下常見(jiàn)的raid磁盤陣列數(shù)故障類型和原因。
故障類型一、磁盤陣列處于降級(jí)狀態(tài)時(shí)未及時(shí)rebuild。
RAID磁盤陣列的數(shù)據(jù)安全冗余是利用部分空余空間實(shí)現(xiàn)的,陣列中有成員盤下線便無(wú)法繼續(xù)提供冗余空間。如果此時(shí)未能及時(shí)更換新磁盤并rebuild整個(gè)卷,一旦raid中有其他成員盤離線將會(huì)導(dǎo)致整個(gè)raid卷無(wú)法工作。這類故障是北亞企安數(shù)據(jù)恢復(fù)工作中會(huì)經(jīng)常遇到case。
故障類型二、raid控制器故障。
磁盤陣列控制器在充當(dāng)著操作系統(tǒng)與物理硬盤之間的連接紐帶。磁盤陣列中的硬盤數(shù)量、容量大小、raid級(jí)別、校驗(yàn)方式等raid信息有的存儲(chǔ)于硬盤,有的存儲(chǔ)于陣列卡或者在二者中都有存儲(chǔ)。如果控制器出現(xiàn)故障,raid信息就無(wú)法還原,如果出現(xiàn)這種故障,即使能夠還原raid結(jié)構(gòu)并再次重建raid陣列也無(wú)法恢復(fù)數(shù)據(jù)。
故障類型三、固件算法缺陷。
RAID的創(chuàng)建、重建、降級(jí)、保護(hù)等功能的實(shí)現(xiàn)依靠的raid固件上的一套非常復(fù)雜的算法,任何復(fù)雜的算法都會(huì)有BUG,盡管廠商不會(huì)輕易承認(rèn)自家產(chǎn)品固件算法的BUG(有可能自己也不知道)。因?yàn)楣碳惴˙UG,發(fā)生無(wú)法解釋的故障可能性肯定是有的。比如在北亞企安接到的數(shù)據(jù)恢復(fù)case中就遇到過(guò)早期生產(chǎn)的某品牌服務(wù)器RAID中一塊盤OFFLINE后,故障盤與報(bào)警燈不一致的情況。用戶在更換故障盤進(jìn)行REBUILD時(shí)被誤導(dǎo)拔錯(cuò)盤,導(dǎo)致整個(gè)RAID崩潰。
故障類型四、IO通道受阻導(dǎo)致RAID掉盤。
RAID控制器在設(shè)計(jì)時(shí)候優(yōu)先考慮的是數(shù)據(jù)的安全性,RAID會(huì)盡可能避免將數(shù)據(jù)寫到不穩(wěn)定的存儲(chǔ)介質(zhì)上。當(dāng)控制器與物理盤進(jìn)行IO時(shí),如果時(shí)間超過(guò)某個(gè)閾值或校驗(yàn)關(guān)系不滿足,RAID控制器便會(huì)認(rèn)為對(duì)應(yīng)的存儲(chǔ)介質(zhì)已不具備持續(xù)穩(wěn)定工作的能力并讓其強(qiáng)制下線,然后通知管理員盡快解決問(wèn)題。這種設(shè)計(jì)的初衷從技術(shù)上和邏輯上來(lái)看沒(méi)有問(wèn)題,但對(duì)于如物理連接線路松動(dòng),硬盤工作反應(yīng)超時(shí)(硬盤還是完好的)等場(chǎng)景來(lái)說(shuō),控制器無(wú)法分辨存儲(chǔ)介質(zhì)是否真的出現(xiàn)物理故障,這種情況下會(huì)大概率強(qiáng)制磁盤下線。這類故障發(fā)生概率比較高且無(wú)法避免,很多用戶因此類故障質(zhì)疑服務(wù)器廠商。實(shí)際上。越是設(shè)計(jì)安全的RAID控制器,越容易發(fā)生此類故障。
故障類型五、控制器的穩(wěn)定性。
RAID的控制器在ONLINE狀態(tài)下(無(wú)離線盤)工作是最穩(wěn)定的。當(dāng)部分硬盤(物理故障或者邏輯故障)離線后控制器便會(huì)工作在一個(gè)相對(duì)不穩(wěn)定的狀態(tài),這也是好多中低端的RAID控制器在有磁盤離線后就表現(xiàn)出讀寫性能下降的原因。控制器的不穩(wěn)定會(huì)增加數(shù)據(jù)吞吐時(shí)IO滯留的可能性,從而導(dǎo)致上述第四個(gè)類型的故障的發(fā)生。中低端的控制器(無(wú)高性能處理芯片或者大容量高速緩存)發(fā)生這類故障的概率要高得多。
故障類型六、陣列中硬盤故障。
很多人認(rèn)為磁盤陣列只要在正常工作,陣列中就不會(huì)存在有物理故障的硬盤。這個(gè)觀點(diǎn)的判斷依據(jù)是一旦raid中有硬盤出現(xiàn)物理故障,陣列控制器就會(huì)將故障硬盤踢下線。然而實(shí)際上并非如此。
RAID很少會(huì)讀取到物理硬盤的所有磁盤空間,同一時(shí)間更是不可能。部分情況下,硬盤會(huì)在RAID沒(méi)有讀取到的區(qū)域或者RAID以前讀取過(guò)的區(qū)域出現(xiàn)壞道,這類壞道因?yàn)闆](méi)有被RAID讀過(guò),所以在控制器來(lái)看還是好的。
出現(xiàn)這種情況后可能會(huì)產(chǎn)生的直接后果就是在REBUILD過(guò)程中,當(dāng)一塊物理硬盤離線后,在進(jìn)行REBUILD過(guò)程中,如果其他硬盤存在這類沒(méi)有被RAID讀取到的壞道,由于REBUILD是對(duì)全盤做全面同步,在REBUILD過(guò)程中就一定會(huì)讀寫到這類之前沒(méi)有被RAID讀取到的壞道。這時(shí)REBUILD還沒(méi)完成,新盤無(wú)法上線,又在舊盤發(fā)現(xiàn)了壞道,RAID極有可能將發(fā)現(xiàn)壞道的舊盤踢出,這樣就會(huì)導(dǎo)致RAID故障。
故障類型七、人為誤操作。
人為誤操作導(dǎo)致的RAID故障,例如:誤拔了RAID里的硬盤、更換壞盤不及時(shí)、拔出硬盤更換或者進(jìn)行其他操作后忘記硬盤在RAID中的順序、不小心刪除了原RAID配置等。
審核編輯:湯梓紅
-
服務(wù)器
+關(guān)注
關(guān)注
12文章
8958瀏覽量
85082 -
RAID
+關(guān)注
關(guān)注
0文章
268瀏覽量
35032 -
磁盤
+關(guān)注
關(guān)注
1文章
361瀏覽量
25154
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論