標籤:並行 tin png 之間 -- net training 缺點 文章
對於RAID,一直都知道個概念,但是對於細節沒有去仔細的研究過。正好昨天Training的時候, 老師講解了RAID的內容,所以順便就整理一下。很多內容都是參考了ISMv2這本書。
RAID中用到的技術主要有
1. Striping
2. Mirroring
3. Parity
Striping(條帶化): 就是將一塊連續的資料分成很多小部分並把他們並行的儲存到不同磁碟上去。其中涉及到幾個術語 Strip,Stripe,Strip size,Stripe size。Strip就是在每個磁碟上預先定義好的一定數量的連續的Block。在RAID中所有磁碟上的Strip一起叫做一個Stripe。Strip size (Stripe depth)指的是一個strip中的最大資料大小即block number* block size。Stripe size指的就是stripe的大小即disk number * strip size。
Mirroring (鏡像):就是將同一資料存放區在兩塊不同的硬碟上,從而產生該資料的兩個copy。當其中一塊faulted,替換了新disk之後,Controller會自動將好的磁碟中的資料copy到新的磁碟中。
Parity(同位):主要是來為Striped RAID提供資料保護功能。利用位異或(XOR)的演算法,將產生的校正值額外進行儲存在磁碟上。可以是額外的一塊磁碟,也可以分布在所有磁碟上。注意在ISM書中P56的例子是錯誤的。異或並非例子中的加減操作。關於Parity的計算可以參考:RAID 5 Parity. What is it, and how does it work? 。 寫的很好理解。
對於這Striping,Mirroring,Parity有了基本的理解之後。下面就是RAID類型的介紹。RAID主要有這幾種類型RAID 0, 1, 3, 5, 6, 10, 01。
RAID 0
直接採用Striping的技術,過程如所示。
讀:對於每一個檔案的讀操作,RAID controller會去讀取這個檔案所有的strip,是一個並發的I/O,所以讀效能比較好的。Disk數量越多,讀效能越好。
寫:和讀操作類似,RAID Controller會分成多個strip寫到各個disk中,所以寫的效能比較好。
效能:讀寫效能比較好。適合高I/O的情景。
優點:I/O效能好。
缺點:沒有資料保護。
RAID 1
採用mirroring技術,能夠提夠資料容錯能力(fault tolerance)。這個也很好理解。過程如所示。
RAID 10
也叫做striped mirror。Disk 先做mirror,然後對這三個RAID1做striping。
RAID 01
是先將其中一半disk做RAID 0, 然後再做mirroring。
兩者之間的效能和可用空間是一樣的,在容錯方面RAID 10 要優於RAID 01,在資料rebuild時候RAID 10 也是有優勢的,所以RAID 01 很少見到。
1. 容錯方面:由於RAID 10 是先做mirror.是多組RAID,可以允許最多一半的disk損害,前提是不在一個RAID1中。而RAID 01中,如果一塊disk fault,那麼這個RAID 0就fault。另外的一個RAID 0 無法容忍disk fault的情況,否則就是DL。
2. Rebuild過程: RAID 01 中,假設其中一塊disk fault,如果要recovery。那麼需要另外一個RAID 0 來做Mirror,將整個stripe的資料copy到對應的disk中,而對於RAID 10 來說,只需要去copy一個disk就可以了。
RAID 3
RAID 3 和RAID 5 類似,只是Parity 資訊都寫到一個disk中,由於每個寫操作,會產生2 Reading+ 2 Writing的操作。並且其中的一個R ,W都是在這個Parity 的disk上,所以很容易造成這個disk的fault。實際中用的也不多。
RAID 5
RAID 5的Parity資訊是寫在各個disk中的,所以沒有RAID 3 的單個disk瓶頸。
RAID 6
RAID 6中有兩個Parity的資訊,是寫在各個disk中的,可以容忍兩塊disk的fault。具體演算法牽扯到線性代數中的矩陣,大學的學的基本忘乾淨了。可以參考 這篇文章:RAID6演算法解析。
關於不同RAID Level的比較可以參考:
References:
1. RAID 5 Parity. What is it, and how does it work?
2. Data_striping
3. RAID-5 Volumes
4. 儲存入門必讀-儲存基礎知識
https://tonglol.wordpress.com/2014/01/16/%E5%AD%98%E5%82%A8%E5%85%A5%E9%97%A8-raid%E6%8A%80%E6%9C%AF/
儲存入門 – RAID技術(大圖解釋)