RAID介紹


第1章 什麼是Raid?

Raid是廉價冗餘磁盤陣列(Redundant Array of Inexpensive Disk)的簡稱,有時也簡稱磁盤陣列(Disk Array)

Raid是一種把多塊獨立的物理磁盤按不同的技術方式組合起來形成一個磁盤組,在邏輯上(做完RAID,裝系統後)看起來就是一塊大的磁盤,可以提供比單個物理磁盤更大的存儲容量或更高的存儲性能,同時又能提供不同級別數據冗餘備份的一種技術。

1.1 Raid級別介紹

把多個物理磁盤通過不同的技術方式組成磁盤陣列,這個不同的技術方式就被稱爲RAID級別。

raid級別一般有:Raid0、Raid1、Raid2、Raid3、Raid4、Raid5、Raid6、Raid7、Raid 0+1(也稱Raid10)、Raid53等。推薦書籍(大話存儲II)

生產環境常用的Raid級別: Raid0,Raid1. Raid5,Raid10

1.2 RAID級別的優缺點

我們先把這些RAID級別的優缺點做個比較:

RAID級別
關鍵優點
關鍵缺點
實際應用場景
Raid0
讀寫速度最快
沒有任何冗餘
MySQL 從庫slave集羣的節點RS
Raid1
100%冗餘讀寫性能一般
成本高 
單獨的數據重要且不宕機的業務。監控,系統盤
Raid5
具備一定性能和冗餘,可壞一塊盤讀性能不錯
 寫入性能不高
一般的業務都可以用
Raid10
讀寫速度很快,100%冗餘
成本高
性能和冗餘要求都很好的業務,數據庫主庫和存儲的主節點


下表提供了4級RAID的簡單定義

Raid級別
描述 
速度 
容錯能力
Raid0
磁盤分段 
磁盤並行輸入/出 

Raid1
磁盤鏡像
沒有提高
壞單盤
Raid5
磁盤分段加奇偶校驗分佈在個磁盤
磁盤並行輸入/出比
單個壞
Raid10
速度快、完全容錯、成本高
速度快
50%容錯


1.3 什麼是冗餘:

冗餘,指重複配置系統的一些部件,當系統發生故障時,冗餘配置的部件介入並承擔故障部件的工作,由此減少系統的故障時間 Redundant,自動救援,即當某一設備發生損壞時,它可以自動作爲後備式設備替代該設備。


第2章 Raid技術分類

常見RAID技術分爲兩種:

基於硬件的RAID技術和基於軟件的RAID技術

2.1 軟RAID技術:

在linux下在安裝系統過程中或者安裝系統後通過自帶的軟件就能實現軟RAID功能,使用軟RAID可省去購買昂貴的硬件RAID控制器和附件就能極大地增強磁盤的IO性能和可靠性。由於是用軟件去實現的RAID功能,所以它配置靈活、管理方便。同時使用軟件RAID,還可以實現將幾個物理磁盤合併成一個更大的虛擬設備,從而達到性能改進和數據冗餘的目的。

一般不用軟Raid:(1)性能不好(2)操作系統壞了,軟Raid用不了

2.2 硬RAID技術:

基於硬件的RAID解決方案比基於軟件RAID技術在使用性能和服務性能上會更勝一籌,具體表現在檢測和修復多位錯誤的能力、錯誤磁盤自動檢測和陣列重建等方面。從安全性上考慮,基於硬件的RAID解決方案應該是我們公司的首選。互聯網公司常用的生產DELL服務器,默認的就會支持RAID0,RAID1.如果RAID5,RAID10就需要買RAID卡。


第3章 什麼是LVM?

LVM邏輯卷管理,如果過於強調性能與備份,那麼還是應該使用RAID功能,而不是LVM。

LVM是在硬盤的分區智商,創建一個邏輯層,以方便系統管理整個硬盤分區系統。LVM最先由IBM開發,在AIX系統上實現,OS/2操作系統與HP-UX也支持這個功能。在1998年,Heize Mauelshagen分局在HP-UX上的LVM管理器,寫作出第一個Linux版本。


3.1 RAID和LVM的區別

LVM:靈活的調整分區的容量,有一定的冗餘和性能功能,但很弱。

RAID:更側重性能和數據安全。

我們爲什麼需要RAID?

磁盤陣列可以把多個磁盤驅動器通過不同的連接方式連接在一起協同工作,大大提高了讀取速度,同時把磁盤系統的可靠性提高到接近無錯的境界,使其可靠性極高。

用RAID最直接的好處是:

1)提升數據安全性。

2)提升數據讀寫性能

3)提供更大的單一邏輯磁盤數據容量存儲。


第4章 常用RAID級別細節說明

4.1 RAID0級別詳解

4.1.1 RAID0描述

RAID0又稱爲Stripe(條帶化)或Striping(條帶模式),它在所有RAID級別中具有最高存儲性能。

RAID0提高存儲性能的原理是把連續的數據分散到多個磁盤上存取。這樣,系統有數據讀寫請求就可以在多個磁盤並行的執行,每個磁盤讀寫屬於它自己的那部分數據請求。這種數據上的並行操作可以充分利用總線的帶寬,顯著提高磁盤整體存取性能。

要製作RAID0要求至少是1塊物理磁盤,一般用來做RAID的不同磁盤大小最好一樣(可以充分發揮並行優勢);而數據分散存儲於不同的磁盤上,在讀寫的時候可以實現併發,所以RAID0讀寫性能最好;但是沒有容錯功能,即任何一個磁盤的損壞會導致整個RAID的全部數據丟失;生產中使用單盤,要做成RAID0,否則可能無法使用。

以四塊磁盤做成一個RAID0爲例

從理論上講,四塊磁盤的並行操作使同一時間內磁盤讀寫速度提升了4倍。但由於總線帶寬等多種因素的影響,實際的提升速率肯定會低於理論值,但是,大量數據並行傳輸與串行傳輸比較,提升效果顯著顯然毋庸置疑。

RAID0的缺點是不具備數據冗餘,因此一旦用戶數據損害,損害的數據將無法得到恢復。RAID0具有的特點,使其特別適用於對性能要求較高,而對數據安全不太在乎的領域。

4.1.2 生產應用場景:

1)負載均衡集羣下面的多個相同RS節點服務器。

2)分佈式文件存儲下面的主節點或CHUNK SERVER.

3) MySQL主從複製的多個Slave服務器。

4)對性能要求很高,對冗餘要求很低的相關業務。


RAID0綜合情況圖標說明

4.1.3 以四塊盤做成RAID0爲例說明

關注點描述容量是四快盤加載一起的容量,在RAID級別種具備最高的存儲性能,原理是把連續數據分散到多個磁盤上存取。性能理論上磁盤讀寫速度比單盤提升4倍,磁盤越多倍數會越小。冗餘無任何冗餘,壞1快盤,整個RAID就不能用了。場合適合於大規模併發讀寫,但對數據安全性要求不高的情況。特點:速度快,無冗餘,容量無損失

4.2 RAID1級別詳解

4.2.1 RAID1描述

RAID1又稱爲Mirror或Mirroring(鏡像),它的宗旨是最大限度的保證用戶數據的可用性和修復性。RAID1的操作方式是把用戶寫入一個磁盤的數據百分之百地自動複製到另一個磁盤上,從而實現存儲雙份的數據。

要製作RAID1要求至少是兩塊磁盤,整個RAID大小等於磁盤中最小的那塊磁盤的容量(當然,最好使用同樣大小的磁盤),數據有100%的冗餘,在存儲時同時寫入兩塊磁盤,實現了數據完整備份;但相對降低了寫入性能,但是讀取數據時可以併發,相當於兩塊RAID0的讀取效率(有待實踐驗證)。

RAID1在讀取數據時,系統先從RAID1的源盤讀取數據,如果讀取數據成功,則系統不去管備份盤上的數據;如果讀取源盤數據失敗,則系統自動轉而讀取備份盤上的數據,不會造成用戶工作任務的終端(有待驗證)。當然,我們應當及時地更換損害的磁盤並利用備份數據重新建立Mirror,避免備份盤在發生損壞時,造成不可挽回的數據損失。

由於對存儲的數據進行百分之分的備份,在所有RAID級別種,RAID1提供最高的數據安全保障。同樣,由於數據的百分之百備份,備份數據佔了總存儲空間的一般,因而Mirror(鏡像)的磁盤空間利用率低,存儲成本高。Mirror雖不能調高存儲性能,但由於有其具備極高的數據安全性,使其適用於存放重要數據。如傳統企業對性能要求不高,對數據要求高的服務器和數據庫存儲等領域。


4.2.2 RAID1綜合情況圖表說明

以兩塊盤爲例說明

關注點
描述
容量 
損失50%的數據容量。例如:2塊1T的盤,做RAID1後,容量爲1T
性能 
Mirror不能提高存儲性能。理論上寫性能和單盤相差不大
冗餘
在所有RAID級別種,RAID1提供最高的數據安全保障。冗餘度100%
場合
適用於存放重要數據,如服務器系統分區和對性能要求不高的數據塊存儲等領域
特點
100%冗餘,容量損失一半

 

4.3 RAID5級別詳解

4.3.1 RAID5描述

RAID5是一種存儲性能、數據安全和存儲成本兼顧的存儲解決方案

RAID5需要三塊或以上的物理磁盤,可以提供熱備盤實現故障的恢復;採用奇偶校驗,可靠性強,且只有同時損壞兩塊磁盤時數據纔會完全損壞,只損壞一塊盤時,系統會根據存儲的奇偶校驗位重建數據,臨時提供服務;此時如果有熱備盤,系統還會自動在熱備盤上重建故障磁盤上的數據。

以四個硬盤爲例,RAID5不對存儲的數據進行備份,而是把數據和相對應的奇偶校驗信息存儲到組成RAID5的各個磁盤上,並且奇偶校驗信息和相對應的數據分別存儲於不同的磁盤上。當RAID5的一個磁盤數據發生損壞後,利用剩下的數據和相應的奇偶校驗信息去恢復被損壞的數據。

RAID5可以理解爲是RAID0和RAID1的折中方案。RAID5可以爲系統提供數據安全保障,但保障程度要比Mirror低而磁盤空間利用率要比Mirror高。RAID5具有和RAID0相近似的數據讀取速度,只是多了一個奇偶校驗信息,RAID5的磁盤空間利用率要比RAID1高,存儲成本相對較低。

RAID5是一種存儲性能、數據安全和存儲成本兼顧的存儲解決方案。

RAID5是把數據和相對應的奇偶校驗信息存儲到組成RAID5的各個磁盤上,並且奇偶校驗信息和相對應的數據分別存儲於不同的磁盤上。當RAID5的一個磁盤數據發生損壞後,利用剩下的數據和相應的奇偶校驗信息去恢復被損壞的數據。

4.3.2 RAID5綜合情況圖表說明

關注點
描述
容量
損失一塊盤的數據容量
性能
RAID5具有和RAID0相近似的數據讀取速度,只是多了一個奇偶校驗信息,寫入數據的速度比對單個磁盤進行寫入操作稍慢
冗餘
可損失一塊盤。RAID5數據安全保障程度比RAID1低而磁盤空間利用率要比RAID1高。損失n-1塊盤
場合
RAID可以理解爲RAID0和RAID1的折 中方案。適合對性能和冗餘都有一定要求,又都不是十分高的情況。MySQL的主從庫都可以,存儲也可以。普通的服務器爲了減少維護成本,又保持一定冗餘和讀性能都可以做RAID5
特點
 容量損失一塊盤,寫數據通過奇偶校驗,RAID0和RAID1的折中方案。


4.4 RAID10 級別詳解

4.4.1 Raid10描述

RAID10是存儲性能和數據安全兼顧的方案。它在提供與RAID1一樣的數據安全保障的同時,也提供了與RAID0近似的存儲性能。RAID10和RAID01在讀和寫的性能上沒有太大的差別,從發生故障的概率上看,RAID01遠大於RAID10的。一般情況下選擇RAID10的情況會多些。

RAID01的特點使其特別適用於既有大量數據需要存儲,同時又對數據安全性要求嚴格的領域,如銀行、金融、商業超時、倉儲庫房、各種檔案管理等。

4.4.2 RAID10綜合情況圖表說明

優點/特點
 缺點
RAID10以RAID0爲執行陣列,以RAID1爲數據保護陣列 
存儲容量利用率較低,單位成本昂貴
像操作基本一樣有與RAID1一樣的容錯能力
磁盤並行工作使相應磁軌持續性能被減弱
RAID10擁RAID10用於容錯處理的系統開銷與單獨鏡
由於成本的原因造成非常有限的可擴展性


由於使用RAID0作爲執行登記,因此具有較高I/O帶寬

對於那些想在RAID1基礎上大幅提高性能的用戶,它是一個完美的解決方案

使用領域 數據庫存儲服務器等需要高性能、高容錯但對容量要求不大的場合


第5章 DELL R710使用6塊盤實測RAID製作

RAID0:支持1塊盤到多塊盤,容量是所有盤之和

RAID1:只支持2快盤,容量損失一塊盤

RAID5:最少3塊盤,不管硬盤數量多少,只損失一塊盤容量

RAID6:最少4塊盤,5塊也可以,損失2快盤,不管硬盤多少 ,只損失兩塊盤的容量

RAID10:最少4塊盤,必須偶數硬盤,不管硬盤多少,都損失一半的容量,不支持虛擬磁盤。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章