缩小安装的LVM分区

我担心我已经知道这个问题的答案了,但是这里就是这样。

我需要在正在运行的系统上创build一个新的分区/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/而不卸载它,或者这只是一个梦想?

我真的希望能够在一个正在运行的系统上做这个工作 – 卸载当然不是很难,但是会干扰系统function。

就我所知,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不需要很长时间。

是的, 你可以缩小/移动/增长一个在线的根分区,而不需要重新启动(livecd或者usbkey): 请参考这个答案 。 它写得很好,容易遵循,虽然很长,有点冒险。

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

当然,如果你只想增长你的ext4分区,你可以坚持传统的工作resize2fs解决scheme。

我已经解决的一般解决scheme将适用于任何types的专用或VPS解决scheme。

TLDR; 这个解决scheme意味着pivot_roottmpfs所以你可以安全地umount你的根分区,并摆弄它。 一旦完成,你将pivot_root回到你的新的根分区。

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

我个人使用过这个,在debian系统上也能很好地工作,但是这个指南最初是在2007年为redhat编写的,我已经链接的答案是针对CentOS7更新的。 它很可能会在你的CentOS6上运行。