如何在分区之间移动空闲磁盘空间

如何在分区之间移动空闲磁盘空间

我想将一个空磁盘空间从一个分区移动到另一个分区。这可能吗?

在下图中,我在/local(/dev/sda3) 下有可用空间。我想将此空间分配给//dev/sda2 上的空间。

我怎样才能做到这一点?

lsblk 输出

答案1

做你所要求的事情并不容易,但我有两个解决方案,希望可以帮助你。

你有两个磁盘。第一个磁盘有 /boot 和 / 作为主分区,第三个主分区 sda3 占用了所有剩余空间并让给 LVM。您还有第二个磁盘也被分配给同一 VG 中的 LVM。您的问题是,要增加主分区 sda2 的大小,您必须移动 sda3 的开头。或许或许类似的东西gparted可以做到这一点,但坦率地说我不确定。 (在Ubuntu上,/分区已经在LVM中,所以只有/boot有问题,这不是一个大问题。)

因此,第一种可能性:将 /local 减少至少 10G 以释放 VG 中的空间。用于pvmove将 sda3 上的所有盘区移至 sdb 上。一旦不再使用 sda3,您可以使用诸如gparted删除 sda3 和扩展 sda2 之类的方法。

lvs vgs顺便说一句,我更喜欢和的输出pvs,最后一个将向您显示(不那么令人头疼)何时不再使用 sda3。

第二种可能性:决定 / 的子树在另一个 LV 上外部化。我可能会决定/usr。将 /local 至少减小该子树的大小以释放 VG 中的空间。创建一个名为 /usr 的新 LV,复制文件,卸载 /usr,将 /usr 重命名为 /usr.bak,mkdir /usr,从新 LV 重新挂载 /usr,确保一切正常(重新启动等),然后您可以删除/usr.bak,从而释放空间。对于这个解决方案,您可能必须在单一模式下进行大量工作,并且在不访问 /usr 中的二进制文件的情况下工作是一个有趣的练习:)

相关内容