Linux磁盘空间 – 分区

$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 

我有一个70GB的硬盘驱动器,我用尽了空间,但它看起来像/家里有很多空间。 我该如何重新分配? 我真的需要手动pipe理吗?

您必须分两步缩小/ home的大小:减小文件系统的大小,减小逻辑卷的大小。 这不能在线完成,所以一定要先卸载/ home(我假设你使用一些ext文件系统):

看到这个例子:

 umount /lvm-test e2fsck -f /dev/volg1/logv1 resize2fs /dev/volg1/logv1 512000 lvreduce -L-800M /dev/volg1/logv1 mount /dev/volg1/logv1 /lvm-test 

如果你不想计算,你可以调整文件系统的大小为最小,然后减小lv,并通过调用resize2fs /dev/volg1/logv1扩展文件系统为最大大小;)但要小心。 如果lv小于文件系统,则数据将丢失

完成后,您应该在vgdisplay看到一些Free PE。 那么你可以扩展lv_root 。 扩展可以在线完成,所以不需要卸载:

 lvextend -L +800M /dev/mapper/vg_app001-lv_root resize2fs /dev/mapper/vg_app001-lv_root 

根据我的经验,空间不足常常是对pipe理您所存储的信息量的一般问题缺乏关注的症状。 在你的例子中,你已经使用了一个挂载为/的分区的30Gb,并将16Gb留在挂载为/ home的分区中。 短期修复可能是将一些相当大的数据从当前位置移动到/ home的子文件夹; 您可能可以使用符号链接来维护对其的访问。 但是如果你在过去的六个月里累积了20Gb的数据,那么在四个月内你就会再次陷入困境。

我访问过许多客户抱怨服务器上的空间不足的商家,我发现文件夹里充满了公司野餐的照片或者某人的iPod的内容,这些文件通常与长期离职的员工有关。 这是可以丢弃或移动到其他存储介质(如DVD)的那种数据。

另一方面,如果现在你有一个超过30Gb的在线存储的合法需求,那么一个70Gb的硬盘很可能无法长期满足你的需求。

另一个问题是,在构buildLinux服务器的时候,通常只有一个分区用于交换空间,剩下的部分是/。 这样你就不会用完分区空间,直到你填满了整个磁盘。

为了快速修复,请检查du -max-depth = 1 /(可能会在/ var :)中find某些内容),然后将其移至/ home的子目录,并将bind-mount / symlink它进入根文件系统。

顺便说一下,你确定在vg中没有可分配的扩展盘区 – 在这种情况下,你可以创build另一个文件系统,把东西移到那里并挂载它。