存储

关注公众号 jb51net

关闭
硬件教程 > 存储 >

mdadm配置软件RAID5实现过程详解

Kvatange

冷数据备份

最近搞了3块16T 3.5寸机械盘,企业级HDD,还俩品牌。主机上其实还插着3块U.2 NVME SSD,那HDD就拿来做冷数据备份吧。既然是冷数据要长期保存,那给这三个大块头做个数据冗余。

手头没有硬件RAID卡,其实主要是主板拥挤没地方插了。只能软件RAID方案,3块HDD弄个RAID 5可行。

RAID创建

系统是debian12,安装mdadm,配置RAID5。这些都简单,几条命令的事情,有很多教程。

mdadm --create /dev/md0 --level=5 --raid-devices=3 /dev/sda /dev/sdb /dev/sdc

就是这么简单,可以监控一下状态

watch cat /proc/mdstat

RAID同步

到这里就要歇一歇了,RAID虽然已经创建了,但是系统要做数据同步。1300分钟?21.6个小时,要疯。

RAID同步过程,它会将所有选定的驱动器中的数据同步并创建冗余信息,以确保数据的一致性和冗余备份。这个过程会对每个驱动器的所有扇区进行读取和写入,即使驱动器中没有实际数据。

同步时间的长短取决于多个因素,包括驱动器的容量大小、速度、RAID 级别和控制器性能等。RAID 5 和 RAID 6 类型的同步通常比 RAID 1 和 RAID 0 要慢,因为它们需要更多的计算来创建校验信息。

如果你看到是速度实在太慢,我这里是200M左右,可以尝试用这个命令

echo 200000 > /proc/sys/dev/raid/speed_limit_min

这里面还有个问题,就是同步过程中,万一机器意外掉电,或者需要关机,会发生什么情况?如果真发生了,开机后运行lsblk,大概率会看到md127。这时候的操作是这样的。先运行下面几个,清除md127,然后重头再来,哈。

mdadm -S /dev/md127
mdadm --misc --zero-superblock /dev/sda
mdadm --misc --zero-superblock /dev/sdb
mdadm --misc --zero-superblock /dev/sdc

经历过曲折,才明白要RAID同步中,如果要关机,需要保存RAID配置。创建完RAID后,就需要生成mdadm.conf,并检查设备名是否正确。这一步要在mdadm create之后就要执行。

mdadm -Ds > /etc/mdadm/mdadm.conf 
##检查ARRAY之后的设备名,修改为/dev/md0

RAID挂载

漫长的同步终于到达了100%,希望你没经历21个小时的等待。下面的事情就是大家熟悉的了,创建文件系统,挂载目录

mkfs.ext4 /dev/md0
mkdir /myraid
mount /dev/md0 /myraid

以及修改fstab,添加md0 挂载信息,实现开机自动挂载。完成!

vim /etc/fstab

RAID停止及启动

这里不多讲了。禁用RAID阵列之前,先要卸载对应的挂载点

umount /dev/md0 /myraid
##RAID停止
mdadm -S /dev/md0
##RAID开启
mdadm -A /dev/md0

RAID删除

不想要RAID了,铲掉它,OK

mdadm -S /dev/md0
mdadm --misc --zero-superblock /dev/sda
mdadm --misc --zero-superblock /dev/sdb
mdadm --misc --zero-superblock /dev/sdc

然后看下状态,就没有了

cat/proc/mdstat

体验总结及问题

最后性能测试,忘记了。有机会再做一下,不过实在不想再来一次21小时同步。大家有空可以试试.

##写性能
dd if=/dev/zero of=/myraid/test.log bs=1M count=8096
##读性能
dd if=/myraid/test.log of=/dev/null

以上就是mdadm配置软件RAID5实现过程详解的详细内容,更多关于mdadm配置软件RAID5的资料请关注脚本之家其它相关文章!