RAID的全稱是Redundant Array of Inexpensive Disks 能夠釋義爲 廉價磁盤冗餘陣列,後來的RAID裏的字母I被認爲是Independent,即獨立的磁盤冗餘陣列。ide
RAID的主要做用就是經過多個條帶實現並行讀寫提升IO能力,以及提升磁盤的耐用性工具
RAID的實現方式性能
硬件實現測試
經過硬件RAID控制器或適配器將所需的磁盤組織成RAID,而後安裝OS;操作系統
依靠 BIOS程序 設置RAID陣列,component
軟件模擬實現blog
操做系統經過系統調用的方式,模擬RAID實現;ip
RAID操做級別有如下幾種:get
RAID0:條帶卷--stripit
至少兩塊磁盤,沒有冗餘容錯的能力
沒有存儲空間的浪費,要求每一個磁盤必須提供大小相同的存儲空間;
RAID1:鏡像卷--mirror
通常兩個磁盤,先將數據存入主盤,而後再將數據存入從盤。所以寫入效率低,略微提高讀效率 磁盤空間的總體利用率爲50%,有冗餘容錯能力
RAID4:
多塊磁盤進行異或運算,獲得校驗值,而且存到專門的一塊磁盤中
即便一塊磁盤損壞,也不會丟失數據
可是校驗盤的IO壓力巨大,很容易造成性能瓶頸
RAID5:
RAID4類似的方式,可是用的是多塊磁盤進行循環冗餘校驗,校驗值隨機分配到不一樣磁盤的條帶中
讀寫IO性能均明顯提高,又不會出現性能瓶頸
磁盤利用率=(n-1)/n*100% 所以磁盤利用率不是100%
RAID6:
多塊磁盤進行兩輪循環冗餘校驗,校驗值隨機分配到不一樣磁盤的條帶中
讀寫IO性能均明顯提高,又不會出現性能瓶頸
最多兩塊磁盤出現故障損壞,依然保證數據可用
代價就是增長了計算校驗值的時間;
此外還有RAID混合級別
RAID01:
先作RAID0,再作RAID1
RAID10:
先作RAID1,再作RAID0
RAID50
RAID7:能夠理解爲一個存儲計算機,自帶操做系統以及相應的管理工具,能夠獨立運行
在CentOS上實現軟RAID(通常不多用到,都是在實現硬RAID)
內核提供一個md的模塊(multi disks,multi devices)
用戶空間須要mdadm的工具;來設置和修改md內核模塊的參數
mdadm:
mdadm [mode] <raiddevice> [option...] <component device>
mode:
建立模式:-C :模式開關
-n #:明確的告訴md模塊,使用#塊磁盤來建立RAID設備
-l #:指示RAID 的級別
-a {yes|no}:容許系統或不容許系統自動建立md設備文件
-c CHUNK_SIZE:默認512K
-x #:指定在陣列中空閒磁盤的數量
裝配模式:-A
管理模式:-a 添加 -r刪除 -f標記設備 失效
雜項:
-D --scan 顯示RAID設備的詳細信息
mdadm -D --scan > /etc/mdadm.conf
該配置文件用於RAID設備的再次裝配
-S 中止RAID的設備
例如將新加的磁盤建RAID0
~]# mdadm -C /dev/md0 -n 4 -l 0 -a yes /dev/sd{b,c,d,e}
而後建立文件系統並掛 載使用,df -hT 查看到 md0
dd命令: dd if=/dev/zero of=./test bs=1024 count=1000000 測試設備寫的速度(if=目標大文件 of=/dev/null是測試讀速度)
能夠RAID0 提高了硬盤的讀寫速度
mdadm -S中止使用md0