對RAID的簡單介紹

RAIDRedundant Arrary of Independent Disks,獨立冗餘磁盤陣列)是一個能實現將多塊硬盤組合成一個陣列,當做一個邏輯設備來使用的機制。同時RAID還可以重複存儲數據。這樣我們的數據就更具安全性了。其實RAID還可以讓我們的數據更具安全性的同時提高性能,讓機器因爲硬件故障造成的停機時間減少到最小。在實際的工作中我們都是在硬件上實現的叫硬件RAID,但是我們沒有條件的時候在linux上同樣可以實現RAID,叫軟件RAID

我們都知道任何的單個硬件的性能都是不可能突破它的理論上限的,那麼當我們的I/O設備達不到我們的要求時,我們就迫切希望能夠提高I/O設備的速度,但是不管怎麼提高,它都不可能超過它的理論最大值,那麼我們就來需要尋求另一種方法提高速度。我們可以給主板加一個控制器,但是這個控制器不連接任何一塊硬盤,而是連接到另外一個控制器上,這個控制器上有多個接口可以連接多塊硬盤,我們通過這一個控制器來同時控制多塊硬盤的工作,並將信息輸送給主板上的控制器,但是在主機看來這就是一塊硬盤。而這個連接外部控制器的控制器就叫做RAID控制器。

我們連接了多塊硬盤,但是我們該怎樣來使用這些硬盤呢?怎樣讓它實現數據同時分散存儲在這些硬盤上呢?這就是我們要說的RAID0(條帶技術):

當我們需要存儲數據時,將數據以數據流的形式寫入硬盤,並且在不同硬盤的相應位置存儲相同大小的數據,這樣看起來就如同將數據分成一個一個的條帶來存儲,所以叫條帶技術。如圖1

 

1

當然,RAID也有級別之分(RAID level),但是級別僅代表磁盤的組織方式不同,沒有上下之分,下面我們來看一下RAID1,我們又稱之爲鏡像技術:

所謂的鏡像技術就像我們照鏡子一樣,鏡子裏外都有一個自己,而且是一模一樣的。這裏的鏡像技術就是將同一份數據保存兩份,而且分別放在兩塊硬盤上(如圖2),那麼就算其中的一塊硬盤損壞那麼數據依然還能恢復,這就給我們的數據提高了安全性,但是這樣的話就加重了系統的寫入工作,而且我們的硬盤也要雙份的,這樣的代價是不是有些大了呢?

 

2

那麼我們再來看一種方式,使用校驗碼方式(RAID4)來保證數據的完整性。這種方式最少要使用3塊硬盤來實現,我們首先使用條帶技術將數據寫入磁盤,但是要留出一塊磁盤來,這塊盤是用來寫入前面幾塊磁盤的循環冗餘校驗碼的。

假如我們有四塊盤,那麼前面三塊是用來寫入要保存的數據的,而最後的那一塊是用來保存前面三塊盤的數據的校驗碼的(如圖3),假如前面三個保存的是123那後面就是6,這樣就算其中的一塊盤損壞那麼數據也不會丟失,還能通過校驗碼來找回來,但是如果要是兩塊盤同時損毀的話那就完蛋了。當然我們還可以讓它們輪換作爲校驗碼盤來使用,即第一組數據使用第四塊,那第二組數據就使用第一塊…這樣循環輪換的使用,這種方式就是RAID5。現在還有RAID6RAID6RAID5多了一塊校驗盤,把數據校驗兩次,而且檢驗方式有所不同,這裏就不詳細介紹了。

 

3

下面我們再來看一種組合方式RAID01RAID0+1(下同),這種組合方式就是先條帶後鏡像,也就是先將數據條帶保存,然後再給磁盤做鏡像,假如我們有六塊磁盤(如圖4),前面三塊是我們先保存的數據,而後面的三塊就是我們給磁盤做的鏡像,其中的任意一塊磁盤損壞都不會影響數據,只要不是一個磁盤跟它的鏡像磁盤同時損壞都傷不到筋骨。

 

4

RAID01那麼就肯定會有RAID10RAID10就是給每一個磁盤準備好鏡像,然後將數據條帶寫入(如圖5)。也就是每兩塊磁盤爲一組,而且每組的兩塊磁盤中保存的數據是完全一樣的,雖然有六塊磁盤,但是實際用來執行的,幫助系統提速的只有三塊磁盤。只要不是每組的兩塊磁盤同時掛掉,那就還能修復,就算是每組都掛掉一個磁盤也還能修復,這就體現出了RAID功效了。

 

5

我們再來看一個RAID50,我們先來看一下圖吧(圖6

 

6

可能看到圖的第一眼你就會說這不就是上面的RAID01的圖嗎?沒錯就是!只不過他們所實現的功能有所不同,這裏的六塊磁盤我們實際利用到的可以達到四塊,這裏有兩組磁盤,而每組磁盤使用的是RAID5,然後使用條帶技術使之聯繫起來。

RAID還有很多種,這裏就不一一介紹了,下面我們再來看一下jbod(如圖7

 

7

Jbod是將磁盤疊加起來使用,也就是將多個小盤組合成一個大盤來用……

下面我們來總結一下:

RAID

性能表現

冗餘能力

空間利用率

磁盤需求量

0

讀,寫能力提升

100%

至少2

1

寫性能略有下降,但讀性能提升

1/2

至少2

5

讀,寫能力提升

(n-1)/n

至少3

10

讀,寫能力提升

1/2

至少4

01

讀,寫能力提升

1/2

至少4

50

讀,寫能力提升

(n-2)/n

至少6

jbod

無提升

100%

至少2

 

理解不深,總結的不好,正在學習中……

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