歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux綜合 >> 學習Linux >> 關於Raid0,Raid1,Raid5,Raid10的總結,raid5raid10

關於Raid0,Raid1,Raid5,Raid10的總結,raid5raid10

日期:2017/3/3 18:05:53   编辑:學習Linux

關於Raid0,Raid1,Raid5,Raid10的總結,raid5raid10

關於Raid0,Raid1,Raid5,Raid10的總結,raid5raid10


RAID0

定義:

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

工作原理:

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

優缺點:

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

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

總結:

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

讀性能:N*單塊磁盤的讀性能

寫性能:N*單塊磁盤的寫性能

冗余:無,任何一塊磁盤損壞都將導致數據不可用。

RAID1

定義:

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

工作原理:

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

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

優缺點:

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

總結:

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

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

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

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

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的讀性能。

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

冗余:只允許一塊磁盤損壞。

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*單塊硬盤的寫性能

冗余:只要一對鏡像盤中有一塊磁盤可以使用就沒問題。

參考:

百度百科

http://blog.chinaunix.net/uid-639516-id-2692517.html

http://www.h3c.com.cn/Solution/Multimedia_Communicate/Video_Surveillance_Storage/What_Do_I_Need/Bookmark/200909/646074_30004_0.htm

http://xxxxxx/Linuxjc/1175094.html TechArticle

Copyright © Linux教程網 All Rights Reserved