调整mdadm RAID1中的基础分区大小


9

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

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

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

有什么我想念的或者没有考虑的吗?

Answers:


6

是的,您错过了一些非常重要的内容,而我却很难学到。http://www.zdnet.com/blog/storage/why-raid-5-stops-working-in-2009/162指出,从统计学上讲,RAID阵列上的坏扇区现在已不可避免。

如果您的RAID阵列降级,并且其中一个驱动器遇到坏扇区,则mdraid将关闭该阵列。当您重新添加驱动器时,会在恢复过程中发生这种情况,因为需要读取其他驱动器的每个扇区。我花了很多时间从中恢复,这确实很棘手。\

因此,您应该事先做的是:回声修复> / sys / block / mdX / md / sync_action

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


我似乎无法以sudo的身份运行这些命令。我正在运行Ubuntu服务器。你知道为什么吗?
J Spen

对您来说太迟了,但要回答:shell正在按您的方式运行,而sudo不能解释重定向>。要么将所有内容封装在子shell中,要么使用tee。我更喜欢发球:echo repair | sudo tee /sys/block/mdX/md/sync_action
ibotty

1:进行擦洗的指针是有用且适当的;2:现在是2018年,比2009年晚了9年。我运行着几个RAID5阵列,每个阵列有5个8-10TB磁盘,现在已经有好几年了,但没有发生任何不好的事情(除了其中一个机箱快要死了...)。我认为有关RAID5停止工作的警告被大大夸大了-发生这种情况的机会并不像想象的那么大,可以通过在购买HDD时注意硬盘的错误率来进一步减轻这种情况。3:您仍然应该始终备份所有内容
Zak

3

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

  1. 之后resize2fs,您需要缩小mdadm数组。例如,执行mdadm --grow --size xxx步骤1a。

  2. 我还建议在引导到应急CD(例如SystemRescueCd)时而不是在/ dev / md0挂载时进行所有操作。按照fsck调整大小,只是要确保一切正常。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.