Ubuntu 服务器在 mdadm RAID1 中删除额外分区并调整当前分区大小

Ubuntu 服务器在 mdadm RAID1 中删除额外分区并调整当前分区大小

我正在运行 Ubuntu 服务器。目前,我的硬盘配置如下所示:

硬盘配置

我想删除 /mnt/winback 分区并将额外空间添加到 /mnt/data 分区。保持其他分区不变的最佳方法是什么?

我在这里找到了一篇文章,其中展示了如何缩小每个驱动器: 调整 mdadm RAID1 中底层分区的大小 但步骤是否可以修改如下:1. 调整 mdadm RAID 的大小,resize2fs /dev/md2 [size]其中大小从 /dev/md3 添加额外空间 2. 从 RAID 中移除其中一个驱动器mdadm /dev/md2 --fail /dev/sda1 && mdadm /dev/md3 --fail /dev/sda1 3. 从分区表移除 /dev/md3 4. 调整已移除驱动器的大小以使用 parted 占用此额外空间 5. 将驱动器恢复到 RAID mdadm -a /dev/md0 /dev/sda1 6. 对另一台设备重复 2-5 7. 调整 RAID 的大小以使用完整分区mdadm --grow /dev/md0 -z max

以上看起来对吗?我不想弄乱我的服务器。

答案1

您的描述中有些不清楚:和怎么会/dev/sda1同时存在?另外,这是 RAID1 吗?每个阵列由哪些设备组成?/dev/md2/dev/md3

为了让您对可能的步骤顺序有一个概念,我假设下面的 RAID1 和由和(X={2,3})/dev/mdX组成,并且和在磁盘上是连续的(Y={a,b})。/dev/sdaX/dev/sdbX/dev/sdY2/dev/sdY3

一般规则:缩小时(无论是否在 RAID 上),您需要先缩小文件系统,然后缩小分区;扩大时,您需要先扩大分区,然后扩大文件系统。因此,对于您来说,这resize2fs /dev/md2是最后一步。

  • 您应该先卸载/dev/md3

  • 然后您需要失败并移除组成的设备(分区)/dev/md3:(mdadm /dev/md3 --fail /dev/sda3 --remove /dev/sda3对于 也一样/dev/sdb3)。

  • 然后停止/dev/md3mdadm --stop /dev/md3

  • 失败并删除/dev/sda2mdadm /dev/md2 --fail /dev/sda2 --remove /dev/sda2

  • 例如,在 parted 中,您可以删除/dev/sda3并扩展/dev/sda2以占用创建的未分区空间。

  • 添加/dev/sda2/dev/md2mdadm /dev/md2 --add /dev/sda2。等待它重新同步新添加的分区:watch cat /proc/mdstat;只有当您获得时[UU],才转到下一步。

  • 失败并移除/dev/sdb2,然后移除/dev/sdb3并调整 大小/dev/sdb2。然后/dev/sdb2重新添加/dev/md2并再次等待[UU]

  • 扩大数组:mdadm --grow /dev/md2 --size=max。再次等待[UU]

  • 调整文件系统大小:resize2fs /dev/md2

请查看手册页mdadm并咨询其他来源。我对任何可能的数据丢失概不负责。

相关内容