中断 mdadm --grow 操作是否安全?

中断 mdadm --grow 操作是否安全?

我最近将 RAID5 中的磁盘从 3x2TB 更改为 3x3TB。我还想将块大小从默认的 512k 更改为 128k。我已将所有新设备添加到阵列,然后运行:

mdadm /dev/md1 --grow --backup-file=/boot/md1_grow_backup_file --chunk=128

由于块大小发生变化并且其指定的文件位于不同的块设备上,因此 --backup-file 选项是必要的。

我必须关闭服务器才能物理移动它,但重塑操作比我预期的要慢得多,所以我想知道我是否可以中断该过程并在重新启动后继续。

手册页中有一些关于中断 --grow/reshape 过程的信息,但在我看来,这是为了应对一些灾难性情况 - 断电、服务器锁定等。

是否可以正常停止 mdadm 阵列重塑?如果可以,如何停止阵列以及如何在启动后恢复重塑?是否需要备份文件?

答案1

首先,您可能是 MD 默认重建速度较慢的受害者。

有一篇涵盖这些选项的好文章:

http://www.cyberciti.biz/tips/linux-raid-increase-resync-rebuild-speed.html

简而言之:

sysctl -w dev.raid.speed_limit_min=1000
sysctl -w dev.raid.speed_limit_max=100000

为了保证有 1 到 100MB 可用于重建,如果服务器处于活动状态,则提高最小值是加快速度的好方法,但会以牺牲一些响应能力为代价。

答案2

您应该在关机之前停止阵列:

mdadm -S /dev/md1

您还可以使用 /sys/block/md1/md 中的变量,最有趣的是 array_state 和 sync_action。以下是文档:https://www.kernel.org/doc/Documentation/md.txt但请记住,您只有一次尝试机会。

如果没有这些数据的备份 - 您不应该关闭机器。

请在此处写下你做了什么以及突袭数据是否幸存下来。

相关内容