一、目的
Linux默認安裝時根目錄(/)空間不是很充足,home空間較大,對根目錄擴容問題。文件類型為ext4。
[plain] view plaincopyprint?
[root@localhost ~]# df -Th
Filesystem Type Size Used Avail Use% Mounted on
/dev/mapper/VolGroup-lv_root
ext4 50G 6.7G 40G 15% /
tmpfs tmpfs 3.9G 72K 3.9G 1% /dev/shm
/dev/vda1 ext4 477M 41M 411M 9% /boot
/dev/mapper/VolGroup-lv_home
ext4 435G 2.0G 411G 1% /home
下面的詳細步驟部分將從VolGroup-lv_home分區下取出100G的空間添加到/VolGroup-lv_root分區上去。
二、詳細步驟
1、卸載vg_centos-lv_home分區
[root@localhost ~]# umount /home
若提示

則執行刪除進程
[root@localhost ~]# fuser -m /home
[root@localhost ~]# ps -aux |grep 3489
[root@localhost ~]# kill -9 3489

此時執行
[root@localhost ~]# umount /home
此時在用df命令查看將會發現/home目錄已經看不見了,如下所示:
[root@localhost ~]# df -h

2、從新設定vg_home-lv_home的大小
[root@localhost ~]# resize2fs -p /dev/mapper/VolGroup-lv_home 50G

這一步設定vg_home-lv_home大小沒有成功,系統提示我們先運行下面的命令,操作如下:
[root@localhost ~]# e2fsck -f /dev/mapper/VolGroup-lv_home
從新設定vg_home-lv_home的大小:
[root@localhost ~]# resize2fs -p /dev/mapper/VolGroup-lv_home 50G

檢查是否成功:
[root@localhost ~]# mount /home
[root@localhost ~]# df -h
3、將lv_home邏輯分區減小到指定大小
[root@localhost ~]# lvreduce -L 50G /dev/mapper/VolGroup-lv_home 
我認為這個命令是將已經減少的385G空間拿到系統公共的區域,可以被其他分區加載和利用。
查詢卷組的信息:
[root@localhost ~]# vgdisplay
Free PE / Size指定的應該是現在可在分配的空間。
4、增加vg_centos-lv_root分區的大小
將可用的空間添加到vg_centos-lv_root分區上面:
[root@localhost ~]# lvextend -L +350G /dev/mapper/VolGroup-lv_root

從新設定該分區的大小:
[root@localhost ~]# resize2fs -p /dev/mapper/VolGroup-lv_root
5、再次查看分區大小
[root@localhost ~]# df -T
我們發現vg_centos-lv_root分區的空間已經增加了350G,之所以比lv_home減少的空間要多385G主要是由於我們把系統所有的可用的空間都加在了lv_root分區。
3、在設定lv_root的大小時,不要把Free PE / Size的空間全部都用上,這很可能會出現Free PE空間不足的現象,建議保留一點Free PE的空間。
