背景:
默认的服务器/tmp目录空间太小了,动不动就写满了。自己调整下。
1、查看/tmp大小 ,见下图。
只有可怜的1G。同时发现本机的磁盘是通过lvm管理的。
2、查看vg是否有可用空间 ,如下图。
发现可用空间是0.
所以调整的思路是:减小某个lv的容量,使vg有可用空间。然后增加/tmp所在的目录的lv容量。
3、查看当前lv ,命令 lvdisplay ,如下图。
发现 /dev/VolGroup00/LogVol-da1 这个lv比较大 。减小他的容量到2000G 。
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目录。如下图。
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了。如图。
7、重新挂载分区
mount /dev/mapper/VolGroup00-LogVol–da1 /da1
因为刚才把/dev/mapper/VolGroup00-LogVol–da1卸载了,需要重新挂上
8、观察磁盘
/tmp目录已经调整到31G了,同时/da1目录也减小了些。
另外,由于只用了30G,该vg下还剩余部分空间,如下,可以到时候动态调整给其他目录。