RAID磁盤陣列與配置
一、RAID磁盤陣列詳解
1、RAID磁盤陣列概述
RAID是Redundant Array of Independent Disks的縮寫,中文簡稱為獨立冗余磁盤陣列
把多塊獨立的物理硬盤按不同的方式組合起來形成一個硬盤組(邏輯硬盤),從而提供比單個硬盤更高的存儲性能和提供數據備份技術
組成磁盤陣列的不同方式稱為RAID級別(RAID Levels)
常用的RAID級別有:RAID 0,RAID 1.RAID 5,RAID 6,RAID 1+0
RAID級別 | 硬盤數量 | 磁盤利用率 | 是否有校驗 | 保護能力 | 讀寫性能 | 應用方面 |
---|---|---|---|---|---|---|
RAID 0 | N | N | 無 | 無 | 最好,(因並行而提高) | 個人用戶 |
RAID 1 | N(偶數) | N/2 | 無 | 允許一個設備故障 | 讀和單個磁盤無區別,寫則要寫兩邊 | 適用於存放重要數據,如服務器和數據庫存儲等領域 |
RAID 5 | N≥3 | (N-1)/N | 有 | 允許一個設備故障 | 讀:RAID 5=RAID 0(相近似的數據讀取速度),寫:慢於對單個磁盤進行寫入(多了一個奇偶校驗信息的寫入) | 是一種存儲性能、數據安全和存儲成本兼顧的存儲解決方案 |
RAID 6 | N≥4 | (N-2)/N | 有 | 允許兩個設備故障 | 讀:同RAID 5,寫:慢於RAID 5,需要寫入兩個奇偶校驗信息 | 相較於RAID 5,有更強的安全性能 |
RAID 10 | N≥4(偶數) | N/2 | 無 | 允許兩個機組中各壞一個 | 讀:RAID 10=RAID 0,寫:RAID 10=RAID 1 | 集合了RAID 0和RAID 1的優點,但是空間上由於使用鏡像,而不是類似RAID5的“奇偶校驗信息”,磁盤利用率益陽市50% |
2、RAID 0(條帶化存儲)
RAID 0連續以位或字節為單位分割數據,並行讀/寫於多個從磁盤上,因此具有很高的數據傳輸率,但它沒有數據冗余
RAID 0只是單純地提高性能,並沒有為數據的可靠性提供保證,而且其中一個磁盤失效將影響到所有數據
RAID 0不能應用於數據安全性要求高的場合
3、RAID 1(鏡像存儲)
通過磁盤數據鏡像實現數據冗余,在成對的獨立磁盤上產生互為備份的數據
當原始數據繁忙時,可直接從鏡像拷貝中讀取數據,因此RAID 1可以提高讀取性能
RAID 1是磁盤陣列中單位成本最高的,但提供了很高的數據安全性和可用性。當一個磁盤失效時,系統可以自動切換到鏡像磁盤上讀寫,而不需要重組失效的數據
4、RAID 5
N(N≥3)塊盤組成陣列,一份數據產生N-1個條帶,同時還有1分校驗數據,共N分數據在N塊盤上循環均衡存儲
N塊盤同時讀寫,讀性能很高,但由於有校驗機制的問題,寫性能相對不高
(N-1)/N磁盤利用率
可靠性高,允許壞一塊盤,不影響所有數據
5、RAID 6
N(N≥4)塊盤組成陣列,(N-2)/N磁盤利用率
與RAID 5相比,RAID增加了第二個獨立的奇偶校驗信息塊
兩個獨立的奇偶系統使用不同的算法,即使兩塊磁盤同時失效也不會影響數據的使用
相對於RAID 5有更大的“寫損失”,因此寫性能較差
6、RAID 1+0(先做鏡像,再做條帶)
N(偶數,N≥4)塊盤兩兩鏡像后,再組合成一個RAID 0
N/2磁盤利用率
N/2塊盤同時寫入,N塊盤同時讀取
性能高,可靠性高
7、RAID 0+1(先做條帶,再做鏡像)
讀寫性能與RAID 1+0相同
安全性能低於RAID 1+0
二、陣列卡
1、陣列卡介紹
陣列卡是用來實現RAID功能的板卡
通常是由I/0處理器、硬盤控制器、硬盤連接器和緩存等一系列組件構成的
不同的RAID卡支持的RAID功能不同,例如支持RAID 0、RAID 1、RAID 5、RAID 10等
RAID卡的接口類型:IDE接口、SCSI接口、SATA接口和SAS接口
2、陣列卡的緩存
緩存(Cache)是RAID卡與外部總線交換數據的場所,RAID卡先將數據傳送到緩存,再由緩存和外邊數據總線交換數據
緩存的大小與速度是直接關系到RAID卡的實際傳輸速度的重要因素
不同的RAID卡出廠時配備的內存容量不同,一般為幾兆到數百兆容量不等
三、軟RAID磁盤陣列相關配置
1、創建軟RAID磁盤陣列步驟
(1)檢查是否已安裝mdadm軟件包
rpm -q mdadm
yum install -y mdadm
(2)使用fdisk工具將新磁盤設備/dev/sdb、/dev/sdc、/dev/sdd、/dev/sde划分出主分區sdb1、sdc1、sdd1、sde1,並且把分區類型的ID標記號改為"fd"
fdisk /dev/sdb
fdisk /dev/sdc
(3)創建RAID設備
創建RAID 5
mdadm -C -v /dev/md0 [-a yes] -15 -n3 /dev/sd[bcd]1 -x1 /dev/sde1
上述命令字段 | 說明 |
---|---|
-C | 表示新建 |
-v | 顯示創建過程中的詳細信息 |
/dev/md0 | 創建RAID 5的名稱 |
-a yes | --auto,表示如果有什么設備文件沒有存在的話就自動創建,可省略 |
-l | 指定RAID的級別。l5表示創建RAID 5 |
-n | 指定使用幾塊硬盤做RAID,n3表示使用3塊硬盤創建RAID |
/dev/sd[bcd]1 | |
-x | 指定使用幾塊硬盤做RAID的熱備用盤,x1表示保留1塊空閑的因公安作備用 |
/dev/sde1 | 指定用作於備用的磁盤 |
創建RAID 10(先做鏡像,再做條帶)
mdadm -Cv /dev/md0 -l1 n2 /dev/sd[bc]1
mdadm -Cv /dev/md1 -l1 n2 /dev/sd[de]1
madam -Cv /dev/md10 -l0 n2 /dev/md0 /dev/md1
2、查看RAID磁盤詳細信息
cat /proc/mdstat #還能查看創建RAID的進度
或
mdadm -D /dev/md0
也可用搭配watch -n命令來刷新進度情況,例如:
watch -n 10 'cat /proc/mdstat'
3、檢查磁盤是否已做RAID
mdadm -E /dev/sd[b-e]1
4、創建並掛載文件系統
mkfs -t xfs /dev/md0 #格式化,創建xfs文件系統
mkdir /myraid #創建掛載目錄
mount /dev/md0 /myraid/ #完成掛載
df -Th #查看掛載情況
cp /etc/fstab /etc/fstab.bak #備份配置文件
vim /etc/fastab #編輯配置文件
/dev/md0 /myraid xfs defaults 0 0 #添加自動掛載信息后保存重啟
5、實現故障恢復
mdadm /dev/md0 -f /dev/sdb1 #模擬/ev/sdb1故障
mdadm -D /dev/md0 #查看發現sde1已頂替sdb1(sde1已做熱備份)
6、創建/etc/mdadm.conf配置文件
由於raid創建后沒有配置文件,對於raid的管理來說極為不便,因此為方便管理軟RAID,比如啟動、停止等,我們可以通過創建/etc/mdadm.conf配置文件來加快工作效率
echo 'DEVICE /dev/sdc1 /dev/sdb1 /dev/sdd1 /dev/sde1' > /etc/mdadm.conf
mdadm --detail --scan >> /etc/mdadm.conf
7、RAID開機自啟設置
為raid設置開機自啟,可進入rc.sysinit啟動腳本文件中加入命令mdadm -As /dev/md0后即可
8、mdadm命令其他常用選項
常用選項 | 說明 |
---|---|
-r | 移除設備 |
-a | 添加設備 |
-S | 停止RAID |
-A | 啟動RAID |
-f | 模擬故障 |
-Q | 查看摘要信息 |
-D | 查看詳細信息 |
-s | 查找/etc/mdadm.conf文件中的配置信息 |
例如:
mdadm /dev/md0 -r /dev/sdb1
mdadm -S /dev/md0
mdadm -As /dev/md0