实战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 对磁盘进行重新分区即可。