實戰RAID5
- 2020 年 1 月 1 日
- 筆記
本文標識 : L00026
本文編輯 : 滅霸 編程工具 : redhat7 閱讀時長 : 11分鐘

RAID5
實現raid5創建RAID:
1.創建raid設備md5,RAID級別5,可用設備3個,熱備設備1個.分別為/dev/sdc1,/dev/sdc2,/dev/sdc3
mdadm –C /dev/md5 –l 5 –n 3 –x 1 /dev/sdc{1,2,3,4}
[root@localhost /]# mdadm -C /dev/md5 -l 5 -n 3 -x 1 /dev/sdc{1,2,3,4} mdadm: Defaulting to version 1.2 metadata mdadm: array /dev/md5 started.
2.創建RAID5
註:sdc1、sdc2、sdc3共同組成RAID5,sdc4為熱備盤。並確認處於umount狀態
格式化RAID 陣列
mkfs.xfs /dev/md5
[root@localhost dev]# mkfs.xfs /dev/md5 meta-data=/dev/md5 isize=256 agcount=8, agsize=130944 blks = sectsz=512 attr=2, projid32bit=1 = crc=0 finobt=0 data = bsize=4096 blocks=1047552, imaxpct=25 = sunit=128 swidth=256 blks naming =version 2 bsize=4096 ascii-ci=0 ftype=0 log =internal log bsize=4096 blocks=2560, version=2 = sectsz=512 sunit=8 blks, lazy-count=1 realtime =none extsz=4096 blocks=0, rtextents=0
3、查看 RAID 的創建過程:
#mdadm –D /dev/md5
[root@localhost dev]# mdadm -D /dev/md5 /dev/md5: Version : 1.2 Creation Time : Sun Nov 17 21:43:02 2019 Raid Level : raid5 Array Size : 4190208 (4.00 GiB 4.29 GB) Used Dev Size : 2095104 (2046.34 MiB 2145.39 MB) Raid Devices : 3 Total Devices : 4 Persistence : Superblock is persistent Update Time : Sun Nov 17 21:44:33 2019 State : clean Active Devices : 3 Working Devices : 4 Failed Devices : 0 Spare Devices : 1 Layout : left-symmetric Chunk Size : 512K Name : localhost.localdomain:5 (local to host localhost.localdomain) UUID : 74fee35b:fc982c15:881cd1ff:1532dd5d Events : 18 Number Major Minor RaidDevice State 0 8 33 0 active sync /dev/sdc1 1 8 34 1 active sync /dev/sdc2 4 8 35 2 active sync /dev/sdc3 3 8 36 - spare /dev/sdc4
創建 /dev/md5 的掛載點,寫入 /etc/fstab 文件
mount –a 測試 /etc/fstab 文件的正確性。
下面掛載磁碟
[root@localhost mnt]# mount /dev/md5 aa/ [root@localhost mnt]# ll 總用量 0 drwxr-xr-x. 2 root root 6 11月 17 21:44 aa [root@localhost mnt]# cd aa/ [root@localhost aa]# df -h 文件系統 容量 已用 可用 已用% 掛載點 /dev/sda5 12G 2.9G 8.3G 27% / devtmpfs 979M 0 979M 0% /dev tmpfs 993M 144K 993M 1% /dev/shm tmpfs 993M 9.0M 984M 1% /run tmpfs 993M 0 993M 0% /sys/fs/cgroup /dev/sda3 797M 36M 761M 5% /home /dev/sda1 297M 130M 168M 44% /boot tmpfs 199M 12K 199M 1% /run/user/0 /dev/sr0 3.8G 3.8G 0 100% /run/media/root/RHEL-7.2 Server.x86_64 /dev/md5 4.0G 33M 4.0G 1% /mnt/aa
當創建一個新陣列或者陣列重構時,設備需要進行同步操作,這一過程需要一定時間,可以通過查看/proc/mdstat文件,來顯示陣列的當前狀態以及同步進度、所需時間等。
查看數據同步過程:
cat /proc/mdstat
[root@localhost proc]# cat mdstat Personalities : [raid6] [raid5] [raid4] md5 : active raid5 sdc3[4] sdc4[3](S) sdc2[1] sdc1[0] 4190208 blocks super 1.2 level 5, 512k chunk, algorithm 2 [3/3] [UUU] unused devices: <none>
可以很清楚地看出當前陣列的狀態,各部分所代表的意思如下:
「[3/3]」中的第一位數表示陣列所包含的設備數,第二位數表示活動的設備數,如果有一個設備損壞,則第二位數將減1;
「[UUU]」標記當前陣列可以正常使用的設備情況,現假設/dev/sdb1出現故障,則該標記將變成[_UU],這時的陣列以降級模式運行,即該陣列仍然可用,但是不再具有任何冗餘;
「sdc3[4]」指陣列所包含的設備數為n,若方括弧內的數值小於n,則表示該設備為活動設備,若數值大於等於n,則該設備為備份設備,當一個設備
出現故障的時候,相應設備的方括弧後將被標以(F)。
RAID5故障模擬
將 /dev/sdb1 標記為已損壞的設備
mdadm /dev/md5 -f /dev/sdb1
[root@localhost proc]# mdadm /dev/md5 -f /dev/sdc1 mdadm: set /dev/sdc1 faulty in /dev/md5 [root@localhost proc]# mdadm -D /dev/md5 /dev/md5: Version : 1.2 Creation Time : Sun Nov 17 21:43:02 2019 Raid Level : raid5 Array Size : 4190208 (4.00 GiB 4.29 GB) Used Dev Size : 2095104 (2046.34 MiB 2145.39 MB) Raid Devices : 3 Total Devices : 4 Persistence : Superblock is persistent Update Time : Sun Nov 17 21:55:51 2019 State : clean Active Devices : 3 Working Devices : 3 Failed Devices : 1 Spare Devices : 0 Layout : left-symmetric Chunk Size : 512K Name : localhost.localdomain:5 (local to host localhost.localdomain) UUID : 74fee35b:fc982c15:881cd1ff:1532dd5d Events : 37 Number Major Minor RaidDevice State 3 8 36 0 active sync /dev/sdc4 1 8 34 1 active sync /dev/sdc2 4 8 35 2 active sync /dev/sdc3 0 8 33 - faulty /dev/sdc1
移除損壞的設備
mdadm /dev/md5 -r /dev/sdb1
查看 sdb1 是否存在 RAID 列表中
#mdadm -D /dev/md5
[root@localhost proc]# mdadm /dev/md5 -r /dev/sdc1 mdadm: hot removed /dev/sdc1 from /dev/md5 [root@localhost proc]# mdadm -D /dev/md5 /dev/md5: Version : 1.2 Creation Time : Sun Nov 17 21:43:02 2019 Raid Level : raid5 Array Size : 4190208 (4.00 GiB 4.29 GB) Used Dev Size : 2095104 (2046.34 MiB 2145.39 MB) Raid Devices : 3 Total Devices : 3 Persistence : Superblock is persistent Update Time : Sun Nov 17 21:56:40 2019 State : clean Active Devices : 3 Working Devices : 3 Failed Devices : 0 Spare Devices : 0 Layout : left-symmetric Chunk Size : 512K Name : localhost.localdomain:5 (local to host localhost.localdomain) UUID : 74fee35b:fc982c15:881cd1ff:1532dd5d Events : 38 Number Major Minor RaidDevice State 3 8 36 0 active sync /dev/sdc4 1 8 34 1 active sync /dev/sdc2 4 8 35 2 active sync /dev/sdc3
4.將新設備添加到陣列
1)清空/dev/sdb1的superblcok標記(修復)
#mdadm –misc –zero-superblock -f/dev/sdb1
2)把新的/dev/sdb1添加至RAID列表中
# mdadm /dev/md5 -a /dev/sdb1
[root@localhost proc]# mdadm --misc --zero-superblock -f /dev/sdc1 [root@localhost proc]# mdadm /dev/md5 -a /dev/sdc1 mdadm: added /dev/sdc1
停止 ( 刪除 ) 陣列
umount / 掛載點
mdadm -S /dev/md5顯示指定陣列的詳細資訊
mdadm -D /dev/md5
修改/etc/fstab 等配置文件,把相關的地方去掉
最後,用 fdisk 對磁碟進行重新分區即可。