调整 mdadm RAID1 中底层分区的大小

调整 mdadm RAID1 中底层分区的大小

我有一个家用的 NAS,我需要稍微重新配置一些驱动器的使用。

我有一个由两个 3TB 驱动器组成的 mdadm RAID1。每个驱动器都有一个 ext3 分区,该分区使用整个驱动器。我需要缩小两个驱动器上的 ext3 分区,并在其中一个驱动器上添加第二个 8GB 左右的 ext3 分区,并将大小相同的分区交换到另一个驱动器。我想我已经弄清楚了步骤,但需要一些确认。

  1. 调整 mdadm RAID 的大小resize2fs /dev/md0 [size],使其大小略大于驱动器上当前使用的空间
  2. 从 RAID 中移除一个驱动器mdadm /dev/md0 --fail /dev/sda1
  3. 使用 parted 调整已删除驱动器的大小
  4. 使用 parted 将新分区添加到驱动器
  5. 将驱动器还原到 RAIDmdadm -a /dev/md0 /dev/sda1
  6. 对另一台设备重复 2-5
  7. 调整 RAID 大小以使用完整分区mdadm --grow /dev/md0 -z max

是否有我遗漏或未考虑到的事情?

答案1

是的,你错过了一些非常重要的东西,而我已经吃过不少苦头了。http://www.zdnet.com/blog/storage/why-raid-5-stops-working-in-2009/162指出现在从统计上来说,RAID 阵列上出现坏扇区已是不可避免的。

如果您的 RAID 阵列性能下降,并且其中一个驱动器出现坏扇区,mdraid 将关闭该阵列。这将在您重新添加驱动器的恢复过程中发生,因为需要读取其他驱动器的每个扇区。我花了相当多的时间来恢复,这真的很棘手。\

因此,您事先应该做的是: echo repair > /sys/block/mdX/md/sync_action

(查看https://raid.wiki.kernel.org/index.php/Scr​​ubbing

答案2

您的步骤看起来不错,但有两个例外:

  1. 之后resize2fs,您需要缩小 mdadm 阵列。例如,mdadm --grow --size xxx按照步骤 #1a 操作。

  2. 我还建议在启动救援 CD 时执行所有这些操作,例如系统救援光盘,而不是在 /dev/md0 挂载时。通过 fsck 来跟踪调整大小,以确保一切正常。

相关内容