缩小已挂载的 LVM 分区

缩小已挂载的 LVM 分区

我担心我已经知道这个问题的答案了,但是我还是想说出来。

我需要在正在运行的系统上开辟一个新的分区。/var/是从 LVM 卷(hdd1_vg-var)挂载的,并且只有 3% 的已用磁盘空间。

/单独安装(hdd1_vg-root)并且已使用磁盘空间约 80%。

Filesystem            Size  Used Avail Use% Mounted on
/dev/**/hdd1_vg-root
                      2.0G  1.4G  481M  75% /
/dev/**/hdd1_vg-var
                       33G  699M   31G   3% /var

不幸的是,我没有任何可用的范围来有机地扩大该分区 - vgdisplay 显示:

  Total PE              10000
  Alloc PE / Size       10000 / 39.06 GB
  Free  PE / Size       0 / 0

那么,看到我有这么多可用的磁盘空间/var/,我可以/var/不用卸载它而缩小它吗?或者这只是一个白日梦?

我真的希望能够在正在运行的系统上完成这项工作 - 卸载当然并不困难,但它会干扰系统功能。

答案1

是的,您可以缩小/移动/扩大在线根分区无需重启(也无需 livecd 或 usbkey):参考这个答案。虽然篇幅较长且有点冒险,但写得非常好,易于理解。

允许绕过限制resize2fs 无法缩小 ext4分区。

当然,如果您只想扩大 ext4 分区,您可以坚持使用传统的工作resize2fs解决方案。

我所链接的通用解决方案适用于任何类型的专用或 VPS 解决方案。

TLDR;此解决方案意味着pivot_roottmpfs可以umount安全地使用根分区并对其进行操作。完成后,您将pivot_root返回到新的根分区。

这允许对根文件系统进行几乎任何操作(移动它、更改文件系统、更改它的物理设备......)。

我个人曾使用过它,它在 debian 系统上也运行得很好,但该指南最初是在 2007 年为 redhat 编写的,我链接的答案已针对 CentOS7 进行了更新。它很可能适用于您的 CentOS6。

答案2

据我所知,C6 不支持缩小已挂载的文件系统;以下内容来自man resize2fs

   The resize2fs program will resize ext2, ext3, or ext4 file systems.  It
   can  be  used  to enlarge or shrink an unmounted file system located on
   device.  If the filesystem is mounted, it can be  used  to  expand  the
   size  of  the  mounted filesystem, assuming the kernel supports on-line
   resizing.

但只要您准备好停机一段时间,就应该没问题。如果系统以单用户方式启动,则卸载应该没问题/var,并且收缩 FS 和底层 LV 不会花很长时间。

相关内容