目錄
一、什麼是RAID?
RAID是英文Redundant Array of Independent Disks的縮寫,翻譯成中文意思是“獨立磁盤冗餘陣列”,有時也簡稱磁盤陣列(Disk Array)。
簡單的說,RAID是一種把多塊獨立的硬盤(物理硬盤)按不同的方式組合起來形成一個硬盤組(邏輯硬盤),從而提供比單個硬盤更高的存儲性能和提供數據備份技術。組成磁盤陣列的不同方式成爲RAID級別(RAID Levels)。數據備份的功能是在用戶數據一旦發生損壞後,利用備份信息可以使損壞數據得以恢復,從而保障了用戶數據的安全性。在用戶看起來,組成的磁盤組就像是一個硬盤,用戶可以對它進行分區,格式化等等。總之,對磁盤陣列的操作與單個硬盤一模一樣。不同的是,磁盤陣列的存儲速度要比單個硬盤高很多,而且可以提供自動數據備份。
RAID技術經過不斷的發展,現在已擁有了從RAID 0到6 七種基本的RAID 級別。另外,還有一些基本RAID級別的組合形式,如RAID 10(RAID 0與RAID 1的組合),RAID 50(RAID 0與RAID 5的組合)等。不同RAID 級別代表着不同的存儲性能、數據安全性和存儲成本。但我們最爲常用是:raid0、raid1、raid5、raid10 、raid0+1
RAID級別的選擇有三個主要因素:可用性(數據冗餘)、性能和成本。如果不要求可用性,選擇RAID0以獲得最佳性能。如果可用性和性能是重要的而成本不是一個主要因素,則根據硬盤數量選擇RAID 1。如果可用性、成本和性能都同樣重要,則根據一般的數據傳輸和硬盤的數量選擇RAID 5。
二、RAID級別介紹:
1、RAID0,無冗餘無校驗的磁盤陣列。數據同時分佈在各個磁盤驅動器上,沒有容錯能力,讀寫速度在RAID中最快,但因爲任何一個磁盤驅動器損壞都會使整個RAID系統失效,所以安全係數反倒比單個的磁盤驅動器還要低。 RAID 0 是要求最高速度和最大容量的用戶的理想選擇。一般用在對數據安全要求不高,但對速度要求很高的場合。
如何計算RAID 0 的容量?
RAID 0 系統中每個磁盤的容量都應相同。在RAID 級別 0 配置中,存儲容量的計算方式爲驅動器數乘以磁盤容量,即C = n*d,其中:C = 可用容量、n = 磁盤數、d = 磁盤容量
例如,如果一個 RAID 0陣列中包含四個驅
動器,每個驅動器的容量爲 1000GB,則陣
列的總容量爲4000GB:
C = (4*1000)
2、RAID1,鏡像磁盤陣列。是一種安全的RAID 模式,它至少需要兩個驅動器,並且驅動器成對工作。如果其中一個物理磁盤出現故障,可以立即從第二個磁盤上獲取數據。即使一個磁盤出現故障,也不會丟失任何數據。每一個磁盤驅動器都有一個鏡像磁盤驅動器,鏡像磁盤驅動器隨時保持與原磁盤驅動器的內容一致。RAID1具有最高的安全性,但只有一半的磁盤空間被用來存儲數據。在一個磁盤出現故障時,RAID 1 可提供最高的數據安全性,但由於數據需寫入兩次,因此在寫入時性能會略有下降。在更注重安全性而非速度的情況下,RAID 1 是理想選擇,主要用在對數據安全性要求很高,而且要求能夠快速恢復被損壞的數據的場合。
如何計算RAID 1 的容量?
RAID 1 系統中每個磁盤的容量都應相同。在RAID 級別 1 配置中,
存儲容量的計算方式爲驅動器數乘以磁盤容量再除以2,即
C = n*d/2
其中:
C = 可用容量
n = 磁盤數
d = 磁盤容量
例如,如果一個 RAID 1陣列中包含四個驅
動器,每個驅動器的容量爲 1000GB,則陣
列的總容量爲2,000GB:C = (4*1000)/2
3、RAID 5:是一種存儲性能、數據安全和存儲成本兼顧的存儲解決方案。RAID 5具有和RAID 0相近似的數據讀取速度,只是多了一個奇偶校驗信息,寫入數據的速度比對單個磁盤進行寫入操作稍慢。同時由於多個數據對應一個奇偶校驗信息,RAID 5的磁盤空間利用率要比RAID 1高,存儲成本相對較低。如果一個物理磁盤出現故障,該磁盤上的數據可以重建到更換磁盤上。單個磁盤出現故障時,數據不會丟失,但如果數據尚未重建到更換驅動器上,而此時又有一個磁盤出現故障,那麼陣列中的所有數據都將丟失。
如何計算RAID 5 的容量?
RAID 5 系統中每個磁盤的容量都應相同。
在RAID 級別5 配置中,存儲容量的計算方
式爲驅動器數減一再乘以磁盤容量,即
C = (n-1)*d
其中:
C = 可用容量、n = 磁盤數、d = 磁盤容量
例如,如果一個 RAID 5陣列中包含四個驅
動器,每個驅動器的容量爲 1000GB,則陣
列的總容量爲3,000GB:C = (4-1)*1000
4、RAID0+1:RAID 0+1 是一種安全的RAID 模式,由條帶集的鏡像組成。RAID 0+1 陣列包含的磁盤數應爲四的倍數。在RAID 0+1 陣列中,最多允許兩個磁盤出現故障而不會丟失數據,但故障磁盤必須屬於同一RAID 0 隊列。在圖中陣列,陣列B 是陣列A 的鏡像,也就是當磁盤1 和磁盤2 出現故障時,數據會保存到磁盤3和磁盤4。
如何計算RAID 0+1 的容量
RAID 0+1 系統中每個磁盤的容量都應相
同。
RAID 0+1 配置中,存儲容量的計算方式爲驅
動器數乘以磁盤容量再除以2,即C = n*d/2
其中:
C = 可用容量
n = 磁盤數
d = 磁盤容量
例如,如果一個 RAID 0+1 陣列中包含四個
驅動器,每個驅動器的容量爲 1000GB,則
陣列的總容量爲2,000GB:C = (4*1000)/2
5、RAID10:也稱爲RAID 1+0,是合併了其他級別(尤其是RAID1 和RAID 0)特點的另一種RAID 級別。這是一種“鏡像集條帶”,意思是數據在兩個鏡像陣列間分條。“條帶化”在陣列之間發生,而“鏡像”是在相同的陣列中出現,兩種技術的組合加快了重建的速度。RAID 10 陣列包含的磁盤數應爲四的倍數。在RAID 10 陣列中,每個鏡像對中可以有一個磁盤出現故障而不丟失數據。不過,故障磁盤所在陣列的工作磁盤會成爲整個陣列中的弱點。如果鏡像對中的另一個磁盤也發生故障,則會丟失整個陣列。
如何計算RAID 10 的容量?
RAID 10 系統中每個磁盤的容量都應相同。
RAID 10 配置中,存儲容量的計算方式爲驅
動器數乘以磁盤容量再除以2,即C = n*d/2
其中:
C = 可用容量
n = 磁盤數
d = 磁盤容量
例如,如果一個RAID 10 陣列中包含四個驅
動器,每個驅動器的容量爲 1000GB,則陣
列的總容量爲2,000GB:
6、raid0+1和raid 10的區別
基本上兩者的原理很像,都是RAID0和RAID1的結合,不過還是有些區別的。
raid01,先條帶後鏡像
aba'b'
raid10是先做鏡像,再條帶
aa'bb'
Raid10要比raid01可靠性高,因爲raid10中的任何一個盤失效,還有一個鏡像存在。而01中任何一個盤失效則完全降級爲raid1了。
raid 1+0
A1=B1
A2=B2
A=A1+A2
B=B1+B2
當A1壞時,B1再壞整個RAID完蛋,機率爲1/3
raid 0+1
A=A1+A2
B=B1+B2
A=B
當A1壞時,A即壞但是同時B壞任何一塊整個RAID都完蛋,機率爲2/3
所以1+0好於O+1