CentOS7 部署 RAID 磁盤陣列
- 一、RAID 磁盤陣列概述
- 二、RAID 作業模式
- 1.RAID 0
- 2.RAID 1
- 3.RAID 5
- 4.RAID 10
- 三、部署 RAID 磁盤陣列
- 1.創建 RAID 0
- 2.創建 RAID 1
- 3.創建 RAID 5
- 4.模擬磁盤損壞
- 5.向 RAID 中增加存盤硬碟
- 6.創建 RAID 10
一、RAID 磁盤陣列概述
RAID (Redundant Array of lndependent Disk 獨立冗余磁盤陣列)就是把多塊獨立的物理磁盤按不同的方式組合起來形成一個磁盤組(邏輯硬碟),從而提供比單個磁盤更高的存盤性能和提供資料備份技術,
二、RAID 作業模式
RAID 0,RAID 1,RAID 5,RAID 10
1.RAID 0
- RAID0 可以被稱為帶區卷,它將兩個以上的磁盤并聯起來,成為一個大容量的磁盤;
- 在存放資料時,分段后分散存盤在這些磁盤中,因為讀寫時都可以并行處理,所以在所有的級別中,RAID0 的速度是最快的;
- 但是 RAID0 既沒有冗余功能,也不具備容錯能力,如果一個磁盤(物理)損壞,所有資料都會丟失,

| 容錯性 | 無 | 冗余型別 | 無 |
|---|---|---|---|
| 熱備盤 | 無 | 讀性能 | 高 |
| 隨機寫性能 | 高 | 連續寫性能 | 高 |
| 需要的磁盤數 | 1+N | 可用容量 | N* |
- 典型應用:對資料安全性要求不高,但對讀寫性能要求極高,如圖形作業站等,
2.RAID 1
- RAID1 把一個磁盤的資料鏡像到另一個磁盤上,在不影響性能的情況下最大限度的保證系統的可靠性和可修復性上;
- 具有很高的資料冗余能力,但磁盤利用率為 50%,因為成本最高,所以多用在保護關鍵性的重要資料的場合;
- RAID1 的操作方式是把用戶寫入磁盤的資料百分百地復制到另外一個磁盤上,

| 容錯性 | 有 | 冗余型別 | 鏡像 |
|---|---|---|---|
| 熱備盤 | 有 | 讀性能 | 低(與單塊磁盤一樣) |
| 隨機寫性能 | 低 | 連續寫性能 | 低 |
| 需要的磁盤數 | 2*N(N 代表磁盤數量) | 可用容量 | N/2 |
- 典型應用:對資料安全性要求極高,但是讀寫效率低,用于服務器或資料庫存盤等,
3.RAID 5
- RAID5 可以理解為 RAID0 和 RAID1 的折中方案;
- RAID5 可以為系統提供資料安全保障,但保障程度要比 RAID1 低,而磁盤空間利用率要比 Mirror 高;
- RAID5 具有和 RAID0 相近似的資料讀取速度,只是多了一個奇偶校驗資訊,RAID5 的磁盤空間利用率要比 RAID1 高,儲存成本相對較低,

| 容錯性 | 有 | 冗余型別 | 奇偶校驗資訊存盤 |
|---|---|---|---|
| 熱備盤 | 有 | 讀性能 | 高(與RAID0 相近) |
| 隨機寫性能 | 較低 | 連續寫性能 | 較低 |
| 需要的磁盤數 | 大于等于 3 | 可用容量 | N - 1 |
- 典型應用:隨機資料傳輸要求安全性高,如金融、資料庫、存盤等,
4.RAID 10
- RAID10 是一個 RAID0 和 RAID1 的組合體,所以它繼承了 RAID0 的快速和 RAID1 的安全;
- RAID1 在這里就是一個冗余的備份陣列,而 RAID0 則負責資料的讀寫陣列;
- 情況是從主通道分出兩路,在 Striping 操作,即把資料分隔,而這分出來的每一路再分兩路,做 Mirrorinig 操作,即互做鏡像,

| 容錯性 | 有 | 冗余型別 | 鏡像 |
|---|---|---|---|
| 熱備盤 | 有 | 讀性能 | 高(與 RAID0 相近) |
| 隨機寫性能 | 低 | 連續寫性能 | 低 |
| 需要的磁盤數 | N*2(N 需要大于等于 2) | 可用容量 | N/2 |
- 典型應用:集成了 RAID0 和 RAID1 的優點,
三、部署 RAID 磁盤陣列
- 準備四塊 20G 的硬碟,每塊硬碟分四個磁區,每個磁區 5G
[root@localhost ~]# fdisk /dev/sdb
n #創建磁區
p #創建普通磁區
回車
回車
+5G #分配5G記憶體
t #更改磁區型別為RAID型別 (只是為了方便記住)
回車
fd #fd型別就是RAID
以上步驟依次類推,配置其它磁區也是如此

使用 partprobe 命令同步磁區情況
[root@localhost ~]# partprobe

1.創建 RAID 0
[root@localhost ~]# yum -y install mdadm #安裝RAID管理工具
[root@localhost ~]# mdadm -C /dev/md0 -a yes -l 0 -n 2 /dev/sdb1 /dev/sdc1
注解:
| 選項 | 全稱 | 作用 |
|---|---|---|
| -C | --create | 創建陣列 |
| -a | --auto | 同意創建設備 |
| -l | --level | 陣列模式 |
| -n | --reid-devices | 陣列中活動磁盤的數目 |
| -x | --spare-devices=N | 表示當前陣列中熱備盤有 N 塊(自定義 N 數量即可) |
| -S | --stop | 關閉陣列(關閉前需先取消掛載) |
1)查看 RAID0 狀態
[root@localhost ~]# cat /proc/mdstat #查看概要資訊
[root@localhost ~]# mdadm -D /dev/md0 #查看更詳細的資訊

注解:
- Raid Level:陣列級別,
- Array Size:陣列容量大小,
- Raid Devices:RAID 成員的個數,
- Total Devices:RAID 中下屬成員的總計個數,因為還有冗余硬碟或磁區,也就是 spare,
- State:包含三個狀態(
clean表示正常,degraded表示有問題,recovering表示正在恢復或構建) - Active Devices:被激活的 RAID 成員個數,
- Working Devices:正常作業的 RAID 成員個數,
- Failed Devices:出問題的 RAID 成員,
- Spare Devices:備用 RAID 成員個數(會自動替換出現問題的成員),
- UUID:RAID 的 UUID 值,在系統中是唯一的,
2)創建 mdadm 組態檔
- 創建 mdadm 原因:因為每次系統重啟時,RAID 的 UUID 都會變化,所以創建 mdadm 檔案就是為了每次重啟自動加載軟 RAID,
[root@localhost ~]# echo "DEVICE /dev/sdb1 /dev/sdc1" > /etc/mdadm.conf #指定軟 RAID 設備
[root@localhost ~]# mdadm -Ds /dev/md0 >> /etc/mdadm.conf #將 RAID0 的 UUID 追加到該目錄

3)格式化磁盤陣列
[root@localhost ~]# mkfs.xfs /dev/md0 #格式化為 xfs 檔案系統
4)建立掛載點并掛載
[root@localhost ~]# mkdir /raid0 #創建掛載點
[root@localhost ~]# mount /dev/md0 /raid0/ #掛載
[root@localhost ~]# df -hT #查看磁盤使用情況
[root@localhost ~]# echo "/dev/md0 /raid0 xfs defaults 0 0" >> /etc/fstab

5)驗證 RAID0 是否開機自動掛載
[root@localhost ~]# reboot #重啟
[root@localhost ~]# df -hT #查看磁盤使用情況

2.創建 RAID 1
[root@localhost ~]# mdadm -C /dev/md1 -a yes -l 1 -n 2 /dev/sdb2 /dev/sdc2

1)查看 RAID1 狀態
[root@localhost ~]# mdadm -D /dev/md1 #查看更詳細的資訊

注解:
- Used Dev Size:RAID 成員容量大小,
2)修改 mdadm 組態檔
[root@localhost ~]# echo "DEVICE /dev/sdb2 /dev/sdc2" >> /etc/mdadm.conf #指定軟 RAID 設備
[root@localhost ~]# mdadm -Ds /dev/md1 >> /etc/mdadm.conf

3)格式化磁盤陣列
[root@localhost ~]# mkfs.xfs /dev/md1 #格式化為 xfs 檔案系統
4)建立掛載點并掛載
[root@localhost ~]# mkdir /raid1 #創建掛載點
[root@localhost ~]# mount /dev/md1 /raid1/ #掛載
[root@localhost ~]# df -hT #查看磁盤使用情況
[root@localhost ~]# echo "/dev/md1 /raid1 xfs defaults 0 0" >> /etc/fstab

5)驗證 RAID0 是否開機自動掛載
[root@localhost ~]# reboot #重啟
[root@localhost ~]# df -hT #查看磁盤使用情況

3.創建 RAID 5
- 注意:RAID5 至少需要三塊硬碟
[root@localhost ~]# mdadm -C /dev/md5 -a yes -l 5 -n 3 -x 1 /dev/sdb3 /dev/sdc3 /dev/sdd1 /dev/sde1

1)查看 RAID5 狀態
[root@localhost ~]# mdadm -D /dev/md5

2)修改 mdadm 組態檔
[root@localhost ~]# echo "DEVICE /dev/sdb3 /dev/sdc3 /dev/sdd1 /dev/sde1" >> /etc/mdadm.conf
[root@localhost ~]# mdadm -Ds /dev/md5 >> /etc/mdadm.conf

3)格式化磁盤陣列
[root@localhost ~]# mkfs.xfs /dev/md5
4)建立掛載點并掛載
[root@localhost ~]# mkdir /raid5 #創建掛載點
[root@localhost ~]# mount /dev/md5 /raid5/ #掛載
[root@localhost ~]# df -hT #查看磁盤使用情況
[root@localhost ~]# echo "/dev/md5 /raid5 xfs defaults 0 0" >> /etc/fstab

5)向 /raid5 里面寫入測驗資料
[root@localhost ~]# cd /raid5/
[root@localhost raid5]# touch zhangsan.txt
[root@localhost raid5]# touch wangwu.txt
[root@localhost raid5]# ls
wangwu.txt zhangsan.txt
4.模擬磁盤損壞
- 在實際中,當軟 RAID 檢測到某個硬碟有故障時,會自動標記該磁盤為故障磁盤,并停止對故障磁盤的讀寫操作,
1)對 RAID5 進行模擬故障操作
[root@localhost ~]# mdadm /dev/md5 -f /dev/sdd1

2)查看重建狀態
- 當一個設備出現故障或被標記故障時,相應設備的方括號后將被標以 (F),
[root@localhost ~]# cat /proc/mdstat

3)查看之前寫入的測驗資料是否還在
[root@localhost ~]# ls /raid5/

4)重建完畢后查看陣列狀態
[root@localhost ~]# cat /proc/mdstat

5)移除損壞的磁盤
[root@localhost ~]# mdadm /dev/md5 -r /dev/sdd1

6)再次查看 /dev/md5 狀態
[root@localhost ~]# mdadm -D /dev/md5

7)新加熱備磁盤
[root@localhost ~]# mdadm /dev/md5 -a /dev/sdd1

8)查看 /dev/md5 狀態
[root@localhost ~]# mdadm -D /dev/md5

5.向 RAID 中增加存盤硬碟
- 如果現在已經做好的 RAID 空間還是不夠用的話,那么我們可以向里面增加新的硬碟,來增加 RAID 的空間,
1)向 RAID 中新加一塊硬碟
[root@localhost ~]# mdadm /dev/md5 -a /dev/sdd2

2)查看此時的 RAID 狀態
[root@localhost ~]# mdadm -D /dev/md5

- 默認情況下,我們向 RAID 中增加的磁盤,會被默認當作熱備盤,我們把熱備盤加入到 RAID 的活動盤中,
3)熱備盤轉換成活動盤
[root@localhost ~]# mdadm -G /dev/md5 -n 4

4)查看此時的 RAID 狀態
[root@localhost ~]# mdadm -D /dev/md5

5)擴容檔案系統
- RAID 構建完畢后,陣列容量增加,但是檔案系統還沒有增加,這時我們還需要對檔案系統進行擴容,
[root@localhost ~]# xfs_growfs /dev/md5

6)修改 RAID 組態檔
[root@localhost ~]# vim /etc/mdadm.conf
將原來的 RAID5 配置洗掉
[root@localhost ~]# echo "DEVICE /dev/sdb3 /dev/sdc3 /dev/sdd2 /dev/sde1" >> /etc/mdadm.conf
[root@localhost ~]# mdadm -Ds /dev/md5 >> /etc/mdadm.conf
7)驗證 RAID5 是否開機自動掛載
[root@localhost ~]# reboot
[root@localhost ~]# df -hT

6.創建 RAID 10
- 注意:RAID10 至少需要四塊硬碟
[root@localhost ~]# mdadm -C /dev/md10 -a yes -l 10 -n 4 /dev/sdb4 /dev/sdc4 /dev/sdd4 /dev/sde4

1)查看 RAID10 狀態
[root@localhost ~]# mdadm -D /dev/md10

2)修改 mdadm 組態檔
[root@localhost ~]# echo "DEVICE /dev/sdb4 /dev/sdc4 /dev/sdd4 /dev/sde4" >> /etc/mdadm.conf
[root@localhost ~]# mdadm -Ds /dev/md10 >> /etc/mdadm.conf

3)格式化磁盤陣列
[root@localhost ~]# mkfs.xfs /dev/md10 #格式化為 xfs 檔案格式
4)建立掛載點并掛載
[root@localhost ~]# mkdir /raid10 #創建掛載目錄
[root@localhost ~]# mount /dev/md10 /raid10/ #掛載
[root@localhost ~]# df -hT #查看磁盤使用情況
[root@localhost ~]# echo "/dev/md10 /raid10 xfs defaults 0 0" >> /etc/fstab

7)驗證 RAID10 是否開機自動掛載
[root@localhost ~]# reboot
[root@localhost ~]# df -hT

轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/274835.html
標籤:其他
上一篇:Centos7安裝nginx
