1. 程式人生 > >存儲管理--RAID

存儲管理--RAID

raid

RAID的全稱是Redundant Array of Inexpensive Disks 可以釋義為 廉價磁盤冗余陣列,後來的RAID裏的字母I被認為是Independent,即獨立的磁盤冗余陣列。

RAID的主要作用就是通過多個條帶實現並行讀寫提高IO能力,以及提高磁盤的耐用性


RAID的實現方式

硬件實現

通過硬件RAID控制器或適配器將所需的磁盤組織成RAID,然後安裝OS;

依靠 BIOS程序 設置RAID陣列,

軟件模擬實現

操作系統通過系統調用的方式,模擬RAID實現;


RAID操作級別有以下幾種:

RAID0:條帶卷--strip

至少兩塊磁盤,沒有冗余容錯的能力

沒有存儲空間的浪費,要求每個磁盤必須提供大小相同的存儲空間;

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


存儲管理--RAID