CentOS 7.5下配置軟RAID(Software RAID)


一、RAID 簡介

RAID 是英文Redundant Array of Independent Disks 的縮寫,翻譯成中文意思是"獨立磁盤冗余陣列",有時也簡稱磁盤陣列(Disk Array)。

簡單的說,RAID是一種把多塊獨立的硬盤(物理硬盤)按不同的方式組合起來形成一個硬盤組(邏輯硬盤),從而提供比單個硬盤更高的存儲性能和提供數據備份的技術。

組成磁盤陣列的不同方式稱為RAID級別(RAID Levels),常見的RAID Level 包括raid0, raid1, raid5, raid10。各level 對比如下:

RAID等級

最少硬盤

最大容錯

可用容量

讀取性能

寫入性能

安全性

目的

應用產業

0

2

0

n

n

n

一個硬盤異常,全部硬盤都會異常

追求最大容量、速度

3D產業實時渲染、視頻剪接高速緩存

1

2

n-1

1

n

1

最高,一個正常即可

追求最大安全性

個人、企業備份

5

3

1

n-1

n-1

n-1

追求最大容量、最小預算

個人、企業備份

10

4

n/2

n/2

n

n/2

安全性高

綜合RAID 0/1優點,理論速度較快

大型數據庫、服務器

說明:n 代表硬盤總數

二、系統環境

實驗環境:VMware® Workstation 14 Pro

系統平台:CentOS Linux release 7.5.1804 (Core)

mdadm 版本:mdadm - v4.0 - 2017-01-09

三、設置磁盤

在VMware 里模擬物理增加磁盤,在這篇文章中,我們將創建RAID0, RAID1, RAID5分區,RAID0 需要兩塊硬盤,RAID1 需要兩塊硬盤,RAID5需要四塊硬盤,所以在這里添加了八塊物理硬盤,每塊1.00 GB.

在Linux 系統里使用fdisk –l 命令查看。

四、安裝mdadm

mdadm 是multiple devices admin 的簡稱,它是Linux下的一款標准的軟件RAID 管理工具。

4.1 查看是否安裝了mdadm軟件

# rpm -qa|grep mdadm

4.2 如果未安裝,則使用yum 方式安裝。

yum install mdadm

准備工作完畢,下面可以着手創建raid 了。

五、創建RAID0

5.1 新建分區

創建RAID0 需要兩塊硬盤,所以我們拿/dev/sdb 和/dev/sdc 來實驗。

# fdisk /dev/sdb //sdb 進行分區

輸入"m", 獲取幫助,輸入"p", 查看分區前磁盤狀態

輸入"n" 新建分區,這里我們將整個磁盤都划分成一個分區,然后輸入"p" 查看分區情況。

5.2 修改分區類型

默認新建分區的類型是Linux,代號83,我們需要將其修改為raid 類型。輸入"t" ,然后輸入"L" 列出所有的文件格式,這里我們選擇"fd Linux raid auto", 輸入"fd",然后再輸入"p" 查看分區情況,這是分區格式已經變成了Linux raid autodetect.

5.3 保存分區

輸入"w" 保存分區。

使用同樣方法對/dev/sdc 進行分區操作。

5.4 同步分區情況

使用partprobe 命令同步分區情況。

5.5 查看現在的狀態

# fdisk -l /dev/sdb /dev/sdc

5.6 開始創建RAID0

# mdadm -C /dev/md0 -ayes -l0 -n2 /dev/sd[b,c]1

說明:

-C  --create  創建陣列;

-a  --auto   同意創建設備,如不加此參數時必須先使用mknod 命令來創建一個RAID設備,不過推薦使用-a yes參數一次性創建;

-l   --level   陣列模式,支持的陣列模式有 linear, raid0, raid1, raid4, raid5, raid6, raid10, multipath, faulty, container;

-n --raid-devices 陣列中活動磁盤的數目,該數目加上備用磁盤的數目應該等於陣列中總的磁盤數目;

/dev/md0     陣列的設備名稱;

/dev/sd{b,c}1  參與創建陣列的磁盤名稱;

5.7 查看raid0 狀態

# cat /proc/mdstat

# mdadm -D /dev/md0

說明:Raid Level : 陣列級別;

   Array Size : 陣列容量大小;

   Raid Devices : RAID成員的個數;

   Total Devices : RAID中下屬成員的總計個數,因為還有冗余硬盤或分區,也就是spare,為了RAID的正常運行,隨時可以推上去加入RAID的;

   State : clean, degraded, recovering 狀態,包括三個狀態,clean 表示正常,degraded 表示有問題,recovering 表示正在恢復或構建;

   Active Devices : 被激活的RAID成員個數;

   Working Devices : 正常的工作的RAID成員個數;

   Failed Devices : 出問題的RAID成員;

   Spare Devices : 備用RAID成員個數,當一個RAID的成員出問題時,用其它硬盤或分區來頂替時,RAID要進行構建,在沒構建完成時,這個成員也會被認為是spare設備;

   UUID : RAID的UUID值,在系統中是唯一的;

5.8 創建RAID 配置文件/etc/mdadm.conf

RAID 的配置文件為/etc/mdadm.conf,默認是不存在的,需要手工創建。

該配置文件的主要作用是系統啟動的時候能夠自動加載軟RAID,同時也方便日后管理。但不是必須的,推薦對該文件進行配置。

我們這里需要創建這個文件,測試中發現,如果沒有這個文件,則reboot 后,已經創建好的md0 會自動變成md127。

/etc/mdadm.conf 文件內容包括:

由DEVICE 選項指定用於軟RAID的所有設備,和ARRAY 選項所指定陣列的設備名、RAID級別、陣列中活動設備的數目以及設備的UUID號。

5.8.1 創建/etc/mdadm.conf

# echo DEVICE /dev/sd{b,c}1 >> /etc/mdadm.conf

# mdadm –Ds >> /etc/mdadm.conf

5.8.2 修改配置文件

查看配置文件/etc/mdadm.conf內容:

# cat /etc/mdadm.conf

DEVICE /dev/sdb1 /dev/sdc1

ARRAY /dev/md0 metadata=1.2 name=localhost.localdomain:0 UUID=33d3740b:c04ba090:22035d27:2f646d3f

5.9 格式化磁盤陣列

# mkfs.ext4 /dev/md0

5.10 建立掛載點並掛載

# mkdir /raid0

# mount /dev/md0 /raid0/

可以看到,/dev/md0 的可用大小為2G。

5.11 寫入/etc/fstab

為了下次開機還能正常使用我們的RAID設備,需要將掛載的信息寫入/etc/fstab 文件中。

然后reboot 測試開機是否自動掛載,raid0 創建完畢。

六、創建RAID1

和創建raid0 類似,我們拿/dev/sdd 和/dev/sde 這兩塊硬盤來做實驗。

6.1 新建分區並修改分區類型

使用同樣方法對/dev/sde 進行分區操作,分區結果如下:

6.2 開始創建RAID1

# mdadm -C /dev/md1 -ayes -l1 -n2 /dev/sd[d,e]1

6.3 查看raid1 狀態

# cat /proc/mdstat

# mdadm -D /dev/md1

6.4 添加raid1 到RAID 配置文件

# echo DEVICE /dev/sd{b,c}1 >> /etc/mdadm.conf

# mdadm –Ds >> /etc/mdadm.conf

6.5 格式化磁盤陣列

# mkfs.ext4 /dev/md1

6.6 建立掛載點並掛載

# mkdir /raid1

# mount /dev/md1 /raid1/

可以看到,/dev/md1 的可用大小為0.99G。

6.7 寫入/etc/fstab

然后reboot 測試開機是否自動掛載,raid1 創建完畢。

七、創建RAID5

RAID5 至少需要三塊硬盤,我們拿/dev/sdf, /dev/sdg, /dev/sdh, /dev/sdi 這四塊硬盤來做實驗,三塊做為活動盤,另一塊做為熱備盤。

7.1 新建分區並修改分區類型

分區結果如下:

7.2 開始創建RAID5

# mdadm -C /dev/md5 -ayes -l5 –n3 -x1 /dev/sd[f,g,h,i]1

說明:"-x1" 或"–spare-devices=1" 表示當前陣列中熱備盤只有一塊,若有多塊熱備盤,則將"–spare-devices" 的值設置為相應的數目。

7.3 查看raid5 狀態

# cat /proc/mdstat

# mdadm -D /dev/md5

說明:spare /dev/sdi1 熱備盤

7.4 添加raid5 到RAID配置文件

# echo DEVICE /dev/sd{f,g,h,i}1 >> /etc/mdadm.conf

# mdadm –Ds >> /etc/mdadm.conf

7.5 格式化磁盤陣列

# mkfs.ext4 /dev/md5

7.6 建立掛載點並掛載

# mkdir /raid5

# mount /dev/md5 /raid5/

raid5 的可用大小為2G,即(3-1)x 1G.

向 /raid5 里面寫入測試數據:

# touch test_raid5_1.txt

# touch test_raid5_2.txt

# ll

7.7 寫入 /etc/fstab

然后reboot 測試開機是否自動掛載,raid5 創建完畢。

八、RAID維護

RAID 做好之后,還需要進行日常的維護操作,比如其中一塊物理硬盤損壞,我們需要進行更換故障磁盤的操作,下面我們將模擬raid5 中磁盤損壞來講解軟RAID 的維護操作。

8.1 模擬磁盤損壞

在實際中,當軟RAID 檢測到某個磁盤有故障時,會自動標記該磁盤為故障磁盤,並停止對故障磁盤的讀寫操作。在這里我們將/dev/sdh1 模擬為出現故障的磁盤,命令如下:

# mdadm /dev/md5 -f /dev/sdh1

8.2 查看重建狀態

在上面創建RAID 5過程中,我們設置了一個熱備盤,所以當有標記為故障磁盤的時候,熱備盤會自動頂替故障磁盤工作,陣列也能夠在短時間內實現重建。通過查看"/proc/mdstat" 文件可以看到當前陣列的狀態,如下:

當一個設備出現故障或被標記故障時,相應設備的方括號后將被標以(F),如 "sdh14"。

其中 "[3/2]" 的第一位數表示陣列所包含的設備數,第二位數表示活動的設備數,因為目前有一個故障設備,所以第二位數為2;

這時的陣列以降級模式運行,雖然該陣列仍然可用,但是不具有數據冗余;

而 "[UU_]" 表示當前陣列可以正常使用的設備是/dev/sdf1 和/dev/sdg1,如果是設備 "/dev/sdf1" 出現故障時,則將變成[_UU]。

8.3 查看之前寫入的測試數據是否還在

數據正常,未丟失。

8.4 重建完畢后查看陣列狀態

當前的RAID 設備又恢復了正常。

8.5 移除損壞的磁盤

移除剛才模擬出現故障的/dev/sdh1,操作如下:

# mdadm /dev/md5 -r /dev/sdh1

8.6 再次查看md5的狀態

/dev/sdh1 已經移除了。

8.7 新加熱備磁盤

如果是實際生產中添加新的硬盤,同樣需要對新硬盤進行創建分區的操作,這里我們為了方便,將剛才模擬損壞的硬盤再次新加到raid5 中。

# mdadm /dev/md5 -a /dev/sdh1

8.8 查看raid5 陣列狀態

/dev/sdh1 已經變成了熱備盤。

8.9 查看測試數據

數據正常,未丟失。故障切換測試完畢。

九、向RAID中增加存儲硬盤

如果現在已經做好的RAID 空間還是不夠用的話,那么我們可以向里面增加新的硬盤,來增加RAID 的空間。

9.1 在虛擬機中添加物理硬盤

上面我們已經在虛擬機中添加了八塊硬盤,這里需要模擬新增硬盤,所以首先將虛擬機關閉,然后在存儲里再次新增一塊1GB的硬盤。然后分區等等操作,這里不再贅述。

9.2 向RAID 中新加一塊硬盤

# mdadm /dev/md5 -a /dev/sdj1

查看此時的RAID 狀態

默認情況下,我們向RAID 中增加的磁盤,會被默認當作熱備盤,我們需要把熱備盤加入到RAID 的活動盤中。

9.3 熱備盤轉換成活動盤

# mdadm -G /dev/md5 -n4

查看此時RAID 狀態

/dev/sdj1 已經變成了活動盤,但是Array Size並沒有變大,這是因為構建沒有完成,圖中也可以看出Status 為clean, reshaping。等RAID 完成構建后,RAID的容量就會改變為(4-1)*1GB,查看進度可以參考Reshape Status,也可以參考/proc/mdstat.

構建完畢后的RAID 狀態:

Array Size : 2.99 GB,磁盤容量已經增加了。

9.4 擴容文件系統

RAID 構建完畢后,陣列容量增加,但是文件系統還沒有增加,這時我們還需要對文件系統進行擴容。

# df –TH

# resize2fs /dev/md5

# df –TH

文件系統已經擴容到3G,而且測試數據正常,未丟失,新增物理硬盤成功。

9.5 修改RAID 配置文件

9.6 reboot 測試

重啟系統后,一切正常,Linux下配置軟RAID成功。

十、刪除RAID設備

以下已raid5為例:

10.1、卸載raid設備

# umount /dev/md5

10.2、停止raid設備

# mdadm -S /dev/md5

如果停止raid后,需要啟動raid,則:

#mdadm -A -s /dev/md5

停止raid:

mdadm -S /dev/md5

10.3、移除raid里面的磁盤

mdadm --misc --zero-superblock /dev/sdf1

mdadm --misc --zero-superblock /dev/sdg1

mdadm --misc --zero-superblock /dev/sdh1

mdadm --misc --zero-superblock /dev/sdi1

mdadm --misc --zero-superblock /dev/sdj1

10.4、刪除配置文件內容

# cat /etc/mdadm.conf

# cat /etc/fstab

重啟,檢查raid已經刪除完畢。

參考

https://www.cnblogs.com/mchina/p/linux-centos-disk-array-software_raid.html

http://www.opsers.org/base/learning-linux-the-day-that-the-system-configuration-in-the-rhel6-disk-array-raid.html

 

CentOS 6.3下配置軟RAIDSoftware RAID

一、RAID 簡介

RAID 是英文Redundant Array of Independent Disks 的縮寫,翻譯成中文意思是"獨立磁盤冗余陣列",有時也簡稱磁盤陣列(Disk Array)。

簡單的說,RAID是一種把多塊獨立的硬盤(物理硬盤)按不同的方式組合起來形成一個硬盤組(邏輯硬盤),從而提供比單個硬盤更高的存儲性能和提供數據備份的技術。

組成磁盤陣列的不同方式稱為RAID級別(RAID Levels),常見的RAID Level 包括raid0, raid1, raid5, raid10。各level 對比如下:

RAID等級

最少硬盤

最大容錯

可用容量

讀取性能

寫入性能

安全性

目的

應用產業

0

2

0

n

n

n

一個硬盤異常,全部硬盤都會異常

追求最大容量、速度

3D產業實時渲染、視頻剪接高速緩存

1

2

n-1

1

n

1

最高,一個正常即可

追求最大安全性

個人、企業備份

5

3

1

n-1

n-1

n-1

追求最大容量、最小預算

個人、企業備份

10

4

n/2

n/2

n

n/2

安全性高

綜合RAID 0/1優點,理論速度較快

大型數據庫、服務器

說明:n 代表硬盤總數

關於RAID的詳細介紹,請參考:http://zh.wikipedia.org/wiki/RAID

二、系統環境

實驗環境:Oracle VM VirtualBox

系統平台:CentOS release 6.3 (Final)

mdadm 版本:mdadm - v3.2.6 - 25th October 2012

三、設置磁盤

Oracle VM VirtualBox 里模擬物理增加磁盤,在這篇文章中,我們將創建RAID0, RAID1, RAID5分區,RAID0 需要兩塊硬盤,RAID1 需要兩塊硬盤,RAID5需要四塊硬盤,所以在這里添加了八塊物理硬盤,每塊5.00 GB.

Linux 系統里使用fdisk –l 命令查看。

四、安裝mdadm

mdadm multiple devices admin 的簡稱,它是Linux下的一款標准的軟件RAID 管理工具。

4.1 查看是否安裝了mdadm軟件

# rpm -qa|grep mdadm

4.2 如果未安裝,則使用yum 方式安裝。

准備工作完畢,下面可以着手創建raid 了。

五、創建RAID0

5.1 新建分區

創建RAID0 需要兩塊硬盤,所以我們拿/dev/sdb /dev/sdc 來實驗。

# fdisk /dev/sdb        //sdb 進行分區

輸入"m", 獲取幫助,輸入"p", 查看分區前磁盤狀態,其他Command action 具體含義請自行Google, Baidu

輸入"n" 新建分區,這里我們將整個磁盤都划分成一個分區,然后輸入"p" 查看分區情況。

5.2 修改分區類型

默認新建分區的類型是Linux,代號83,我們需要將其修改為raid 類型。輸入"t" ,然后輸入"L" 列出所有的文件格式,這里我們選擇"fd Linux raid auto", 輸入"fd",然后再輸入"p" 查看分區情況,這是分區格式已經變成了Linux raid autodetect.

5.3 保存分區

輸入"w" 保存分區。

使用同樣方法對/dev/sdc 進行分區操作。

5.4 同步分區情況

使用partprobe 命令同步分區情況。

5.5 查看現在的狀態

# fdisk -l /dev/sdb /dev/sdc

5.6 開始創建RAID0

# mdadm -C /dev/md0 -ayes -l0 -n2 /dev/sd[b,c]1

說明:

-C  --create   創建陣列;

-a  --auto    同意創建設備,如不加此參數時必須先使用mknod 命令來創建一個RAID設備,不過推薦使用-a yes參數一次性創建;

-l   --level   陣列模式,支持的陣列模式有 linear, raid0, raid1, raid4, raid5, raid6, raid10, multipath, faulty, container

-n     --raid-devices    陣列中活動磁盤的數目,該數目加上備用磁盤的數目應該等於陣列中總的磁盤數目;

/dev/md0     陣列的設備名稱;

/dev/sd{b,c}1  參與創建陣列的磁盤名稱;

5.7 查看raid0 狀態

# cat /proc/mdstat

# mdadm -D /dev/md0

說明:Raid Level : 陣列級別; 

   Array Size : 陣列容量大小;

   Raid Devices : RAID成員的個數;

   Total Devices : RAID中下屬成員的總計個數,因為還有冗余硬盤或分區,也就是spare,為了RAID的正常運珩,隨時可以推上去加入RAID的;

   State : clean, degraded, recovering 狀態,包括三個狀態,clean 表示正常,degraded 表示有問題,recovering 表示正在恢復或構建;

   Active Devices : 被激活的RAID成員個數;

   Working Devices : 正常的工作的RAID成員個數;

   Failed Devices : 出問題的RAID成員;

   Spare Devices : 備用RAID成員個數,當一個RAID的成員出問題時,用其它硬盤或分區來頂替時,RAID要進行構建,在沒構建完成時,這個成員也會被認為是spare設備;

   UUID : RAIDUUID值,在系統中是唯一的;

5.8 創建RAID 配置文件/etc/mdadm.conf

RAID 的配置文件為/etc/mdadm.conf,默認是不存在的,需要手工創建。

該配置文件的主要作用是系統啟動的時候能夠自動加載軟RAID,同時也方便日后管理。但不是必須的,推薦對該文件進行配置。

我們這里需要創建這個文件,測試中發現,如果沒有這個文件,則reboot 后,已經創建好的md0 會自動變成md127

/etc/mdadm.conf 文件內容包括:

DEVICE 選項指定用於軟RAID的所有設備,和ARRAY 選項所指定陣列的設備名、RAID級別、陣列中活動設備的數目以及設備的UUID號。

5.8.1 創建/etc/mdadm.conf

# echo DEVICE /dev/sd{b,c}1 >> /etc/mdadm.conf

# mdadm –Ds >> /etc/mdadm.conf

5.8.2 修改配置文件

當前生成的/etc/mdadm.conf 文件內容並不符合所規定的格式,所以也是不生效的,這時需要手工修改該文件內容為如下格式:

# cat /etc/mdadm.conf

DEVICE /dev/sdb1 /dev/sdc1

ARRAY /dev/md0 level=raid0 num-devices=2 UUID=5160ea40:cb2b44f1:c650d2ef:0db09fd0

5.9 格式化磁盤陣列

# mkfs.ext4 /dev/md0

5.10 建立掛載點並掛載

# mkdir /raid0

# mount /dev/md0 /raid0/

可以看到,/dev/md0 的可用大小為9.9G

5.11 寫入/etc/fstab

為了下次開機還能正常使用我們的RAID設備,需要將掛載的信息寫入/etc/fstab 文件中。

然后reboot 測試開機是否自動掛載,raid0 創建完畢。

六、創建RAID1

和創建raid0 類似,我們拿/dev/sdd /dev/sde 這兩塊硬盤來做實驗。

6.1 新建分區並修改分區類型

使用同樣方法對/dev/sde 進行分區操作,分區結果如下:

6.2 開始創建RAID1

# mdadm -C /dev/md1 -ayes -l1 -n2 /dev/sd[d,e]1

6.3 查看raid1 狀態

# cat /proc/mdstat

# mdadm -D /dev/md1

說明:Used Dev Size : RAID單位成員容量大小,也就是構成RAID的成員硬盤或分區的容量的大小;

可以看到,raid1 正在創建,待創建完畢,狀態如下:

6.4 添加raid1 RAID 配置文件/etc/mdadm.conf 並修改

# echo DEVICE /dev/sd{b,c}1 >> /etc/mdadm.conf

# mdadm –Ds >> /etc/mdadm.conf

6.5 格式化磁盤陣列

# mkfs.ext4 /dev/md1

6.6 建立掛載點並掛載

# mkdir /raid1

# mount /dev/md1 /raid1/

可以看到,/dev/md1 的可用大小為4.9G

6.7 寫入/etc/fstab

然后reboot 測試開機是否自動掛載,raid1 創建完畢。

七、創建RAID5

RAID5 至少需要三塊硬盤,我們拿/dev/sdf, /dev/sdg, /dev/sdh, /dev/sdi 這四塊硬盤來做實驗,三塊做為活動盤,另一塊做為熱備盤。

7.1 新建分區並修改分區類型

分區結果如下:

7.2 開始創建RAID5

# mdadm -C /dev/md5 -ayes -l5 –n3 -x1 /dev/sd[f,g,h,i]1

說明:"-x1" "--spare-devices=1" 表示當前陣列中熱備盤只有一塊,若有多塊熱備盤,則將"--spare-devices" 的值設置為相應的數目。

7.3 查看raid5 狀態

# cat /proc/mdstat

# mdadm -D /dev/md5

說明:Rebuild Status : RAID 的構建進度;

         4 8 113 2 spare rebuilding /dev/sdh1 注:未被激活,正在構建中的成員,正在傳輸數據;

         3 8 129 - spare /dev/sdi1 熱備盤

raid5 正在創建,而且速度很慢,待創建完畢,狀態如下:

7.4 添加raid5 RAID配置文件/etc/mdadm.conf 並修改

# echo DEVICE /dev/sd{f,g,h,i}1 >> /etc/mdadm.conf

# mdadm –Ds >> /etc/mdadm.conf

7.5 格式化磁盤陣列

# mkfs.ext4 /dev/md5

7.6 建立掛載點並掛載

# mkdir /raid5

# mount /dev/md5 /raid5/

raid5 的可用大小為9.9G,即(3-1x 5G.

/raid5 里面寫入測試數據:

# touch test_raid5.failed
# touch test_raid5.fail
# ls

7.7 寫入 /etc/fstab

然后reboot 測試開機是否自動掛載,raid5 創建完畢。

八、RAID維護

RAID 做好之后,還需要進行日常的維護操作,比如其中一塊物理硬盤損壞,我們需要進行更換故障磁盤的操作,下面我們將模擬raid5 中磁盤損壞來講解軟RAID 的維護操作。

8.1 模擬磁盤損壞

在實際中,當軟RAID 檢測到某個磁盤有故障時,會自動標記該磁盤為故障磁盤,並停止對故障磁盤的讀寫操作。在這里我們將/dev/sdh1 模擬為出現故障的磁盤,命令如下:

# mdadm /dev/md5 -f /dev/sdh1

8.2 查看重建狀態

在上面創建RAID 5過程中,我們設置了一個熱備盤,所以當有標記為故障磁盤的時候,熱備盤會自動頂替故障磁盤工作,陣列也能夠在短時間內實現重建。通過查看"/proc/mdstat" 文件可以看到當前陣列的狀態,如下:

以上信息表明陣列正在重建,當一個設備出現故障或被標記故障時,相應設備的方括號后將被標以(F),如 "sdh1[4](F)"

其中 "[3/2]" 的第一位數表示陣列所包含的設備數,第二位數表示活動的設備數,因為目前有一個故障設備,所以第二位數為2

這時的陣列以降級模式運行,雖然該陣列仍然可用,但是不具有數據冗余;

"[UU_]" 表示當前陣列可以正常使用的設備是/dev/sdf1 /dev/sdg1,如果是設備 "/dev/sdf1" 出現故障時,則將變成[_UU]

8.3 查看之前寫入的測試數據是否還在

數據正常,未丟失。

8.4 重建完畢后查看陣列狀態

當前的RAID 設備又恢復了正常。

8.5 移除損壞的磁盤

移除剛才模擬出現故障的/dev/sdh1,操作如下:

8.6 再次查看md5的狀態

/dev/sdh1 已經移除了。

8.7 新加熱備磁盤

如果是實際生產中添加新的硬盤,同樣需要對新硬盤進行創建分區的操作,這里我們為了方便,將剛才模擬損壞的硬盤再次新加到raid5 中。

8.8 查看raid5 陣列狀態

/dev/sdh1 已經變成了熱備盤。

8.9 查看測試數據

數據正常,未丟失。故障切換測試完畢。

九、向RAID中增加存儲硬盤

如果現在已經做好的RAID 空間還是不夠用的話,那么我們可以向里面增加新的硬盤,來增加RAID 的空間。

9.1 在虛擬機中添加物理硬盤

上面我們已經在虛擬機中添加了八塊硬盤,這里需要模擬新增硬盤,所以首先將虛擬機關閉,然后在存儲里再次新增一塊5GB的硬盤。然后分區等等操作,這里不再贅述。

9.2 RAID 中新加一塊硬盤

# mdadm /dev/md5 -a /dev/sdj1

查看此時的RAID 狀態

默認情況下,我們向RAID 中增加的磁盤,會被默認當作熱備盤,我們需要把熱備盤加入到RAID 的活動盤中。

9.3 熱備盤轉換成活動盤

# mdadm -G /dev/md5 -n4

查看此時RAID 狀態

/dev/sdj1 已經變成了活動盤,但是Array Size : 10465280 (9.98 GiB 10.72 GB) 並沒有變大,這是因為構建沒有完成,圖中也可以看出Status clean, reshaping

RAID 完成構建后,RAID的容量就會改變為(4-1x 5GB,查看進度可以參考Reshape Status,也可以參考/proc/mdstat.

構建完畢后的RAID 狀態:

Array Size : 15697920 (14.97 GiB 16.07 GB),磁盤容量已經增加了。

9.4 擴容文件系統

RAID 構建完畢后,陣列容量增加,但是文件系統還沒有增加,這時我們還需要對文件系統進行擴容。

# df –TH

# resize2fs /dev/md5

# df –TH

文件系統已經擴容到15G,而且測試數據正常,未丟失,新增物理硬盤成功。

9.5 修改RAID 配置文件/etc/mdadm.conf

9.6 reboot 測試

重啟系統后,一切正常,Linux下配置軟RAID成功。

   

參考資料

   


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM