磁盤陣列2

RAID 3

RAID 3的數據儲存及存取方式都和RAID 2一樣,但在安全方面以奇偶校驗(parity check)取代海明碼做錯誤校正及檢測,所以只需要一個額外的校檢磁盤(parity disk)。奇偶校驗值的計算是以各個磁盤的相對應位作XOR的邏輯運算,然後將結果寫入奇偶校驗磁盤,任何數據的修改都要做奇偶校驗計算,如下圖:

磁盤0

 

磁盤1

 

磁盤2

 

磁盤3

 

磁盤4

A0

A4

B3

C2

 

A1

B0

B4

C3

 

A2

A1

C0

C4

 

A3

A2

C1

D0

 

P

P

P

P

如某一磁盤故障,換上新的磁盤後,整個磁盤陣列(包括奇偶校驗磁盤)需重新計算一次,將故障磁盤的數據恢復並寫入新磁盤中;如奇偶校驗磁盤故障,則重新計算奇偶校驗值,以達容錯的要求.

較之RAID 1RAID 2,RAID 385%的磁盤空間利用率,其性能比RAID 2稍差,因爲要做奇偶校驗計算;共軸同步的平行存取在讀檔案時有很好的性能,但在寫入時較慢,需要重新計算及修改奇偶校驗磁盤的內容。RAID 3RAID 2有同樣的應用方式,適用大檔案及大量數據輸出入的應用,並不適用於PC及網絡服務器。

RAID 4

RAID 4也使用一個校驗磁盤,但和RAID 3不一樣,如下圖:

磁盤0

 

磁盤1

 

磁盤2

 

磁盤3

 

磁盤4

A0-A1

B3-B4

D1-D2

E4-F0

 

A2-A3

C0-C1

D3-D4

F1-F2

 

A4-B0

C2-C3

B0-B1

F3-F4

 

B1-B2

C4-D0

B2-B3

G0-G1

 

P

P

P

P

RAID 4是以扇區作數據分段,各磁盤相同位置的分段形成一個校驗磁盤分段(parity block),放在校驗磁盤。這種方式可在不同的磁盤平行執行不同的讀取命今,大幅提高磁盤陣列的讀取性能;但寫入數據時,因受限於校驗磁盤,同一時間只能作一次,啓動所有磁盤讀取數據形成同一校驗分段的所有數據分段,與要寫入的數據做好校驗計算再寫入。即使如此,小型檔案的寫入仍然比RAID 3要快,因其校驗計算較簡單而非作位(bit level)的計算;但校驗磁盤形成RAID 4的瓶頸,降低了性能,因有RAID 5而使得RAID 4較少使用。
RAID 5

RAID5避免了RAID 4的瓶頸,方法是不用校驗磁盤而將校驗數據以循環的方式放在每一個磁盤中,如下圖:

磁盤0

 

磁盤1

 

磁盤2

 

磁盤3

 

磁盤4

P

B3-B4

D1-D2

E4-F0

 

A0-A1

P

D3-D4

F1-F2

 

A2-B3

C0-C1

P

F3-F4

 

A4-B0

C2-C3

B0-B1

P

 

B2-B2

C4-D0

B2-B3

G0-G1

磁盤陣列的第一個磁盤分段是校驗值,第二個磁盤至後一個磁盤再折回第一個磁盤的分段是數據,然後第二個磁盤的分段是校驗值,從第三個磁盤再折回第二個磁盤的分段是數據,以此類推,直到放完爲止。圖中的第一個parity block是由A0,A1...,B1,B2計算出來,第二個parity block是由B3,B4,...,C4,D0計算出來,也就是校驗值是由各磁盤同一位置的分段的數據所計算出來。這種方式能大幅增加小檔案的存取性能,不但可同時讀取,甚至有可能同時執行多個寫入的動作,如可寫入數據到磁盤1而其parity block在磁盤2,同時寫入數據到磁盤4而其parity block在磁盤1,這對聯機交易處理(OLTP, on-line Transaction Processing)如銀行系統、金融、股市等或大型數據庫的處理提供了最佳的解決方案(solution),因爲這些應用的每一筆數據量小,磁盤輸出入頻繁而且必須容錯。

事實上RAID 5的性能並無如此理想,因爲任何數據的修改,都要把同一parity block的所有數據讀出來修改後,做完校驗計算再寫回去,也就是RMW cycle(Read-Modify-Write cycle,這個cycle沒有包括校驗計算);正因爲牽一而動全身,所以:
R:N(
可同時讀取所有磁盤)
W:1(
可同時寫入磁盤數)
S:N-1(
利用率)

RAID 5的控制比較複雜,尤其是利用硬件對磁盤陣列的控制,因爲這種方式的應用比其他的RAID level要掌握更多的事情,有更多的輸出入需求,既要速度快,又要處理數據,計算校驗值,做錯誤校正等,所以價格較高;其應用最好是OLTP,至於用於PC,不見得有最佳的性能。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章