1. 程式人生 > >Linux-軟件RAID

Linux-軟件RAID

一個 創建文件系統 dstat tab 利用 視頻 應用 開機自動掛載 table

磁盤陣列是由很多價格較便宜的磁盤,組合成一個容量巨大的磁盤組,利用個別磁盤提供數據所產生加成效果提升整個磁盤系統效能。利用這項技術,將數據切割成許多區段,分別存放在各個硬盤上

磁盤陣列還能利用同位檢查的觀念,在數組中任意一個硬盤故障時,仍可讀出數據,在數據重構時,將數據經計算後重新置入新硬盤中

RAID檔次最少硬盤最大容錯可用容量讀取性能寫入性能安全性目的應用產業
單一硬盤 (參考) 0 1 1 1
JBOD 1 0 n 1 1 無(同RAID 0) 增加容量 個人(暫時)存儲備份
0 2 0 n n n 一個硬盤異常,全部硬盤都會異常 追求最大容量、速度 視頻剪接緩存用途
1 2 n-1 1 n 1 最高,一個正常即可 追求最大安全性 個人、企業備份
5 3 1 n-1 n-1 n-1 追求最大容量、最小預算 個人、企業備份
6 4 2 n-2 n-2 n-2 安全性較RAID 5高 同RAID 5,但較安全 個人、企業備份
10 4 n/2 n/2 n n/2 安全性高 綜合RAID 0/1優點,理論速度較快 大型數據庫、服務器

1. n代表硬盤總數

2. JBOD可接到現有硬盤,直接增加容量

3. 如果創建RAID的硬盤較大,可能需要一段時間,cat /proc/mdstat可以查看進度

創建好的軟件RAID對應/dev/mdn,n為數字

RAID信息保存在/proc/mdstat文件中,可通過mdadm命令查看

mdadm

-C 創建一個新的RAID

-S 關閉指定RAID,關閉前先卸載

-R 重新啟用指定RAID (需要重啟)

-D 查看RAID信息(cat /proc/mdstat也可以查看)

-a 自動創建對應設備

-l 指定RAID級別

-n 硬盤數量

-x 指定備份磁盤-x後面跟數字

-f 標示硬盤為故障

-r 移除硬盤

-a 添加新硬盤到RAID中

--zero-superblock /dev/sdb 刪除全部信息和數據(先關閉RAID)

例:

1. 創建RAID10,硬盤數量為4

mdadm -C /dev/md0 -a yes -l 10 -n 4 /dev/sdb /dev/sdc /dev/sdd /dev/sde

2. 創建文件系統之後掛載

mkfs.xfs -f /dev/md0

mount /dev/md0 /home/

3. 設置開機自動掛載

vim /etc/fstab

/dev/md0 /home xfs defaults 0 0

1. 批量創建文件測試數據是否丟失

cd /home

touch {1..20}

2. 標示sdb為故障硬盤,然後移除

mdadm /dev/md0 -f /dev/sdb

mdadm /dev/md0 -r /dev/sdb

ll /home/ 查看數據是否丟失

添加一塊硬盤

cat /proc/mdstat發現[4/3]

正在重建

mdadm /dev/md0 -a /dev/sdb

cat /proc/mdstat

[=========>...........] recovery = 45.9%

Linux-軟件RAID