Raid 5 mdadm --grow 降低性能,但不增加磁盘大小

Raid 5 mdadm --grow 降低性能,但不增加磁盘大小

我第一次在家里设置 Raid 5 系统。我在电脑上添加了 3 个磁盘,并将它们分成 1 个 8G 分区,其余 492G 分成 1 个分区,然后我为每个分区创建了 2 个 raid 卷

将16G挂载为交换,将另一块挂载为系统磁盘。

这非常有效,然后我向阵列添加了第 4 个磁盘并做了同样的事情(分成 2 个分区,并将两个分区都添加到之前定义的 raid5 阵列中)(mdadm --add /dev/sdd1等等......)

然后我执行了mdadm --grow /dev/md0 --raid-devices=4命令(参考:http://zackreed.me/articles/48-adding-an-extra-disk-to-an-mdadm-array

两个阵列都已重建,但它们没有使用新的大小。并且我的系统性能严重下降。

我尝试在恢复模式下启动并执行命令resize2fs /dev/md1,但我仍然收到“只读磁盘”问题。

我该如何解决这个问题?因为正常启动会使我的主磁盘处于“忙碌”状态,而且我不敢强制卸载

我该怎么做才能恢复我的表现?

如果需要更多信息,请告诉我,我会提供我所能提供的。提前谢谢。

答案1

确保你 (1)卸载每个阵列的文件系统,然后(2)运行:

e2fsck -f -v /dev/mdx

在哪里x是所讨论的数组。然后运行resize2fs。然后您应该能够调整文件系统的大小。

然而,根据我的经验,扩大阵列(我用了 2 年多的时间,从 3+1 逐步扩大到最终的 8+2,磁盘数量为 1TB)似乎确实会影响性能。这可能是因为诸如条带大小之类的东西取决于数据磁盘的数量(即 RAID5 为 n-1,RAID6 为 n-2),因此将不再针对新阵列进行优化。

条带宽度 = [步幅大小] × [数据盘数量]

之后您将需要使用tune2fs以下方法解决此问题:

tune2fs -E stride=n,stripe-width=m /dev/mdx

请参阅此了解更多详细信息:https://raid.wiki.kernel.org/index.php/RAID_setup

相关内容