RAID 10
性價比較高的等級
Raid 10是一個Raid 1與Raid0的組合體,它是利用奇偶校驗實現條帶集鏡像,所以它繼承了Raid0的快速和Raid1的安全。我們知道,RAID 1在這裡就是一個冗餘的備份陣列,而RAID 0則負責數據的讀寫陣列。其實,右圖只是一種RAID 10方式,更多的情況是從主通路分出兩路,做Striping操作,即把數據分割,而這分出來的每一路則再分兩路,做Mirroring操作,即互做鏡像。
RAID 1+0 也被稱為RAID 10標準,實際是將RAID 1和RAID 0標準結合的產物,在連續地以位或位元組為單位分割數據並且并行讀/寫多個磁碟的同時,為每一塊磁碟作磁碟鏡像進行冗餘。它的優點是同時擁有RAID 0的超凡速度和RAID 1的數據高可靠性,但是CPU佔用率同樣也更高,而且磁碟的利用率比較低。由於利用了RAID 0極高的讀寫效率和RAID 1較高的數據保護、恢復能力,使RAID 10成為了一種性價比較高的等級,目前幾乎所有的RAID控制卡都支持這一等級。但是,RAID 10對存儲容量的利用率和RAID 1一樣低,只有50%。因此,RAID10即高可靠性與高效磁碟結構它是一個帶區結構加一個鏡象結構,可以達到既高速又安全的目的,RAID 10能提供比RAID 5更好的性能。這種新結構的可擴充性不好,這種解決方案被廣泛應用,使用此方案比較昂貴。
注意一下Raid 10 和 Raid01的區別:
RAID01又稱為RAID0+1,先進行條帶存放(RAID0),再進行鏡像(RAID1)。
RAID10又稱為RAID1+0,先進行鏡像(RAID1),再進行條帶存放(RAID0)。
Raid 10其實結構非常簡單,首先創建2個獨立的Raid1,然後將這兩個獨立的Raid1組成一個Raid0,當往這個邏輯Raid中寫數據時,數據被有序的寫入兩個Raid1中。磁碟1和磁碟2組成一個Raid1,磁碟3和磁碟4又組成另外一個Raid1;這兩個Raid1組成了一個新的Raid0。如寫在硬碟1上的數據1、3、5、7,寫在硬碟2中則為數據1、3、5、7,硬碟3中的數據為0、2、4、6,硬碟4中的數據則為0、2、4、6,因此數據在這四個硬碟上組合成Raid10,且具有raid0和raid1兩者的特性。
雖然Raid10方案造成了50%的磁碟浪費,但是它提供了200%的速度和單磁碟損壞的數據安全性,並且當同時損壞的磁碟不在同一Raid1中,就能保證數據安全性。假如磁碟中的某一塊盤壞了,整個邏輯磁碟仍能正常工作的。
當我們需要恢復RAID 10中損壞的磁碟時,只需要更換新的硬碟,按照RAID10的工作原理來進行數據恢復,恢複數據過程中系統仍能正常工作。原先的數據會同步恢復到更換的硬碟中。
總的來說,RAID 10以RAID 0為執行陣列,以RAID 1為數據保護陣列,它具有與RAID 1一樣的容錯能力,用於容錯處理的系統開銷與單獨的鏡像操作基本一樣,由於使用RAID 0作為執行等級,因此具有較高的I/O寬頻;對於那些想在RAID 1基礎上大幅提高性能的用戶,它是一個完美的解決方案。RAID 10適用於資料庫存儲伺服器等需要高性能、高容錯但對容量要求不大的場合。
RAID10也被稱為鏡象陣列條帶。像RAID0一樣,數據跨磁碟抽取;像RAID1一樣,每個磁碟都有一個鏡象磁碟, 所以RAID 10的另一種會說法是 RAID 1+0。RAID10提供100%的數據冗餘,支持更大的捲尺寸,但價格也相對較高。對大多數只要求具有冗餘度而不必考慮價格的應用來說,RAID10提供最好的性能。使用RAID10,可以獲得更好的可靠性,因為即使兩個物理驅動器發生故障,每個陣列中都有一個,數據仍然可以得到保護。RAID10需要4 + 2*N 個磁碟驅動器(N >=0),而且只能使用其中一半或更小的磁碟用量, 例如 4 個 250G 的硬碟使用RAID10 陣列,實際容量是 500G。