我正在运行 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/md3
:mdadm --stop /dev/md3
。失败并删除
/dev/sda2
:mdadm /dev/md2 --fail /dev/sda2 --remove /dev/sda2
。例如,在 parted 中,您可以删除
/dev/sda3
并扩展/dev/sda2
以占用创建的未分区空间。添加
/dev/sda2
回/dev/md2
:mdadm /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
并咨询其他来源。我对任何可能的数据丢失概不负责。