1. 程式人生 > >Linux下調整/tmp目錄大小

Linux下調整/tmp目錄大小

背景:

預設的伺服器/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下還剩餘部分空間,如下,可以到時候動態調整給其他目錄。
這裡寫圖片描述