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