用虛擬機玩Linux時經(jīng)常發(fā)生Linux硬盤空間不足的情況,而宿主機硬盤空間又吃緊,怎么辦?
很多童鞋給Linux分配的硬盤是8G,而安裝Linux時采用默認(rèn)分區(qū)方式的話swap分區(qū)有2G。swap分區(qū)即交換分區(qū),類似于Windows的虛擬內(nèi)存pagefile.sys。當(dāng)內(nèi)存不足時,把一部分硬盤空間虛擬成內(nèi)存使用。而內(nèi)存夠用時則排不上用場。
對于實體機Linux,這2G的swap空間一般算不了什么,但對硬盤只有8G的虛擬機Linux來說,2G就很寶貴了。所以——減小Linux swap分區(qū)收回空間。
減小swap分區(qū)的方法:
1、先“df -h”和“fdisk - l”命令查看一下當(dāng)前分區(qū)情況,如圖。根分區(qū)為5.5G。
圖中/dev/mapper/vg_"hostname"-lv_swap就是swap分區(qū),為2G。swap分區(qū)亦可用free命令查看到。


2、用swapoff命令關(guān)閉交換分區(qū):
# swapoff /dev/mapper/vg_"hostname"-lv_swap
然后用free命令檢查下swap是否變?yōu)?了。

3、用lvreduce命令把swap分區(qū)減小1500M:
# lvreduce -L -1500M /dev/mapper/vg_"hostname"-lv_swap
輸入y,確定,看到提示swap減小至516M。

4、重新把/dev/mapper/vg_"hostname"-lv_swap設(shè)置為swap分區(qū):
# mkswap /dev/mapper/vg_"hostname"-lv_swap

5、swapon開啟swap分區(qū):
# swapon /dev/mapper/vg_"hostname"-lv_swap
然后用free命令檢查下swap是否變?yōu)?16M了。

擴展根分區(qū)把回收的空間利用起來
1、此時回收的1500M是閑置的自由空間,還得將它分配給根分區(qū)。還好現(xiàn)在的Linux分區(qū)一般是采用LVM分區(qū)方式,可以很方便地進(jìn)行分區(qū)的動態(tài)擴展,不破壞現(xiàn)有數(shù)據(jù)。筆者這里是使用圖形LVM(Logical Volume Manager)工具進(jìn)行分區(qū)的動態(tài)擴展(如果沒有安裝此工具則需要裝一下system-config-lvm的rpm包)。高手亦可在命令行下完成。
# system-config-lvm
展開“邏輯視圖”->“lv_root”,點擊“編輯屬性”。
2、點擊“使用剩余”,可以看到5.54G增大至7.0G了。然后“確定”。

3、回到LVM界面,查看到自由空間變?yōu)? 了。
4、回到命令行模式用“df -h”命令檢查一下,可以看到根分區(qū)增大至6.9G了。動態(tài)擴展無需重啟,立即生效,大功告成!
