RAID是英文Redundant Array of Inexpensive Disks的縮寫,中文譯作廉價冗余磁盤陣列,簡稱磁盤陣列。簡單的說,RAID是一種把多塊獨立的硬盤(物理硬盤)按不同方式組合起來形成一個硬盤組(邏輯硬盤),從而提供比單個硬盤更高 的存儲性能和提供數據冗余的技術。在這一組硬盤中,數據按照不同的算法分別存儲于每塊硬盤上從而達到不同的效果這樣就形成了不同的RAID級別(RAID LEVEL)。
按照RAID級別劃分,常見的有RAID0,RAID1,RAID3,RAID5, RAID10,RAID50還有不常用的RAID2, RAID4,RAID6,RAID7以及硬件廠商自己定義的RAID如惠普Smart Array陣列卡實現的RAID ADG和IBM的RAID 5E。
RAID 0是由一塊以上的硬盤組成,每塊硬盤被等分成容量相同的條帶集,數據也被分割成條帶,在同一時間內向多塊磁盤寫入。
優勢:讀寫性能快,弱點:數據安全性差。
如果是四塊硬盤做RAID0,系統向邏輯設備發出的I/O指令會被轉化為4項操作,其中的每一項操作都對應于一塊硬盤,通過建立帶區集,原先順序寫入的數據被分散到所有的四塊硬盤中同時進行讀寫。四塊硬盤的并行操作使同一時間內磁盤讀寫的速度提升了4倍。四塊硬盤組合在一起形成一個獨立的邏輯驅動器,容量相當于任何一塊單獨硬盤的4倍。
需要注意的是:這種 RAID 級別不具有容錯性能,如果陣列中的任何一塊磁盤出現故障,整個陣列中的數據都將會受到破壞,無法繼續使用。從上面這個例子來說,此時使用RAID 0方式的安全性僅相當于單獨使用一塊硬盤的1/4(因為本例中RAID 0使用了4塊硬盤)。
RAID 1又被稱為磁盤鏡像,由兩個以上偶數個硬盤組成,每一個磁盤都具有一個對應的鏡像盤,對寫入任何一個磁盤的數據都會被復制鏡像盤中,同時系統可以從這一組鏡像盤中的任何一個磁盤讀取數據。
優勢:數據安全性高,弱點:磁盤利用率較低。
RAID 1下,任何一塊硬盤的故障都不會影響到系統的正常運行,而且只要能夠保證任何一對鏡像盤中至少有一塊磁盤可以使用,RAID 1甚至可以在一半數量的硬盤出現問題時不間斷的工作。當一塊硬盤失效時,系統會忽略該硬盤,轉而使用剩余的鏡像盤讀寫數據。
顯然,磁盤鏡像肯定會提高系統成本。因為我們所能使用的空間只是所有磁盤容量總和的一半。
RAID3至少由三塊以上硬盤組成,以其中一塊特定的硬盤來存放數據的奇偶校驗位(由真實數據通過一定的算法得出),真實數據則分段存儲于其余硬盤中。
優勢:有冗余,硬盤利用率高,弱點:讀寫性能差。
如果數據盤(物理)損壞,只要將壞硬盤換掉,RAID控制系統則會根據校驗盤的數據校驗位在新盤中重建壞盤上的數據。利用單獨的校驗盤來保護數據雖然沒有鏡像的安全性高,但是硬盤利用率得到了很大的提高,為(N-1)/N 其中N為RAID中硬盤的個數。
當向RAID 3寫入數據時,情況會變得復雜一些。即使我們只是向一個磁盤寫入一個數據塊,也必須計算與該數據塊同處一個帶區的所有數據塊的校驗值,并將新值重新寫入到校驗塊中。由此我們可以看出,一個寫入操作事實上包含了數據讀取(讀取帶區中的關聯數據塊),校驗值計算,數據塊寫入和校驗塊寫入四個過程。讀寫性能尤其是寫性能大大降低。
RAID 3所存在的最大一個不足同時也是導致RAID 3很少被人們采用的原因就是校驗盤很容易成為整個系統的瓶頸。我們已經知道RAID 3會把數據的寫入操作分散到多個磁盤上進行,然而不管是向哪一個數據盤寫入數據,都需要同時重寫校驗盤中的相關信息。因此,對于那些經常需要執行大量寫入操作的應用來說,校驗盤的負載將會很大,無法滿足程序的運行速度,從而導致整個RAID系統性能的下降。鑒于這種原因,RAID 3更加適合應用于那些寫入操作較少,讀取操作較多的應用環境,例如數據庫和WEB服務器等。
RAID5是在RAID 3的基礎上進行了一些改進,同樣也是由三塊以上的硬盤組成,也是以數據的校驗位來保證數據的安全,但它不是以特定硬盤來存放數據的校驗位,而是將數據段的校驗位交互存放于各個硬盤上。
優勢:克服RAID3校驗盤性能問題,有冗余,硬盤利用率高,弱點:讀寫性能差。
如果數據盤(物理)損壞,只要將壞硬盤換掉,RAID控制系統則會根據校驗盤的數據校驗位在新盤中重建壞盤上的數據。利用單獨的校驗盤來保護數據,雖然沒有鏡像的安全性高,但是硬盤利用率得到了很大的提高,為(N-1)/N 其中N為RAID中硬盤的個數。
當向RAID 5寫入數據時,情況會變得復雜一些。即使我們只是向一個磁盤寫入一個數據塊,也必須計算與該數據塊同處一個帶區的所有數據塊的校驗值,并將新值重新寫入到校驗塊中。由此我們可以看出,一個寫入操作事實上包含了數據讀取(讀取帶區中的關聯數據塊),校驗值計算,數據塊寫入和校驗塊寫入四個過程,讀寫性能尤其是寫性能大大降低。
RAID10也被稱為鏡像陣列條帶,由至少四塊硬盤組成,像RAID0一樣,數據被分割成條帶,在同一時間內向多塊磁盤寫入;像RAID1一樣,每個磁盤都有一個鏡像磁盤。其目的是在保證數據安全的情況下,提高數據的讀寫性能。
RAID50也被稱為鏡像陣列條帶由至少六塊硬盤組成,像RAID0一樣,數據被分割成條帶,在同一時間內向多塊磁盤寫入;像RAID5一樣,也是以數據的校驗位來保證數據的安全。其目的在于提高RAID5的讀寫性能。
RAID2又被稱為帶海明碼校驗磁盤陣列,是為大型機和超級計算機開發的。磁盤驅動器組中的第一個、第二個、第四個……第2的n次冪個磁盤驅動器是專門的校驗盤,用于校驗和糾錯,例如七個磁盤驅動器的RAID2,第一、二、四個磁盤驅動器是糾錯盤,其余的用于存放數據。使用的磁盤驅動器越多,校驗盤在其中占的百分比越少。RAID2對大數據量的輸入輸出有很高的性能,但少量數據的輸入輸出時性能不好。RAID2很少實際使用。
由于海明碼的特點,它可以在數據發生錯誤的情況下將錯誤校正,以保證輸出的正確。它的數據傳送速率相當高,如果希望達到比較理想的速度,那最好提高保存校驗碼ECC碼的硬盤,對于控制器的設計來說,它又比RAID3,4或5要簡單。但是利用海明碼校驗必須要付出數據冗余的代價。
RAID4和RAID3很相似,不同的是RAID4對數據的訪問是按數據塊進行的,也就是按磁盤進行的,每次是一個盤。 RAID3是一次一橫條,而RAID4一次一豎條。所以RAID3常須訪問陣列中所有的硬盤驅動器,而RAID4只須訪問有用的硬盤驅動器。這樣讀數據的速度大大提高了,但在寫數據方面,需將從數據硬盤驅動器和校驗硬盤驅動器中恢復出的舊數據與新數據通過異或運算,然后再將更新后的數據和檢驗位寫入硬盤驅動器,所以處理時間較RAID3長。
幾乎沒有進行商用,它使用一種分配在不同的驅動器上的第二種奇偶方案,擴展了RAID 5。它能承受多個驅動器同時出現故障,但是,性能尤其是寫操作卻很差,而且,系統需要一個極為復雜的控制器。當然由于引入了第二種奇偶校驗值,所以需要N+2個磁盤,同時對控制器的設計變得十分復雜,用于計算奇偶校驗值和驗證數據正確性所花費的時間比較多,造成了不必要的負載。
RAID 5E是在 RAID 5級別基礎上的改進,與RAID 5類似,數據的校驗信息均勻分布在各硬盤上,但是,在每個硬盤上都保留了一部分未使用的空間,這部分空間沒有進行條帶化,最多允許兩塊物理硬盤出現故障??雌饋恚琑AID 5E和RAID 5加一塊熱備盤好像差不多,其實由于RAID 5E是把數據分布在所有的硬盤上,性能會比RAID5 加一塊熱備盤要好。當一塊硬盤出現故障時,有故障硬盤上的數據會被壓縮到其它硬盤上未使用的空間,邏輯盤保持RAID 5級別。
下一篇:光伏用太陽能電池的種類及其特點