1 什麼是RAID
獨立磁盤冗余數組(RAID, Redundant Array of Independent Di);也稱其為廉價磁盤冗余數組(Redundant Array of Inexpensive Disks),簡稱為硬盤陣列。通俗的說RAID就是把硬盤組合在一起,組成一個磁盤陣列;實現對數據的可靠性、讀寫快速性、冗余性廉價性的存儲。
2 RAID技術類別介紹
RAID有級別(level)表示但是級別不是代表性能的先進,只是表述了磁盤組織方式不同,沒有上下之分。
2.1 條帶化技術
RAID剛剛出現時最重要的技術是條帶技術即條帶化(用“0”表示)。條帶技術實現了把數據分散存儲在多個盤上並且加快了存儲速度;缺點是不能保證數據本身的安全性
2.2 鏡像技術
磁盤鏡像技術(用“1’表示),數據條帶化以後對數據進行雙重存儲;極大的提高了數據本身的安全性;缺點是極大的浪費存儲空間
2.3 校驗碼技術
利用校驗碼實現對對數據的完全備份或者是分磁盤的備份,也就是RAID4與RAID5等常用的技術;缺點是:數據的修復具有危險性,校驗磁盤很大程度的造成了數據的存儲速度。
3 常見RAID技術介紹
3.1 RAID0

(1)優點:對數據的讀寫性能都有了很大的提升
(2)不足之處:不提供冗余能力
(3)所需磁盤數:至少兩塊
3.2 RAID1

(1)優點:對數據的讀取性能提升;具有冗余能力,當磁盤中的一塊壞掉後,不會損失任何數據
(2)缺點:對數據的寫入的性能下降,空間的利用率低,僅有1/2
(3)所需磁盤數:至少兩塊
3.3 RAID4

(1)優點:采用校驗技術;有一個特定的磁盤作為數據的完全存儲,其他的磁盤采用條帶技術,進行對數據的讀寫性能都有提高並且磁盤利用率高,磁盤損壞一個或者是校驗盤損壞也不會造成數據的流失,可以重新計算為(n-1)/n(n代表磁盤個數)
(2)缺點:校驗碼盤訪問量大的性能很大程度的牽制著整個磁盤陣列的性能校驗碼盤很有可能會成為性能的瓶頸,並且修復損壞磁盤的數據的需要遍歷整個陣列,修復慢,性能損失大
(3)所需磁盤數:至少三個磁盤
3.4 RAID5

(1)優點:采用校驗技術;與RAID不同的是每個磁盤都是校驗盤,輪替的當做校驗盤的功能,降低了對單個磁盤的巨大的訪問量,使其讀寫性能在RAID4 的基礎上又了提高;與RAID4相同磁盤的損壞個數只能有一個,校驗盤損壞也不會造成數據的流失,都可以重新計算
(2)缺點: 修復損壞磁盤的數據的需要遍歷整個陣列,修復慢,性能損失大,相對RAID4有很大的改善
(3)需要磁盤數:至少三塊
3.5 RAID01

(1)優點:對數據的讀寫都有提升,並且對數據具有冗余能力,同組的盤損壞也不會影響數據的損壞
(2)缺點:損壞一個盤時,全部的盤都會被牽制,因為兩個鏡像的條帶的方式可能不同對應的盤數據即不相同,需要變量整個鏡像盤才能修復壞掉的盤;空間利用率低僅有1/2
(3)需要磁盤數:至少四塊
3.6 RAID10

(1)優點:對數據的讀寫性能都有很大的提升,並且對數據有冗余能力每一個組的任何一個磁盤損壞不會影響數據的損失,並且更換磁盤修復時,不用遍歷整個磁盤
(2)缺點:空間利用率低僅有1/2,同組的磁盤同時損壞時就會造成整個磁盤陣列的數據崩潰
(3)所需磁盤數:至少四個
3.7 RAID50

(1)優點:對數據的讀寫性能都有很大的提高,具有冗余能力;空間利用率大,利用率為:(n-2)/n
(2)缺點:磁盤的個數需要較多
(3)需要磁盤數:至少6塊
3.8 JBOD

(1) 優點:可以實現讓多個小盤疊加起來,對應應用程序這些疊加起來的盤就是一個盤,數據存在這些盤上時仍然一個相同的文件,它的存在就僅增單個磁盤容量;JBOD主要應用在大數據處理中如:Hadoop
(2)缺點:讀寫速度都不會有提升,並且對數據的安全性沒有保障,當其中的一個磁盤損壞掉,數據就會丟失
(3)需要磁盤數:至少兩個
4 軟件RAID介紹:使用軟件創建軟RAID需要內核提供md這個模塊;可以使用mdadm命令管理RAID 4.1 mdadm模式介紹
mdamd命令是個模式化的命令;它可以將任何塊設備做成RAID;配置文件是:dev/md#(#是數字,是標示RAID設備,不是RAID級別)
(1)創建模式:
-C:創建選項
-x #:指定空閒盤個數
專用選項:
-l:指定級別
-n:設備個數
-a:(後yes或NO:如果沒有時自動為其創建設備文件)
-c:指定CHUNK大小即數據塊大小(2^n大小,默認是64)
(2)管理模式
用到--add, --fail ,--remove時默認是工作在管理模式下
模擬磁盤損壞:-f --fail --set-faulty(模擬損壞)
(3)監控模式:-F
(4)增長模式: —G
(5)裝配模式: -A
4.2 查看RAID陣列的詳細信息命令
mdadm –D /dev/md#顯示RAID設備的大小
mdadm –detail /dev/md#也可以查看RAID設備的大小
4.3停止陣列命令
mdadm -S /dev/md# 停用md#陣列
mdadm -S /dev/md# 停用md#陣列
rm /dev/md1 刪除陣列
5 創建軟RAID步驟:
5.11 創建一個兩G的RAID0(由於設備限制,這裡用同一磁盤上的兩個分區來模擬實現)
規劃:可以用4個512M的分區或者用兩個1G的
(1)這裡我們用兩個1G的分區來完成,首先自己先創建好兩個分區然後調整分區類型為fd:如圖1所示

圖1 調整分區5、6類型為fd類型
(2) 讓內核重讀分區 如圖2所示

圖2 查看結果圖
(3)創建md0 如圖3所示
![]()
圖3 創建md0圖
(4)查看當前系統啟用的RAID設備 如圖4所示

圖4 查看啟用的RAID設備
(5)格式化md0 如圖5所示

圖5 格式化md0
(6)用命令fdisk –l命令查看是否有md0設備 如圖6所示

圖6 查看md0
(7)掛載md0設備 如圖7所示

圖7 顯示掛載成功
5.12創建一個2G的RAID5
規劃:使用3個1G的分區創建一個2G的RAID5
(1)創建好三個分區然後調整分區類型為fd(這裡我已創建好了,是sda8,sda9,sda10,)我們直接進入安裝
(2)讓內核重讀分區創建一個RAID5 如圖8所示

圖8 創建RAID5指定分區為sda10,sda9,sda8
(3)格式化md3 如圖9所示

圖9 格式化md3
(4)查看系統啟用的RAID設備 如圖10所示

圖10 查看啟用的RAID設備
(4)掛載md3 如圖11所示

圖11 掛載md3 到/media
(5)復制一個文件到 /media 進行驗證如圖12所示

圖12 驗證數據
(6)模擬損壞sda9 如圖13所示
![]()
圖 13 模擬損壞
(7)查看/dev/md3信息 如圖14所示

圖14 sda9已被 模擬移除
(8)驗證/media下的文件是否丟失 如圖15所示

圖15 數據完整
RAID的介紹就到這裡,希望能給予大家一些幫助,RAID的理解圖示全是作者自己理解所得,若有理解不到之處,敬請諒解後面還會繼續跟出更多知識,望關注!
本文出自 “Fly*On*Sky” 博客,請務必保留此出處http://djy0000.blog.51cto.com/5816828/1153563