1.RAID0

- 定義:
RAID 0又稱為Stripe或Striping,它代表了所有RAID級别中最高的存儲性能。RAID 0提高存儲性能的原理是把連續的資料分散到多個磁盤上存取,這樣,系統有資料請求就可以被多個磁盤并行的執行,每個磁盤執行屬于它自己的那部分資料請求。這種資料上的并行操作可以充分利用總線的帶寬,顯著提高磁盤整體存取性能。
- 工作原理:
系統向三個磁盤組成的邏輯硬碟(RAID0 磁盤組)發出的I/O資料請求被轉化為3項操作,其中的每一項操作都對應于一塊實體硬碟。通過建立RAID 0,原先順序的資料請求被分散到所有的三塊硬碟中同時執行。從理論上講,三塊硬碟的并行操作使同一時間内磁盤讀寫速度提升了3倍。 但由于總線帶寬等多種因素的影響,實際的提升速率肯定會低于理論值,但是,大量資料并行傳輸與串行傳輸比較,提速效果顯著顯然毋庸置疑。
- 優缺點:
讀寫性能是所有RAID級别中最高的。
RAID 0的缺點是不提供資料備援,是以一旦使用者資料損壞,損壞的資料将無法得到恢複。RAID0運作時隻要其中任一塊硬碟出現問題就會導緻整個資料的故障。一般不建議企業使用者單獨使用。
- 總結:
磁盤空間使用率:100%,故成本最低。
讀性能:N*單塊磁盤的讀性能
寫性能:N*單塊磁盤的寫性能
備援:無,任何一塊磁盤損壞都将導緻資料不可用。
2.RAID1
RAID 1通過磁盤資料鏡像實作資料備援,在成對的獨立磁盤上産生互為備份的資料。當原始資料繁忙時,可直接從鏡像拷貝中讀取資料,是以RAID 1可以提高讀取性能。RAID 1是磁盤陣列中機關成本最高的,但提供了很高的資料安全性和可用性。當一個磁盤失效時,系統可以自動切換到鏡像磁盤上讀寫,而不需要重組失效的資料。
RAID1是将一個兩塊硬碟所構成RAID磁盤陣列,其容量僅等于一塊硬碟的容量,因為另一塊隻是當作資料“鏡像”。RAID1磁盤陣列顯然是最可靠的一種陣列,因為它總是保持一份完整的資料備份。它的性能自然沒有RAID0磁盤陣列那樣好,但其資料讀取确實較單一硬碟來的快,因為資料會從兩塊硬碟中較快的一塊中讀出。RAID1磁盤陣列的寫入速度通常較慢,因為資料得分别寫入兩塊硬碟中并做比較。RAID1磁盤陣列一般支援“熱交換”,就是說陣列中硬碟的移除或替換可以在系統運作時進行,無須中斷退出系統。RAID1磁盤陣列是十分安全的,不過也是較貴一種RAID磁盤陣列解決方案,因為兩塊硬碟僅能提供一塊硬碟的容量。RAID1磁盤陣列主要用在資料安全性很高,而且要求能夠快速恢複被破壞的資料的場合。
在這裡,需要注意的是,讀隻能在一塊磁盤上進行,并不會進行并行讀取,性能取決于硬碟中較快的一塊。寫的話通常比單塊磁盤要慢,雖然是并行寫,即對兩塊磁盤的寫入是同時進行的,但因為要比較兩塊硬碟中的資料,是以性能比單塊磁盤慢。
RAID1通過硬碟資料鏡像實作資料的備援,保護資料安全,在兩塊盤上産生互為備份的資料,當原始資料繁忙時,可直接從鏡像備份中讀取資料,是以RAID1可以提供讀取性能。
RAID1是硬碟中機關成本最高的,但提供了很高的資料安全性和可用性,當一個硬碟失效時,系統可以自動切換到鏡像硬碟上讀/寫,并且不需要重組失效的資料。
磁盤空間使用率:50%,故成本最高。
讀性能:隻能在一個磁盤上讀取,取決于磁盤中較快的那塊盤
寫性能:兩塊磁盤都要寫入,雖然是并行寫入,但因為要比對,故性能單塊磁盤慢。
備援:隻要系統中任何一對鏡像盤中有一塊磁盤可以使用,甚至可以在一半數量的硬碟出現問題時系統都可以正常運作。
3.RAID 5
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
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*單塊硬碟的寫性能
備援:隻要一對鏡像盤中有一塊磁盤可以使用就沒問題。