我使用以下命令创建了一个软件 raid 5 磁盘:mdadm -C /dev/md2 -l5 -n4 /dev/sd[il]
同时我使用 dstat 查看 io 活动: dstat -c -d -D total,sda1,md2,sdi,sdj,sdk,sdl -l -m -n
并注意到磁盘 sd[ik] 全部被读取,而 sdl 被写入。现在,我确实知道必须配置 raid5,但这需要很长时间,并且所有磁盘都是干净且已格式化(使用 xfs),因此我认为可能有某种捷径可以跳过(不必要的?)检查。是吗?
该创建是时间关键的夜间批处理过程(在 amazon ec2 上运行)的一部分,因此它不是一次性的事情。
谢谢,Geert-Jan
答案1
据我所知,没有办法解决这个问题 - 这是正常且预期的。RAID 5 初始化的工作方式基本上是运行重建 - 在后台,mdadm 会创建一个降级的 RAID,然后在其上运行重建。
如果这是一个夜间(丢弃?)批处理过程,为什么要使用 RAID 5?
对于 RAID 1,您可以使用 --assume-clean 来跳过初始镜像。
答案2
要使 RAID5 正常工作,必须正确设置每个驱动器上的每个位,以便计算奇偶校验。如果写入也发生,则您认为驱动器是干净的假设是不正确的(尽管公平地说,对于虚拟机来说,这似乎不是一个坏假设)。
如果你正在使用虚拟机,为什么不直接创建一个已设置好该驱动器的映像呢?当您需要新驱动器时,只需使用预配置的 raid 启动新实例即可。