raid磁盤(pán)陣列多用于存儲(chǔ)服務(wù)器,數(shù)據(jù)服務(wù)器等企業(yè)級(jí)大數(shù)據(jù)存儲(chǔ)領(lǐng)域,RAID是把多塊獨(dú)立的物理硬盤(pán)按不同方式組合起來(lái)形成一個(gè)邏輯硬盤(pán),當(dāng)raid癱瘓或硬件損壞后,為了恢復(fù)存儲(chǔ)在raid平臺(tái)的數(shù)據(jù)被稱(chēng)之為raid數(shù)據(jù)恢復(fù),RAID陣列能夠提供比單個(gè)硬盤(pán)有著更高的性能和提供數(shù)據(jù)冗余的技術(shù)。
如果服務(wù)器或存儲(chǔ)平臺(tái)組建了RAID陣列,無(wú)論因哪種原因?qū)е碌腞AID癱瘓,請(qǐng)勿進(jìn)行僥幸心理嘗試或執(zhí)行盲目性無(wú)操作,這是十分危險(xiǎn)的事情!在RAID數(shù)據(jù)恢復(fù)案例統(tǒng)計(jì)中發(fā)現(xiàn),不能恢復(fù)的RAID數(shù)據(jù)往往是再次的操作導(dǎo)致。
什么是raidi數(shù)據(jù)恢復(fù)?raid癱瘓數(shù)據(jù)恢復(fù)注意事項(xiàng)
當(dāng)RAID陣列不正?;驘o(wú)法啟動(dòng)的時(shí)候,如何有效的保護(hù)數(shù)據(jù)不被破壞,以下幾種情況的操作有可能對(duì)陣列造成數(shù)據(jù)破壞:
1.強(qiáng)制Online
這個(gè)操作是很容易對(duì)陣列造成數(shù)據(jù)破壞的,尤其是當(dāng)有2塊或以上的盤(pán)掉線(xiàn)的時(shí)候,如果不知道哪個(gè)盤(pán)先掉,哪個(gè)盤(pán)后掉的話(huà),一但破壞了,數(shù)據(jù)將有可能變成舊的,而且無(wú)法恢復(fù)。
例如:RAID5陣列,4塊盤(pán),0號(hào)和2號(hào)掉線(xiàn)。假設(shè)0號(hào)盤(pán)先掉線(xiàn),1個(gè)月后2號(hào)盤(pán)又掉線(xiàn),這個(gè)時(shí)候如果將2塊盤(pán)強(qiáng)制在線(xiàn)的話(huà),因?yàn)?號(hào)盤(pán)1個(gè)月前就掉線(xiàn)了,這一個(gè)月當(dāng)中對(duì)數(shù)據(jù)做的很多的改變,這塊盤(pán)的數(shù)據(jù)已經(jīng)不能通過(guò)RAID的檢驗(yàn)了,陣列是無(wú)法分析數(shù)據(jù)的新舊的,所以陣列有可能用0號(hào)盤(pán)+1、3號(hào)盤(pán)去Rebuild 2號(hào)盤(pán),這樣一來(lái),2號(hào)盤(pán)的數(shù)據(jù)也就成了不正確的了,將無(wú)法恢復(fù),多也只能恢復(fù)到1個(gè)月前的部分?jǐn)?shù)據(jù)。
2.Rebuild
例如:RAID5陣列,4塊盤(pán),Rebuild操作的實(shí)際意義是,用其中3塊盤(pán)做異或運(yùn)算,將結(jié)果寫(xiě)到另一塊盤(pán)中。這里要求,用來(lái)做異或運(yùn)算的3塊盤(pán)的數(shù)據(jù)一定要是正確的,如果其中有一塊或多塊不正確哪么異或出來(lái)的結(jié)果也就是不正確的。
3.更換RAID卡或主機(jī)
目前大部分RAID卡都是支持這種操作的,在陣列正常的情況下這個(gè)操作是不會(huì)破壞數(shù)據(jù)的。但是,在陣列已經(jīng)癱瘓或是無(wú)法正常工作的時(shí)候,這個(gè)操作將有可能導(dǎo)致RAID對(duì)硬盤(pán)做不正常的Rebuild和校驗(yàn),所以當(dāng)陣列出現(xiàn)問(wèn)題的時(shí)候,要準(zhǔn)確判斷是陣列卡有問(wèn)題,還是硬盤(pán)有問(wèn)題,不要輕易去嘗試更換RAID卡或主機(jī)。
4.把報(bào)錯(cuò)的硬盤(pán)全部拔下來(lái)再插上去
拔下來(lái)沒(méi)關(guān)系,但是如果再全插上去的話(huà)陣列將重新去識(shí)別插上去的硬盤(pán),這時(shí)如果硬盤(pán)中的陣列信息或數(shù)據(jù)有誤的話(huà),會(huì)導(dǎo)致陣列做出錯(cuò)的Rebuild操作。
如果是懷疑硬盤(pán)接觸不好的話(huà),可以一塊一塊的拔,再一塊一塊的插上去。不要一次都拔下來(lái)?;蛘呖梢缘脑?huà),關(guān)機(jī)后,再進(jìn)行插拔。
5.操作系統(tǒng)的check disk
Windows,Linux,Unix等操作系統(tǒng)都有自己的一個(gè)硬盤(pán)檢測(cè)程序,當(dāng)你硬盤(pán)中的分區(qū)或文件出現(xiàn)問(wèn)題無(wú)法正常讀取的時(shí)候,操作系統(tǒng)就會(huì)在重啟的時(shí)候去自動(dòng)運(yùn)行Check disk去試圖修復(fù),這時(shí),如果是陣列的檢驗(yàn)出現(xiàn)問(wèn)題而導(dǎo)致分區(qū)或文件出錯(cuò)的話(huà),運(yùn)行Check disk將有可能破壞陣列中數(shù)據(jù)。
6.對(duì)RAID中單塊硬盤(pán)進(jìn)行寫(xiě)操作
一件事情或一個(gè)工作做的多了,你可能什么情況都能遇到,這一項(xiàng)我們是很不愿意列出來(lái),但是就有人這么做了,所以不得不拿出來(lái)提醒一個(gè)。陣列中的硬盤(pán)是一個(gè)整體,破壞其它一塊硬盤(pán)就是破壞整個(gè)陣列。
7.磁盤(pán)掉線(xiàn)
對(duì)于RAID5來(lái)說(shuō),掉線(xiàn)1塊盤(pán)陣列還是可以正常運(yùn)行的,如果超出1塊,陣列將無(wú)法啟動(dòng)。當(dāng)陣列掉線(xiàn)超出1塊盤(pán)的時(shí)候,不要做強(qiáng)制Online。尤其是在你不知道是哪個(gè)盤(pán)先掉線(xiàn)哪塊盤(pán)后掉線(xiàn)的時(shí)候,不可以強(qiáng)制Online。RAID0和1算法簡(jiǎn)單,這里就不詳細(xì)說(shuō)明了。RAID5當(dāng)一塊硬盤(pán)OFFLINE之后負(fù)載會(huì)比較重,此時(shí)做脫機(jī)的REBUILD,如一定要在線(xiàn)REBUILD,應(yīng)盡可能少得對(duì)磁盤(pán)做高負(fù)荷的讀寫(xiě),應(yīng)保障這個(gè)過(guò)程的順利完成。建議條件許可的話(huà),加入HOTSPARE DISK
8.磁盤(pán)有壞道
陣列中的磁盤(pán)如果有壞道的話(huà),會(huì)導(dǎo)致磁盤(pán)掉線(xiàn)或陣列不穩(wěn)定,這時(shí)應(yīng)盡早將有壞道的硬盤(pán)換掉,如果出現(xiàn)多壞硬盤(pán)有壞道的話(huà),陣列將可能癱瘓。
9.斷電或意外關(guān)機(jī)
陣列是由RAID卡控制硬盤(pán),通過(guò)某種算法將多塊硬盤(pán)整合成一塊硬盤(pán)提供給用戶(hù)使用。在陣列運(yùn)行過(guò)程中,會(huì)有大量的輸入輸出信息放在RAID卡的緩沖或主機(jī)的緩沖中的,如果發(fā)生突然斷電和意外關(guān)機(jī)的情況,將導(dǎo)致碏的信息無(wú)法寫(xiě)回到硬盤(pán)或RAID卡的ROM中,這樣極易導(dǎo)致陣列信息丟失、陣列癱瘓。
10.擴(kuò)容失敗或擴(kuò)容過(guò)程中意外中斷
這里強(qiáng)烈建議,雖然目前很多陣列都支持不破壞數(shù)據(jù)直接擴(kuò)容,但是這種操作十分危險(xiǎn),在擴(kuò)容的過(guò)程中如果出現(xiàn)意外情況,比如說(shuō),突然斷電,硬盤(pán)有壞道等,哪數(shù)據(jù)是無(wú)法恢復(fù)的。年以要盡量將數(shù)據(jù)備份后再進(jìn)行擴(kuò)容。
11.文件目錄混亂,部分或全部文件無(wú)法訪(fǎng)問(wèn)
這種情況是由于陣列中某塊硬盤(pán)的數(shù)據(jù)是不正確的,導(dǎo)致校驗(yàn)出錯(cuò),其實(shí)并不是文件本身的問(wèn)題。這時(shí)如果重啟系統(tǒng)的話(huà),操作系統(tǒng)會(huì)對(duì)這個(gè)分區(qū)做Check disk,注意不要讓系統(tǒng)做Check disk。
12.Rebuild失敗或Rebuild過(guò)程中意外中斷
Rebuild過(guò)程中陣列是不能斷電的,否則陣列將有可能癱瘓。而且磁盤(pán)中有壞道的活,在Rebuild過(guò)程中也會(huì)使Rebuild失敗。