一.概念:安全
RAID是英文Redundant Array of Independent Disks的縮寫,翻譯成中文意思是「獨立磁盤冗餘陣列」,有時也簡稱磁盤陣列(Disk Array)。
二.使用RAID的好處:
1.擴大了存貯能力 可由多個硬盤組成容量巨大的存貯空間。
2.下降了單位容量的成本 市場上最大容量的硬盤每兆容量的價格要大大高於普及型硬盤,所以採用多個普及型硬盤組成的陣列其單位價格要低得多。
3.提升了存貯速度 單個硬盤速度的提升均受到各個時期的技術條件限制,要更進一步每每是很因難的,而使用RAID,則可讓多個硬盤同時分攤數據的讀或寫操做,所以總體速度有成倍地提升。
4.可靠性 RAID系統可使用兩組硬盤同步完成鏡像存貯,這種安全措施對於網絡服務器來講是最重要不過的了。
5.容錯性 RAID控制器的一個關鍵功能就是容錯處理。容錯陣列中若有單塊硬盤出錯,不會影響到總體的繼續使用,高級RAID控制器還具備拯救功能。
三.經常使用的RAID等級有RAID 0,RAID1,RAID 2,RAID 3,RAID 4,RAID 5,RAID 6,RAID 7,這裏介紹目前比較經常使用的RAID 0,RAID 1,RAID 5
1.RAID 0(等量模式stripe):性能最佳
RAID 0能夠把多塊硬盤鏈接在一塊兒造成一個容量更大的存儲設備。磁盤之間的鏈接既可使用硬件的形式經過智能磁盤控制器實現,也可使用操做系統中的磁盤驅動程序以軟件的方式實現。
要實現RAID0必需要有兩個以上硬盤驅動器,RAID0實現了帶區組,數據並非保存在一個硬盤上,而是分紅數據塊保存在不一樣驅動器上。由於將數據分佈在不一樣驅動器上,因此數據吞吐率大大提升,驅動器的負載也比較平衡。若是恰好所須要的數據在不一樣的驅動器上效率最好。它不須要計算校驗碼,實現容易。它的缺點是它沒有數據差錯控制,若是一個驅動器中的數據發生錯誤,即便其它盤上的數據正確也無濟於事了。不該該將它用於對數據穩定性要求高的場合。RAID能夠提升數據傳輸速率,好比所需讀取的文件分佈在兩個硬盤上,這兩個硬盤能夠同時讀取。那麼原來讀取一樣文件的時間被縮短爲1/2。在全部的級別中,RAID 0的速度是最快的。可是RAID 0沒有冗餘功能的,若是一個磁盤(物理)損壞,則全部的數據都沒法使用。
2.RAID 1(映像模式,mirror):完整備份
RAID 1又被稱爲磁盤鏡像,每個磁盤都具備一個對應的鏡像盤。對任何一個磁盤的數據寫入都會被複制鏡像盤中;系統能夠從一組鏡像盤中的任何一個磁盤讀取數據.RAID 1下任何一塊硬盤的故障都不會影響到系統的正常運行,並且只要可以保證任何一對鏡像盤中至少有一塊磁盤可使用,RAID 1甚至能夠在一半數量的硬盤出現問題時不間斷的工做。當一塊硬盤失效時,系統會忽略該硬盤,轉而使用剩餘的鏡像盤讀寫數據。
3.RAID 0+1
所謂的RAID 0+1,就是先讓兩塊磁盤組成RAID 0,而且這樣的設備兩組,而後再將這兩組RAID 0再組成一組RAID 1。因爲具備RAID 0的優勢,性能得以提高,同時又具備RAID 1的優勢,數據得以備份,可是因爲RAID1的缺點,總容量會少一半用來備份。
4.RAID 5:性能與備份的均衡考慮
RAID-5至少須要三塊以上的磁盤才能組成類型的磁盤陣列。
RAID5的讀出效率很高,寫入效率通常,塊式的集體訪問效率不錯。由於奇偶校驗碼在不一樣的磁盤上,因此提升了可靠性,容許單個磁盤出錯。RAID 5也是以數據的校驗位來保證數據的安全,但它不是以單獨硬盤來存放數據的校驗位,而是將數據段的校驗位交互存放於各個硬盤上。這樣,任何一個硬盤損壞,均可以根據其它硬盤上的校驗位來重建損壞的數據。硬盤的利用率爲n-1。 可是它對數據傳輸的並行性解決很差,並且控制器的設計也至關困難。
四.軟件磁盤陣列的設置
經常使用命令以及參數:mdadm - -create --auto=yes /dev/md0-9 –raid-devices=N –level=[0/1/5] –spare-devices=N /dev/sdax
參數解析: --create 新建RAID;
--auto=yes 決定新建後而接的軟件磁盤陣列設備,即/dev/md0,/dev/md1等
--raid-devices=N 使用幾塊磁盤做爲磁盤陣列設備
--spare-devices=N 使用幾塊磁盤做爲備用設備
--level=[0/1/5]:設置磁盤陣列等級
五.軟件磁盤陣列的實現:
案例:利用4個分區組成一個RAID 5,每一個分區大小1G,並將此RAID5設備掛載到/mnt/raid目錄下。
建立以下:1.磁盤分區:fdisk /dev/sda
連續建立四個磁盤分區,分別爲/dev/sda6,/dev/sda7,/dev/sda8,/dev/sda8保存退出;
# Partprode /dev/sda 重讀分區表
2.以mdadm建立RAID 5
#mdadm --create --auto=yes /dev/md0 --raid-devices=4 --level=5 /dev/sda{6,7,8,9}
3.查看系統軟件磁盤陣列信息
mdadm --detail /dev/md0
4.格式化並進行掛載
# mkfs –t ext3 /dev/md0
#mkdir /dev/raid
#mount /dev/md0 /dev/raid