磁碟陣列關於Raid0,Raid1,Raid5,Raid10

hiekay發表於2019-02-12

1.RAID0

image

  • 定義:

RAID 0又稱為Stripe或Striping,它代表了所有RAID級別中最高的儲存效能。RAID 0提高儲存效能的原理是把連續的資料分散到多個磁碟上存取,這樣,系統有資料請求就可以被多個磁碟並行的執行,每個磁碟執行屬於它自己的那部分資料請求。這種資料上的並行操作可以充分利用匯流排的頻寬,顯著提高磁碟整體存取效能。

  • 工作原理:

系統向三個磁碟組成的邏輯硬碟(RAID0 磁碟組)發出的I/O資料請求被轉化為3項操作,其中的每一項操作都對應於一塊物理硬碟。通過建立RAID 0,原先順序的資料請求被分散到所有的三塊硬碟中同時執行。從理論上講,三塊硬碟的並行操作使同一時間內磁碟讀寫速度提升了3倍。 但由於匯流排頻寬等多種因素的影響,實際的提升速率肯定會低於理論值,但是,大量資料並行傳輸與序列傳輸比較,提速效果顯著顯然毋庸置疑。

  • 優缺點:

讀寫效能是所有RAID級別中最高的。

RAID 0的缺點是不提供資料冗餘,因此一旦使用者資料損壞,損壞的資料將無法得到恢復。RAID0執行時只要其中任一塊硬碟出現問題就會導致整個資料的故障。一般不建議企業使用者單獨使用。

  • 總結:

磁碟空間使用率:100%,故成本最低。

讀效能:N*單塊磁碟的讀效能

寫效能:N*單塊磁碟的寫效能

冗餘:無,任何一塊磁碟損壞都將導致資料不可用。

2.RAID1

image

  • 定義:

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

  • 工作原理:

RAID1是將一個兩塊硬碟所構成RAID磁碟陣列,其容量僅等於一塊硬碟的容量,因為另一塊只是當作資料“映象”。RAID1磁碟陣列顯然是最可靠的一種陣列,因為它總是保持一份完整的資料備份。它的效能自然沒有RAID0磁碟陣列那樣好,但其資料讀取確實較單一硬碟來的快,因為資料會從兩塊硬碟中較快的一塊中讀出。RAID1磁碟陣列的寫入速度通常較慢,因為資料得分別寫入兩塊硬碟中並做比較。RAID1磁碟陣列一般支援“熱交換”,就是說陣列中硬碟的移除或替換可以在系統執行時進行,無須中斷退出系統。RAID1磁碟陣列是十分安全的,不過也是較貴一種RAID磁碟陣列解決方案,因為兩塊硬碟僅能提供一塊硬碟的容量。RAID1磁碟陣列主要用在資料安全性很高,而且要求能夠快速恢復被破壞的資料的場合。

在這裡,需要注意的是,讀只能在一塊磁碟上進行,並不會進行並行讀取,效能取決於硬碟中較快的一塊。寫的話通常比單塊磁碟要慢,雖然是並行寫,即對兩塊磁碟的寫入是同時進行的,但因為要比較兩塊硬碟中的資料,所以效能比單塊磁碟慢。

  • 優缺點:

RAID1通過硬碟資料映象實現資料的冗餘,保護資料安全,在兩塊盤上產生互為備份的資料,當原始資料繁忙時,可直接從映象備份中讀取資料,因此RAID1可以提供讀取效能。
RAID1是硬碟中單位成本最高的,但提供了很高的資料安全性和可用性,當一個硬碟失效時,系統可以自動切換到映象硬碟上讀/寫,並且不需要重組失效的資料。

  • 總結:

磁碟空間使用率:50%,故成本最高。

讀效能:只能在一個磁碟上讀取,取決於磁碟中較快的那塊盤

寫效能:兩塊磁碟都要寫入,雖然是並行寫入,但因為要比對,故效能單塊磁碟慢。

冗餘:只要系統中任何一對映象盤中有一塊磁碟可以使用,甚至可以在一半數量的硬碟出現問題時系統都可以正常執行。

3.RAID 5

image

  • 定義:

RAID 5是RAID 0和RAID 1的折中方案。RAID 5具有和RAID0相近似的資料讀取速度,只是多了一個奇偶校驗資訊,寫入資料的速度比對單個磁碟進行寫入操作稍慢。同時由於多個資料對應一個奇偶校驗資訊,RAID5的磁碟空間利用率要比RAID 1高,儲存成本相對較低,是目前運用較多的一種解決方案。

  • 工作原理:

RAID5把資料和相對應的奇偶校驗資訊儲存到組成RAID5的各個磁碟上,並且奇偶校驗資訊和相對應的資料分別儲存於不同的磁碟上,其中任意N-1塊磁碟上都儲存完整的資料,也就是說有相當於一塊磁碟容量的空間用於儲存奇偶校驗資訊。因此當RAID5的一個磁碟發生損壞後,不會影響資料的完整性,從而保證了資料安全。當損壞的磁碟被替換後,RAID還會自動利用剩下奇偶校驗資訊去重建此磁碟上的資料,來保持RAID5的高可靠性。

做raid 5陣列所有磁碟容量必須一樣大,當容量不同時,會以最小的容量為準。 最好硬碟轉速一樣,否則會影響效能,而且可用空間=磁碟數n-1,Raid 5 沒有獨立的奇偶校驗盤,所有校驗資訊分散放在所有磁碟上, 只佔用一個磁碟的容量。

  • 總結:

磁碟空間利用率:(N-1)/N,即只浪費一塊磁碟用於奇偶校驗。

讀效能:(n-1)*單塊磁碟的讀效能,接近RAID0的讀效能。

寫效能:比單塊磁碟的寫效能要差(這點不是很明白,不是可以並行寫入麼?)

冗餘:只允許一塊磁碟損壞。

4.RAID10

image

  • 定義:

RAID10也被稱為鏡象陣列條帶。象RAID0一樣,資料跨磁碟抽取;象RAID1一樣,每個磁碟都有一個鏡象磁碟, 所以RAID 10的另一種會說法是 RAID 0+1。RAID10提供100%的資料冗餘,支援更大的捲尺寸,但價格也相對較高。對大多數只要求具有冗餘度而不必考慮價格的應用來說,RAID10提供最好的效能。使用RAID10,可以獲得更好的可靠性,因為即使兩個物理驅動器發生故障(每個陣列中一個),資料仍然可以得到保護。RAID10需要4 + 2*N 個磁碟驅動器(N >=0), 而且只能使用其中一半(或更小, 如果磁碟大小不一)的磁碟用量, 例如 4 個 250G 的硬碟使用RAID10 陣列, 實際容量是 500G。

  • 實現原理:

Raid10其實結構非常簡單,首先建立2個獨立的Raid1,然後將這兩個獨立的Raid1組成一個Raid0,當往這個邏輯Raid中寫資料時,資料被有序的寫入兩個Raid1中。磁碟1和磁碟2組成一個Raid1,磁碟3和磁碟4又組成另外一個Raid1;這兩個Raid1組成了一個新的Raid0。如寫在硬碟1上的資料1、3、5、7,寫在硬碟2中則為資料1、3、5、7,硬碟中的資料為0、2、4、6,硬碟4中的資料則為0、2、4、6,因此資料在這四個硬碟上組合成Raid10,且具有raid0和raid1兩者的特性。
雖然Raid10方案造成了50%的磁碟浪費,但是它提供了200%的速度和單磁碟損壞的資料安全性,並且當同時損壞的磁碟不在同一Raid1中,就能保證資料安全性。假如磁碟中的某一塊盤壞了,整個邏輯磁碟仍能正常工作的。
當我們需要恢復RAID10中損壞的磁碟時,只需要更換新的硬碟,按照RAID10的工作原理來進行資料恢復,恢復資料過程中系統仍能正常工作。原先的資料會同步恢復到更換的硬碟中。

  • 總結:

磁碟空間利用率:50%。

讀效能:N/2*單塊硬碟的讀效能

寫效能:N/2*單塊硬碟的寫效能

冗餘:只要一對映象盤中有一塊磁碟可以使用就沒問題。


相關文章