Linux下调整/tmp目录大小

时间:2024-05-21 18:06:56

背景:

默认的服务器/tmp目录空间太小了,动不动就写满了。自己调整下。

1、查看/tmp大小 ,见下图。

只有可怜的1G。同时发现本机的磁盘是通过lvm管理的。
Linux下调整/tmp目录大小

2、查看vg是否有可用空间 ,如下图。

发现可用空间是0.
所以调整的思路是:减小某个lv的容量,使vg有可用空间。然后增加/tmp所在的目录的lv容量。
Linux下调整/tmp目录大小

3、查看当前lv ,命令 lvdisplay ,如下图。

发现 /dev/VolGroup00/LogVol-da1 这个lv比较大 。减小他的容量到2000G 。
Linux下调整/tmp目录大小

4、 umount目录

由于/dev/VolGroup00/LogVol-da1 这个lv是挂载到/da1下
umount /dev/VolGroup00/LogVol-da1 ,提示 Device is busy 。当前应该有程序正在使用该目录。

fuser -m -v -i -k /dev/VolGroup00/LogVol-da1 杀掉所有使用 /da1这个目录的程序。请确保程序可以被杀掉 。

然后再重新umount 成功 。

5、 减小/dev/VolGroup00/LogVol-da1 到2000G

减少lv空间的操作是有风险的,操作之前一定要做好备份,以免数据丢失。
要减少一个lv的空间,必须先减少之上的文件系统的大小。
具体操作顺序是:检查文件系统,减少文件系统大小,减少lv大小

依次执行下面命令 。
fsck -f /dev/VolGroup00/LogVol-da1
resize2fs /dev/VolGroup00/LogVol-da1 2000G
lvreduce -L 2000G /dev/VolGroup00/LogVol-da1

或者用1条命令 lvreduce -L 2000G -f -r /dev/VolGroup00/LogVol-da1 。
这个时候,再执行下vgdisplay,发现vg已经有可用空间了。需要从增加的空间里拿出一部分分给/tmp目录。如下图。Linux下调整/tmp目录大小

6、增加/tmp所在lv的容量 。

依次执行下面命令:
lvextend -L +30G /dev/VolGroup00/LogVol01
resize2fs -f /dev/VolGroup00/LogVol01 31G (注意 :此处的31G=原来的1G+新增加的30G)

或者用1条命令 lvextend -L 31G -f -r /dev/VolGroup00/LogVol01 。
观察看,/tmp所在的lv已经变成31G了。如图。Linux下调整/tmp目录大小

7、重新挂载分区

mount /dev/mapper/VolGroup00-LogVol–da1 /da1
因为刚才把/dev/mapper/VolGroup00-LogVol–da1卸载了,需要重新挂上

8、观察磁盘

/tmp目录已经调整到31G了,同时/da1目录也减小了些。
Linux下调整/tmp目录大小
另外,由于只用了30G,该vg下还剩余部分空间,如下,可以到时候动态调整给其他目录。
Linux下调整/tmp目录大小