運維技能樹-常用RAID介紹

實際生產中,對於數據讀寫的性能以及數據的可用性要求都比較高。當服務器數量到達一定數量時,磁盤故障基本上是每天都會發生的事情,爲了在磁盤故障的情況下仍然不丟失數據,通常會對磁盤對做陣列劃分,常用的磁盤陣列是RAID(Redundant Arrays of Independent Disks)。

RAID提高數據讀寫性能的主要原理是通過將數據分塊存儲,將數據的讀寫壓力分攤到各個磁盤上來提高性能,多個廉價的普通磁盤可以組成一個大的高性能磁盤。提高數據可用性的原理則是通過數據冗餘來提高數據可用性,當磁盤故障時,由於數據有副本或者校驗位,所以可以將數據重建回來。

常用RAID的優缺點:

1.RAID0

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

用途:用在swap的場景較多

優點:性能高

缺點:任何一塊盤發生故障,則所有數據損壞

2.RAID1

RAID 1通過磁盤數據鏡像實現數據冗餘,在成對的獨立磁盤上產生互 爲備份的數據。當原始數據繁忙時,可直接從鏡像拷貝中讀取數據,因此RAID 1可以提高讀取性能。RAID 1是磁盤陣列中單位成本最高的,但提供了很高的數據安全性和可用性。當一個磁盤失效時,系統可以自動切換到鏡像磁盤上讀寫,而不需要重組失效的數據。

用途:用於數據備份的較多

優點:數據有冗餘,數據可用性高

缺點:只能使用容量的1/2,成本偏高

3.RAID5

RAID5是RAID0和RAID1的折中,RAID5最少需要3塊磁盤,將數據分散存儲在各個磁盤上,同時添加一個校驗位,如果某一塊磁盤出現故障,可以通過校驗位和現存數據計算出丟失的數據位,從而達到重建的目的。校驗位的計算方式:

P=D1 xor D2 xor D3 … xor Dn (D1,D2,D3 … Dn爲數據塊,P爲校驗,xor爲異或運算)

假如數據D1丟失,則用P代替D1,進行計算:

D1=Pxor D2 xor D3 … xor Dn (D1,D2,D3 … Dn爲數據塊,P爲校驗,xor爲異或運算)

從而恢復出D1的數據

用途:一般作爲RAID10的備選方案,如沒有足夠機器做RAID10情況下又要兼顧性能和可用性時,可以考慮RAID5,業務類型爲順序寫時比較友好

優點:性能和安全性兼顧

缺點:校驗位會浪費一部分空間;另外會有寫懲罰問題,當隨機寫,壞磁盤的時候尤爲嚴重,性能下降比較明顯,因此也限制了RAID5的使用範圍。

4.RAID01

RAID01是先將磁盤分成2組,先分別做RAID0,再將2個RAID0組做RAID1

用途:用的很少,被RAID10替代。當存在一塊壞盤的情況下,RAID10整個陣列不可用的概率低於RAID01。若4塊磁盤分別爲(D1,D2)(D3,D4),12一組,34一組。當做RAID01時,在D1已壞的情況下,整個陣列不可用的概率是2/3,而RAID10的概率爲1/3

優點:性能高,數據可用性高

缺點:只能使用容量的1/2,成本偏高

5.RAID10

RAID10是對2組RAID1再做RAID0,即將2組RAID1看做2塊獨立的磁盤,然後再RAID0。

用途:用途最廣,主流的RAID方案

優點:性能高,數據可用性高

缺點:只能使用容量的1/2,成本偏高

 

 

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