$df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/vg_app001-lv_root
32G 30G 0 100% /
tmpfs 7.8G 0 7.8G 0% /dev/shm
/dev/sda1 485M 51M 409M 12% /boot
/dev/mapper/vg_app001-lv_home
17G 295M 16G 2% /home
我有一个 70 GB 的硬盘驱动器,但空间已用完,但 /home 中似乎还有很多空间。我该如何重新分区?我真的必须手动管理吗?
您必须分两步减小 /home 的大小:减小文件系统的大小,减小逻辑卷的大小。这不能在线完成,所以一定要卸载 /home 之前(我假设你使用一些 ext 文件系统):
看这个例子:
如果您不想计算,可以将文件系统的大小调整为最小大小,然后减少 lv 并通过
resize2fs /dev/volg1/logv1
不调用大小将文件系统扩展到最大大小;)但要小心。如果 lv 小于文件系统,数据将会丢失完成后,您应该会在
vgdisplay
. 然后你可以扩展lv_root
. 扩展可以在线完成,所以不需要卸载:根据我的经验,空间不足通常是缺乏对管理存储信息量这一一般问题的关注的症状。在您的示例中,您使用了 30Gb 的分区安装为 / 并在安装为 /home 的分区中剩余 16Gb。短期修复可能是将一些相当大的数据从其当前位置移动到 /home 的子文件夹中;您可以使用符号链接来保持对它的访问。但是,如果您在过去六个月中积累了(比方说)20Gb 的数据,那么在四个月后您将再次遇到麻烦。
我访问过许多客户抱怨服务器空间不足的企业,我发现文件夹中装满了公司野餐的照片或某人 iPod 的内容,通常与离职已久的员工有关。这是一种可以丢弃或移动到其他存储介质(如 DVD)的数据。
另一方面,如果现在您有超过 30Gb 的在线存储的合法需求,那么 70Gb 的驱动器可能无法满足您很长时间的需求。
我要说的另一点是,在构建 Linux 服务器时,我通常的做法是只有一个分区用于交换空间,而驱动器的其余部分作为 /。这样,在填满整个磁盘之前,您不会用完分区空间。
要快速修复,请使用 du --max-depth=1 / 检查占用大量空间的内容(可能您会在 /var 中找到一些内容 :),然后将其移动到 /home 和 bind-mount/symlink 的子目录中它进入根文件系统。
顺便说一句,您确定 vg 中没有剩余可分配的范围吗?在这种情况下,您可以创建另一个文件系统,将内容移动到那里并挂载它。