将 LVM /tmp 大小减少到 10G 并将所有内容添加到 /root 目录

将 LVM /tmp 大小减少到 10G 并将所有内容添加到 /root 目录

我想将安装的分区减少到/tmp10GB,并将所有未使用的空间添加到该/分区。

如果我umount -l /tmp运行fsck.ext3 -f /dev/privg/lv_tmp,我会得到这个:

fsck.ext3: Device or resource busy while trying to open /dev/privg/lv_tmp
Filesystem mounted or opened exclusively by another program?

LVM 重新分区的正确步骤是什么?

$ df -hl
Filesystem                 Size  Used Avail Use% Mounted on
/dev/mapper/privg-lv_root   12G  4.2G  6.9G  38% /
/dev/mapper/privg-lv_tmp    29G  3.2G   24G  12% /tmp
/dev/mapper/privg-lv_var   3.9G  1.5G  2.3G  40% /var
/dev/sda1                  494M   40M  429M   9% /boot
tmpfs                       16G     0   16G   0% /dev/shm

答案1

您需要卸载 ext3 文件系统才能缩小它。umount -l意味着当文件系统上不再有打开的文件时,文件系统将被卸载。

运行lsof /tmp以查看 上打开了哪些文件/tmp。如果您正在运行 X 服务器,您将看到它的套接字/tmp/.X11-unix/X0。您无法删除该套接字 1 并仍然能够连接到 X 服务器。除此之外,大多数文件往往是短暂的或属于可以重新启动的程序。

如果您确实想在实时系统上执行该操作,则需要迁移到不同的/tmp文件系统,至少在操作期间是如此。您可以过渡到 tmpfs,其中/tmp存储在 RAM 或交换区中;看本指南。事实上,tmpfs for/tmp是一个常见的设置;您可能想坚持这一点并/tmp完全删除分区(也许可以稍微扩大交换空间)。

一旦您能够关闭 中的所有内容/tmp,您就可以卸载它。不要使用umount -l,它在这里没有用,因为它释放挂载点而不是设备,而您想要的是释放设备。/tmp卸载后,运行fsck,运行resize2fs以收缩它,并相应地收缩 LVM 逻辑卷。或者,您实际上可以通过直接缩小 LVM 卷并为/tmp. (如果您有任何想要保留的数据/tmp,那么您就错了。/tmp适用于重新启动之间不需要保存的数据,并且关闭的文件/tmp可以公平地删除。)

如果这一切看起来令人畏惧,请重新启动到恢复系统(Live CD 或 USB)并从那里进行操作。

也不能将其移动到另一个文件系统:这将删除原始文件系统并创建一个新的套接字。

答案2

您无法在正在运行的系统上卸载 /tmp。您需要从 LiveCD 或救援 CD 启动并在那里进行操作。

相关内容