對數(shù)據(jù)的完整性要求較高的應(yīng)用才需要使用這類的的磁盤陣列,對于一般的應(yīng)用,或者小型服務(wù)器的應(yīng)用完全沒有必要,重要數(shù)據(jù)可以單獨備份。
RAID5把數(shù)據(jù)和相對應(yīng)的奇偶校驗信息存儲到組成RAID5的各個磁盤上,并且奇偶校驗信息和相對應(yīng)的數(shù)據(jù)分別存儲于不同的磁盤上,其中任意N-1塊磁盤上都存儲完整的數(shù)據(jù),也就是說有相當(dāng)于一塊磁盤容量的空間用于存儲奇偶校驗信息,也就是你說指的那損失的一個硬盤容量的原因。因此當(dāng)RAID5的一個磁盤發(fā)生損壞后,不會影響數(shù)據(jù)的完整性,從而保證了數(shù)據(jù)安全。當(dāng)損壞的磁盤被替換后,RAID還會自動利用剩下奇偶校驗信息去重建此磁盤上的數(shù)據(jù),來保持RAID5的高可靠性。 用簡單的語言來表示,至少使用3塊硬盤(也可以更多)組建RAID5磁盤陣列,當(dāng)有數(shù)據(jù)寫入硬盤的時候,按照1塊硬盤的方式就是直接寫入這塊硬盤的磁道,如果是RAID5的話這次數(shù)據(jù)寫入會分根據(jù)算法分成3部分,然后寫入這3塊硬盤,寫入的同時還會在這3塊硬盤上寫入校驗信息,當(dāng)讀取寫入的數(shù)據(jù)的時候會分別從3塊硬盤上讀取數(shù)據(jù)內(nèi)容,再通過檢驗信息進(jìn)行校驗。當(dāng)其中有1塊硬盤出現(xiàn)損壞的時候,就從另外2塊硬盤上存儲的數(shù)據(jù)可以計算出第3塊硬盤的數(shù)據(jù)內(nèi)容。也就是說raid5這種存儲方式只允許有一塊硬盤出現(xiàn)故障,出現(xiàn)故障時需要盡快更換。當(dāng)更換故障硬盤后,在故障期間寫入的數(shù)據(jù)會進(jìn)行重新校驗。 如果在未解決故障又壞1塊,那就是災(zāi)難性的了。
RAID5校驗位算法原理 P=D1 xor D2 xor D3 … xor Dn (D1,D2,D3 … Dn為數(shù)據(jù)塊,P為校驗,xor為異或運算) XOR(Exclusive OR)的校驗原理如下表: A值B值Xor結(jié)果 000 101 011 110 這里的A與B值就代表了兩個位,從中可以發(fā)現(xiàn),A與B一樣時,XOR結(jié)果為0,A與B不一樣時,XOR結(jié)果就是1,而且知道XOR結(jié)果和A與B中的任何一個數(shù)值,就可以反推出另一個數(shù)值。比如A為1,XOR結(jié)果為1,那么B肯定為0,如果XOR結(jié)果為0,那么B肯定為1。這就是XOR編碼與校驗的基本原理。
RAID5結(jié)構(gòu)圖
RAID-5數(shù)據(jù)恢復(fù)思路RAID-5陣列中數(shù)據(jù)的分布與RAID-0類似,數(shù)據(jù)也是分布到每塊硬盤上,與RAID-0不同的是,RAID-5中每個條帶組中總有一個條帶是校驗塊,如圖中的“P0、P1、P2、P3”就是校驗塊。 RAID-5能夠支持在一塊盤離線的情況下保證數(shù)據(jù)的正常訪問,如果有兩塊或兩塊以上硬盤同時離線,或者RAID信息出錯等原因,陣列便會失效,這時就需要對數(shù)據(jù)進(jìn)行重組。 圖RAID-5的結(jié)構(gòu)圖 對RAID-5的數(shù)據(jù)進(jìn)行重組,也需要先把物理盤去RAID化,作為單盤進(jìn)行分析,如圖中的四塊物理盤,把四塊物理盤中的數(shù)據(jù)按照“A、B、C、D、E、F、G、H……”的順序拼接好,就是RAID-5邏輯盤中完整的數(shù)據(jù)。 因為RAID-5的每塊物理盤中都有校驗信息,所以分析RAID-5就需要比RAID-0多一個因素,即校驗塊的位置和方向,另外,RAID-5中數(shù)據(jù)塊的走向也會不一樣,分為異步和同步,也就是說,RAID-5 有四個因素很重要,第一個是RAID中每個條帶的大小,也就是 “A”或“B” 這些數(shù)據(jù)塊所占用的扇區(qū)數(shù);第二個因素是RAID中硬盤的排列順序,也就是盤序;第三個因素是校驗塊的循環(huán)方向;第四個因素是數(shù)據(jù)塊的走向。 以圖中四塊物理盤組成的RAID-5為例,假設(shè)條帶的大小為32個扇區(qū),物理盤的順序就按照圖中的排列順序,那么只要到硬盤0中取0-31扇區(qū)的信息,再到硬盤1中取0-31扇區(qū)的信息,再到硬盤2中取0-31扇區(qū)的信息,硬盤3中0-31扇區(qū)的信息是校驗塊,跳過不取。接下來再回到硬盤0中取32-63扇區(qū)的信息,就這樣依次按順序取下去,把所有取出來的數(shù)據(jù)按照順序銜接成一個鏡像文件或者是鏡像盤,這就成為完整的原RAID-5邏輯盤的結(jié)構(gòu)了,直接訪問這個重組出來的鏡像文件或鏡像盤,就得到了原RAID-5邏輯盤中的數(shù)據(jù)。
可以關(guān)注我們問答堂的官方微博,參與討論更多問題,點擊右側(cè)的微博。 其它問題可以到中關(guān)村在線-精編問答堂搜索 更多的關(guān)于電腦和網(wǎng)絡(luò)的問題請到中關(guān)村在線-硬件論壇交流分享 希望以上信息對你有所幫助
|