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

磁盤陣列模式詳解

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

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

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

常用磁盤陣列模式

01RAID 0

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

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

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

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

02RAID 1

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

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

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

  顯然,磁盤鏡像肯定會提高系統(tǒng)成本。因為我們所能使用的空間只是所有磁盤容量總和的一半。

03RAID 3

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

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

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

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

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

04RAID 5

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

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

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

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

不常用磁盤陣列模式

01RAID 10

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

02RAID 50

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

03RAID 2

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

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

04RAID 4

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

05RAID 6

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

自定義陣列模式

01IBM RAID 5E

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

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

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