将 Raid5 转换为 Raid1 - 无法设置 new_offset

将 Raid5 转换为 Raid1 - 无法设置 new_offset

我正在尝试将 6 磁盘 raid6 mdadm 阵列转换为 6 磁盘 raid10 阵列。在点击后mdadm: Impossible level change requested,我决定尝试使用raid5,然后运行mdadm --grow --level=5然后mdadm --grow /dev/md0 -n 5成功。然而,当我运行时mdadm --grow /dev/md0 --level raid10,我再次遇到了同样的错误。我决定从 raid5 -> raid4 -> raid0 -> raid10,但是为了这个工作,我需要在 raid0 阶段有 3 个磁盘,因为我只有 6 个磁盘。

但是,在我设法将数组大小调整为建议的大小后mdadm --grow /dev/md0 -n 3,出现以下错误:

mdadm: Cannot set new_offset for /dev/sda12

当我/dev/sda12从阵列中删除时,我收到相同的错误,但对于不同的磁盘。

如何修复/解决此错误,或者我是否必须对阵列进行核攻击并启动一个新阵列?

答案1

从 raid5 转换为 raid10 需要转换 raid5 -> raid0,然后转换 raid0 -> raid 10。

您的数组大小需要小于目标 raid10(它将小于 raid 5)。

要转换,您需要指定磁盘数量和目标级别:

mdadm --grow /dev/md0 --level=0 --raid-devices=3 --backup-file=md0.backup

(我建议备份文件)

cat /proc/mdstat 如果某个时间(20 分钟)进程卡在reshape = 0.0%您需要使用的位置,您可以监控它--continue

mdadm --grow /dev/md0 --level=0 --raid-devices=3 --backup-file=md0.backup --continue

相关内容