目錄
?編輯
一、RAID概述
1.1 磁盤陣列簡介
1.2 功能
二、RAID級別
2.1 RAID 0(不含校驗與冗余的條帶存儲)
2.2 RAID1(不含校驗的鏡像存儲)
2.3 RAID 5 (數據塊級別的分布式校驗條帶存儲)
4、RAID 6(兩種存儲的奇偶校驗碼的磁盤結構)
5、RAID 10(鏡像與條帶存儲)
一、RAID概述
1.1 磁盤陣列簡介
磁盤陣列(Redundant Arrays of Independent Disks,RAID),有“數塊獨立磁盤構成具有冗余能力的陣列”之意。
磁盤陣列是由很多塊獨立的磁盤,組合成一個容量巨大的磁盤組,利用個別磁盤提供數據所產生加成效果提升整個磁盤系統效能。利用這項技術,將數據切割成許多區段,分別存放在各個硬盤上。
磁盤陣列還能利用同位檢查(Parity Check)的觀念,當數組中任意一個硬盤發生故障時,仍可讀出數據。在數據重構時,可將數據經計算后重新置入新硬盤中。
1.2 功能
磁盤陣列具有提高計算機讀寫數據的速度、實現對數據的冗余保護及保證數據存儲可靠性的功能。
RAID技術主要有以下三個基本功能:
(1)通過對磁盤上的數據進行條帶化,實現對數據成塊存取,減少磁盤的機械尋道時間,提高了數據存取速度。
(2)通過對一個陣列中的幾塊磁盤同時讀取,減少了磁盤的機械尋道時間,提高數據存取速度。
(3)通過鏡像或者存儲奇偶校驗信息的方式,實現了對數據的冗余保護 (百度百科)
二、RAID級別
2.1 RAID 0(不含校驗與冗余的條帶存儲)
RAID 0(不含校驗與冗余的條帶存儲) RAID 0 又稱為Stripe(條帶化),它在所有RAID級別中具有最高的存儲性能,通過多塊磁盤組合為RAID 0后,數據被分割并分別存儲在每塊硬盤中,所以能最大程度的提升存儲性能與存儲空間,把連續的數據分散到多個磁盤上存取,這樣,系統有數據請求就可以被多個磁盤并行的執行,每個磁盤執行屬于它自己的那部分數據請求,這種數據上的并行操作可以充分利用總線的帶寬,顯著提高磁盤整體存取性能,但是無法容錯,搭建RAID 0 至少需要兩塊磁盤。 雖然RAID 0可以提供更多的空間和更好的性能,但是整個系統是非常不可靠的,如果出現故障,無法進行任何補救。,RAID 0適合于大規模并發讀寫,但對數據安全性要求不高的情況,如mysql slave(數據塊從庫),集群的節點RS(服務員)。
工作原理: 如下圖所示,如果有一個文件需要寫入RAID 0 磁盤陣列,則文件會被分隔為多個部分,Data1和Data2會被分別同步存入磁盤1和磁盤2,其他部分以此類推,讀取該文件時,將同時從磁盤1與磁盤2中讀取數據。如果兩塊磁盤的存儲空間均為200G,則RAID 0的總存儲空間為400G。
2.2 RAID1(不含校驗的鏡像存儲)
RAID 1 又稱為Mirror 或Mirrooring(鏡像) 磁盤鏡像,它的宗旨是最大限度的保證用戶數據的可用性和可修復性,RAID 1的操作方式是數據在寫入一塊磁盤的同時,會在另一塊閑置的磁盤上生成鏡像文件,在不影響性能情況下最大限度的保證系統的可靠性和可修復性上,只要系統中任何一對鏡像盤中至少有一塊磁盤可以使用,甚至可以在一半數量的硬盤出現問題時系統都可以正常運行,當一塊硬盤失效時,系統會忽略該硬盤,轉而使用剩余的鏡像盤讀寫數據,具備很好的磁盤冗余能力。RAID1 是磁盤陣列中單位成本最高的一種方式,磁盤利用率只有50%,并且陣列的大小取決于兩塊硬盤中最小的那塊的容量,搭建RAID 1 至少需要兩塊磁盤。RAID 1 級別的磁盤陣列安全性是最好的,磁盤利用率在所有陣列組合當中是最低的。
工作原理: 如下圖所示,如果有一個文件要寫入RAID 1 當中,該文件會寫入磁盤1,同時以復制的形式寫入磁盤2,DATA1與DATA2被同時存入磁盤1和磁盤2,其他以此類推。
2.3 RAID 5 (數據塊級別的分布式校驗條帶存儲)
RAID5(分布式奇偶校驗的獨立磁盤結構)。RAID 5 是一種存儲性能,數據安全和存儲成本兼顧的存儲解決方案。RAID5技術是把硬盤設備的數據奇偶校驗信息保存到其他硬盤設備中。RAID5磁盤陣列組中數據的奇偶校驗信息并不是單獨保存到某一塊磁盤設備中,而是存儲到除自身以外的其他每一塊對應的磁盤上,這樣的好處是其中任何一個磁盤損壞后不至于出現致命缺陷,但只能允許一塊磁盤損壞,否則無法利用剩下的數據和校驗信息進行數據的恢復。搭建RAID 5 至少需要三塊磁盤,搭建陣列后磁盤的可用數量為(n-1)/n,n為磁盤數。RAID 5 可以理解為是RAID 0 和RAID 1的折中方案,適合對性能和冗余都有一定要求,又都不是十分高的情況。搭建mysql的主從庫都可以使用,普通的服務器為了減少維護成本,又保持一定冗余和讀性能都可以做RAID 5
工作原理: 如下圖所示,RAID 5 磁盤陣列寫入數據時把校驗碼信息分布到各個磁盤上。例如,總共有N塊磁盤,那么會將要寫入的數據分成N份,并發的寫入到N塊磁盤中,同時還將數據的校驗碼信息Parity也寫入到這N塊磁盤中(數據與對應的校驗碼信息必須得分開存儲在不同的磁盤上)。“parity”部分存放的就是數據的奇偶校驗信息,實際上RAID 5 沒有備份磁盤中的真實數據信息,而是當硬盤設備出現問題后通過奇偶校驗信息來嘗試重建損壞的數據一旦某一塊磁盤損壞了,就可以用剩下的數據和對應的奇偶校驗碼信息去恢復損壞的數據。
4、RAID 6(兩種存儲的奇偶校驗碼的磁盤結構)
RAID6技術是在RAID 5基礎上,為了進一步加強數據保護而設計的一種RAID方式,實際上是一種擴展RAID 5等級。與RAID 5的不同之處于除了每個硬盤上都有同級數據XOR校驗區外,還有一個針對每個數據塊的XOR校驗區。與RAID 5 相同的是當前磁盤數據塊的校驗數據不可能存在當前磁盤中,而是交錯存儲的。組建RAID 6 要求至少4塊硬盤,而RAID 6可以允許壞掉兩塊硬盤。在實際應用中RAID6的應用范圍并沒有其它的RAID模式那么廣泛,對于數據中心,信息中心等對數據安全級別要求比較高的企業才會使用到RAID 6 進行數據的保護。 工作原理: 如下圖1-4所示,與RAID 5相似,RAID 6根據條帶化的數據生成校驗信息,條帶化數據和校驗數據一起分散存儲到RAID組的各個磁盤上。在下圖中,A、B、C、D是條帶化的數據,p代表校驗數據,q是第二份校驗數據。
圖1-4 RAID 6 工作原理
5、RAID 10(鏡像與條帶存儲)
RAID 10 不是獨創的一種RAID級別,它由RAID 1 和 RAID 0 兩種陣列形式組合而成,RAID 10繼承了RAID 0 的快速與高效,同時也繼承了RAID 1 的數據安全,RAID 10 至少需要四塊硬盤。RAID 1+0,先使用四塊硬盤組合成兩個獨立的RAID 1 ,然后將兩個RAID 1 組合成一個RAID 0。需要注意Raid 10 和 Raid01的區別,RAID01又稱為RAID0+1,先進行條帶存放(RAID0),再進行鏡像(RAID1),而RAID10又稱為RAID1+0,先進行鏡像(RAID1),再進行條帶存放(RAID0)。組成RAID 10 至少需要四塊磁盤,是在實際應用中較為常見陣列形式。 工作原理: 如下圖1-5所示,系統首先創建2個獨立的RAID1,然后將這兩個獨立的RAID1組成一個RAID0,當往這個邏輯Raid中寫數據時,數據被有序的以條帶的方式寫入兩個RAID1組合成的RAID 0 中,隨后兩個獨立的RAID 1 又可以實現雙磁盤鏡像的功能。
圖1-5 RAID 10 工作原理
RAID0、RAID1、RAID5、RAID6、RAID10、RAID50的異同與應用-騰訊云開發者社區-騰訊云