當(dāng)前位置:首頁檢測中心基礎(chǔ)知識 │ 磁盤陣列模式詳解

磁盤陣列模式詳解

  • 瀏覽次數(shù):4958次
  • 發(fā)布時(shí)間:2016/10/14 14:35:27
  • 作者:量值溯源

  RAID是英文Redundant Array of Inexpensive Disks的縮寫,中文譯作廉價(jià)冗余磁盤陣列,簡稱磁盤陣列。簡單的說,RAID是一種把多塊獨(dú)立的硬盤(物理硬盤)按不同方式組合起來形成一個(gè)硬盤組(邏輯硬盤),從而提供比單個(gè)硬盤更高 的存儲(chǔ)性能和提供數(shù)據(jù)冗余的技術(shù)。在這一組硬盤中,數(shù)據(jù)按照不同的算法分別存儲(chǔ)于每塊硬盤上從而達(dá)到不同的效果這樣就形成了不同的RAID級別(RAID LEVEL)。

  按照RAID級別劃分,常見的有RAID0,RAID1,RAID3,RAID5, RAID10,RAID50還有不常用的RAID2, RAID4,RAID6,RAID7以及硬件廠商自己定義的RAID如惠普Smart Array陣列卡實(shí)現(xiàn)的RAID ADG和IBM的RAID 5E。

常用磁盤陣列模式

01RAID 0

  RAID 0是由一塊以上的硬盤組成,每塊硬盤被等分成容量相同的條帶集,數(shù)據(jù)也被分割成條帶,在同一時(shí)間內(nèi)向多塊磁盤寫入。

  優(yōu)勢:讀寫性能快,弱點(diǎn):數(shù)據(jù)安全性差。

  如果是四塊硬盤做RAID0,系統(tǒng)向邏輯設(shè)備發(fā)出的I/O指令會(huì)被轉(zhuǎn)化為4項(xiàng)操作,其中的每一項(xiàng)操作都對應(yīng)于一塊硬盤,通過建立帶區(qū)集,原先順序?qū)懭氲臄?shù)據(jù)被分散到所有的四塊硬盤中同時(shí)進(jìn)行讀寫。四塊硬盤的并行操作使同一時(shí)間內(nèi)磁盤讀寫的速度提升了4倍。四塊硬盤組合在一起形成一個(gè)獨(dú)立的邏輯驅(qū)動(dòng)器,容量相當(dāng)于任何一塊單獨(dú)硬盤的4倍。

  需要注意的是:這種 RAID 級別不具有容錯(cuò)性能,如果陣列中的任何一塊磁盤出現(xiàn)故障,整個(gè)陣列中的數(shù)據(jù)都將會(huì)受到破壞,無法繼續(xù)使用。從上面這個(gè)例子來說,此時(shí)使用RAID 0方式的安全性僅相當(dāng)于單獨(dú)使用一塊硬盤的1/4(因?yàn)楸纠蠷AID 0使用了4塊硬盤)。

02RAID 1

  RAID 1又被稱為磁盤鏡像,由兩個(gè)以上偶數(shù)個(gè)硬盤組成,每一個(gè)磁盤都具有一個(gè)對應(yīng)的鏡像盤,對寫入任何一個(gè)磁盤的數(shù)據(jù)都會(huì)被復(fù)制鏡像盤中,同時(shí)系統(tǒng)可以從這一組鏡像盤中的任何一個(gè)磁盤讀取數(shù)據(jù)。

  優(yōu)勢:數(shù)據(jù)安全性高,弱點(diǎn):磁盤利用率較低。

  RAID 1下,任何一塊硬盤的故障都不會(huì)影響到系統(tǒng)的正常運(yùn)行,而且只要能夠保證任何一對鏡像盤中至少有一塊磁盤可以使用,RAID 1甚至可以在一半數(shù)量的硬盤出現(xiàn)問題時(shí)不間斷的工作。當(dāng)一塊硬盤失效時(shí),系統(tǒng)會(huì)忽略該硬盤,轉(zhuǎn)而使用剩余的鏡像盤讀寫數(shù)據(jù)。

  顯然,磁盤鏡像肯定會(huì)提高系統(tǒng)成本。因?yàn)槲覀兯苁褂玫目臻g只是所有磁盤容量總和的一半。

03RAID 3

  RAID3至少由三塊以上硬盤組成,以其中一塊特定的硬盤來存放數(shù)據(jù)的奇偶校驗(yàn)位(由真實(shí)數(shù)據(jù)通過一定的算法得出),真實(shí)數(shù)據(jù)則分段存儲(chǔ)于其余硬盤中。

  優(yōu)勢:有冗余,硬盤利用率高,弱點(diǎn):讀寫性能差。

  如果數(shù)據(jù)盤(物理)損壞,只要將壞硬盤換掉,RAID控制系統(tǒng)則會(huì)根據(jù)校驗(yàn)盤的數(shù)據(jù)校驗(yàn)位在新盤中重建壞盤上的數(shù)據(jù)。利用單獨(dú)的校驗(yàn)盤來保護(hù)數(shù)據(jù)雖然沒有鏡像的安全性高,但是硬盤利用率得到了很大的提高,為(N-1)/N 其中N為RAID中硬盤的個(gè)數(shù)。

  當(dāng)向RAID 3寫入數(shù)據(jù)時(shí),情況會(huì)變得復(fù)雜一些。即使我們只是向一個(gè)磁盤寫入一個(gè)數(shù)據(jù)塊,也必須計(jì)算與該數(shù)據(jù)塊同處一個(gè)帶區(qū)的所有數(shù)據(jù)塊的校驗(yàn)值,并將新值重新寫入到校驗(yàn)塊中。由此我們可以看出,一個(gè)寫入操作事實(shí)上包含了數(shù)據(jù)讀取(讀取帶區(qū)中的關(guān)聯(lián)數(shù)據(jù)塊),校驗(yàn)值計(jì)算,數(shù)據(jù)塊寫入和校驗(yàn)塊寫入四個(gè)過程。讀寫性能尤其是寫性能大大降低。

  RAID 3所存在的最大一個(gè)不足同時(shí)也是導(dǎo)致RAID 3很少被人們采用的原因就是校驗(yàn)盤很容易成為整個(gè)系統(tǒng)的瓶頸。我們已經(jīng)知道RAID 3會(huì)把數(shù)據(jù)的寫入操作分散到多個(gè)磁盤上進(jìn)行,然而不管是向哪一個(gè)數(shù)據(jù)盤寫入數(shù)據(jù),都需要同時(shí)重寫校驗(yàn)盤中的相關(guān)信息。因此,對于那些經(jīng)常需要執(zhí)行大量寫入操作的應(yīng)用來說,校驗(yàn)盤的負(fù)載將會(huì)很大,無法滿足程序的運(yùn)行速度,從而導(dǎo)致整個(gè)RAID系統(tǒng)性能的下降。鑒于這種原因,RAID 3更加適合應(yīng)用于那些寫入操作較少,讀取操作較多的應(yīng)用環(huán)境,例如數(shù)據(jù)庫和WEB服務(wù)器等。

04RAID 5

  RAID5是在RAID 3的基礎(chǔ)上進(jìn)行了一些改進(jìn),同樣也是由三塊以上的硬盤組成,也是以數(shù)據(jù)的校驗(yàn)位來保證數(shù)據(jù)的安全,但它不是以特定硬盤來存放數(shù)據(jù)的校驗(yàn)位,而是將數(shù)據(jù)段的校驗(yàn)位交互存放于各個(gè)硬盤上。

  優(yōu)勢:克服RAID3校驗(yàn)盤性能問題,有冗余,硬盤利用率高,弱點(diǎn):讀寫性能差。

  如果數(shù)據(jù)盤(物理)損壞,只要將壞硬盤換掉,RAID控制系統(tǒng)則會(huì)根據(jù)校驗(yàn)盤的數(shù)據(jù)校驗(yàn)位在新盤中重建壞盤上的數(shù)據(jù)。利用單獨(dú)的校驗(yàn)盤來保護(hù)數(shù)據(jù),雖然沒有鏡像的安全性高,但是硬盤利用率得到了很大的提高,為(N-1)/N 其中N為RAID中硬盤的個(gè)數(shù)。

  當(dāng)向RAID 5寫入數(shù)據(jù)時(shí),情況會(huì)變得復(fù)雜一些。即使我們只是向一個(gè)磁盤寫入一個(gè)數(shù)據(jù)塊,也必須計(jì)算與該數(shù)據(jù)塊同處一個(gè)帶區(qū)的所有數(shù)據(jù)塊的校驗(yàn)值,并將新值重新寫入到校驗(yàn)塊中。由此我們可以看出,一個(gè)寫入操作事實(shí)上包含了數(shù)據(jù)讀取(讀取帶區(qū)中的關(guān)聯(lián)數(shù)據(jù)塊),校驗(yàn)值計(jì)算,數(shù)據(jù)塊寫入和校驗(yàn)塊寫入四個(gè)過程,讀寫性能尤其是寫性能大大降低。

不常用磁盤陣列模式

01RAID 10

  RAID10也被稱為鏡像陣列條帶,由至少四塊硬盤組成,像RAID0一樣,數(shù)據(jù)被分割成條帶,在同一時(shí)間內(nèi)向多塊磁盤寫入;像RAID1一樣,每個(gè)磁盤都有一個(gè)鏡像磁盤。其目的是在保證數(shù)據(jù)安全的情況下,提高數(shù)據(jù)的讀寫性能。

02RAID 50

  RAID50也被稱為鏡像陣列條帶由至少六塊硬盤組成,像RAID0一樣,數(shù)據(jù)被分割成條帶,在同一時(shí)間內(nèi)向多塊磁盤寫入;像RAID5一樣,也是以數(shù)據(jù)的校驗(yàn)位來保證數(shù)據(jù)的安全。其目的在于提高RAID5的讀寫性能。

03RAID 2

  RAID2又被稱為帶海明碼校驗(yàn)磁盤陣列,是為大型機(jī)和超級計(jì)算機(jī)開發(fā)的。磁盤驅(qū)動(dòng)器組中的第一個(gè)、第二個(gè)、第四個(gè)……第2的n次冪個(gè)磁盤驅(qū)動(dòng)器是專門的校驗(yàn)盤,用于校驗(yàn)和糾錯(cuò),例如七個(gè)磁盤驅(qū)動(dòng)器的RAID2,第一、二、四個(gè)磁盤驅(qū)動(dòng)器是糾錯(cuò)盤,其余的用于存放數(shù)據(jù)。使用的磁盤驅(qū)動(dòng)器越多,校驗(yàn)盤在其中占的百分比越少。RAID2對大數(shù)據(jù)量的輸入輸出有很高的性能,但少量數(shù)據(jù)的輸入輸出時(shí)性能不好。RAID2很少實(shí)際使用。

  由于海明碼的特點(diǎn),它可以在數(shù)據(jù)發(fā)生錯(cuò)誤的情況下將錯(cuò)誤校正,以保證輸出的正確。它的數(shù)據(jù)傳送速率相當(dāng)高,如果希望達(dá)到比較理想的速度,那最好提高保存校驗(yàn)碼ECC碼的硬盤,對于控制器的設(shè)計(jì)來說,它又比RAID3,4或5要簡單。但是利用海明碼校驗(yàn)必須要付出數(shù)據(jù)冗余的代價(jià)。

04RAID 4

  RAID4和RAID3很相似,不同的是RAID4對數(shù)據(jù)的訪問是按數(shù)據(jù)塊進(jìn)行的,也就是按磁盤進(jìn)行的,每次是一個(gè)盤。 RAID3是一次一橫條,而RAID4一次一豎條。所以RAID3常須訪問陣列中所有的硬盤驅(qū)動(dòng)器,而RAID4只須訪問有用的硬盤驅(qū)動(dòng)器。這樣讀數(shù)據(jù)的速度大大提高了,但在寫數(shù)據(jù)方面,需將從數(shù)據(jù)硬盤驅(qū)動(dòng)器和校驗(yàn)硬盤驅(qū)動(dòng)器中恢復(fù)出的舊數(shù)據(jù)與新數(shù)據(jù)通過異或運(yùn)算,然后再將更新后的數(shù)據(jù)和檢驗(yàn)位寫入硬盤驅(qū)動(dòng)器,所以處理時(shí)間較RAID3長。

05RAID 6

  幾乎沒有進(jìn)行商用,它使用一種分配在不同的驅(qū)動(dòng)器上的第二種奇偶方案,擴(kuò)展了RAID 5。它能承受多個(gè)驅(qū)動(dòng)器同時(shí)出現(xiàn)故障,但是,性能尤其是寫操作卻很差,而且,系統(tǒng)需要一個(gè)極為復(fù)雜的控制器。當(dāng)然由于引入了第二種奇偶校驗(yàn)值,所以需要N+2個(gè)磁盤,同時(shí)對控制器的設(shè)計(jì)變得十分復(fù)雜,用于計(jì)算奇偶校驗(yàn)值和驗(yàn)證數(shù)據(jù)正確性所花費(fèi)的時(shí)間比較多,造成了不必要的負(fù)載。

自定義陣列模式

01IBM RAID 5E

  RAID 5E是在 RAID 5級別基礎(chǔ)上的改進(jìn),與RAID 5類似,數(shù)據(jù)的校驗(yàn)信息均勻分布在各硬盤上,但是,在每個(gè)硬盤上都保留了一部分未使用的空間,這部分空間沒有進(jìn)行條帶化,最多允許兩塊物理硬盤出現(xiàn)故障??雌饋恚琑AID 5E和RAID 5加一塊熱備盤好像差不多,其實(shí)由于RAID 5E是把數(shù)據(jù)分布在所有的硬盤上,性能會(huì)比RAID5 加一塊熱備盤要好。當(dāng)一塊硬盤出現(xiàn)故障時(shí),有故障硬盤上的數(shù)據(jù)會(huì)被壓縮到其它硬盤上未使用的空間,邏輯盤保持RAID 5級別。

原文:http://gold-diggers-game.com/NewsDetail-1994.aspx,轉(zhuǎn)載務(wù)必帶鏈接注明出處,未注明必追究責(zé)任!

Copyright 2010-2017 gold-diggers-game.com, All Rights Reserved 湖南銀河電氣有限公司 版權(quán)所有 湘ICP備09002592號-5