1.檢視分割槽
df -h (centos-home和centos-root每人的名字可能不一樣)
vgdisplay (檢視空閒磁碟大小)
2.備份home分割槽檔案
tar cvf /tmp/home.tar /home
3.解除安裝/home,如果無法解除安裝,先終止使用/home檔案系統的程式
umount /home (解除安裝)
fuser -km /home/(終止)
4.刪除/home所在的lv
lvremove /dev/mapper/centos-home
5.擴充套件/root所在的lv
lvextend -L +50G /dev/mapper/centos-root
6.擴充套件/root檔案系統
xfs_growfs /dev/mapper/centos-root
7.重新建立home lv
lvcreate -L 50G -n /dev/mapper/centos-home
8.建立檔案系統
mkfs.xfs /dev/mapper/centos-home
9.掛載home
mount /dev/mapper/centos-home
10.home檔案恢復
tar xvf /tmp/home.tar -C /home/
---------------------------以下方案用於EXT4檔案系統------------------------------------------------
基於centos6.5 x86_64, runlevel 3,命令列模式,測試成功。
1.首先檢視磁碟使用情況
[root@localhost ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/VolGroup-lv_root 50G 769M 46G 2% /
tmpfs 32G 0 32G 0% /dev/shm
/dev/sda2 485M 33M 428M 8% /boot
/dev/sda1 200M 260K 200M 1% /boot/efi
/dev/mapper/VolGroup-lv_home 468G 198M 444G 1% /home
2、解除安裝/home
[root@localhost ~]# umount /home #注意要先備份一下/home目錄的重要資料
umount /home 如果提示無法解除安裝,則是有程式佔用/home,使用如下命令來終止佔用程式:
[root@localhost ~]# fuser -m /home #即使沒有佔用,也最好執行一下
3、調整分割槽大小
[root@localhost ~]# resize2fs -p /dev/mapper/VolGroup-lv_home 50G
如果提示執行“e2fsck -f /dev/mapper/VolGroup-lv_home”,則執行相關命令:
[root@localhost ~]# e2fsck -f /dev/mapper/VolGroup-lv_home 然後重新執行命令:
[root@localhost ~]# resize2fs -p /dev/mapper/VolGroup-lv_home 50G
注:resize2fs 為重新設定磁碟大小,只是重新指定一下大小,並不對結果有影響,需要下面lvreduce的配合
4、掛載上/home,檢視磁碟使用情況
[root@localhost ~]# mount /home
[root@localhost ~]# df -h
5、設定空閒空間
使用lvreduce指令用於減少LVM邏輯卷佔用的空間大小。可能會刪除邏輯捲上已有的資料,所以在操作前必須進行確認。記得輸入 “y”
[root@localhost ~]# lvreduce -L 50G /dev/mapper/VolGroup-lv_home #-L是設為,-l是減小的值。
WARNING: Reducing active and open logical volume to 50.00 GiB
THIS MAY DESTROY YOUR DATA (filesystem etc.)
Do you really want to reduce lv_home? [y/n]: y
Reducing logical volume lv_home to 50.00 GiB
Logical volume lv_home successfully resized
#注:lvreduce -L 20G的意思為設定當前檔案系統為20G,如果lvreduce -l 20G是指從當前檔案系統上減少20G
使用lvreduce減小邏輯卷的大小。注意:減小後的大小不能小於檔案的大小,否則會丟失資料。
可以使用vgdisplay命令等檢視一下可以操作的大小。也可以是用fdisk -l命令檢視詳細資訊。
注:vgdisplay為顯示LVM卷組的後設資料資訊
[root@localhost ~]# vgdisplay
--- Volume group ---
VG Name VolGroup
System ID
Format lvm2
Metadata Areas 1
Metadata Sequence No 5
VG Access read/write
VG Status resizable
MAX LV 0
Cur LV 3
Open LV 3
Max PV 0
Cur PV 1
Act PV 1
VG Size 556.24 GiB
PE Size 4.00 MiB
Total PE 142398
Alloc PE / Size 33606 / 131.27 GiB
Free PE / Size 108792 / 424.97 GiB
VG UUID 0uR8GM-Spcx-1i3B-CpwG-c14q-wnrD-Wf6YvV
#注:其中Free PE / Size指定的應該是現在可在分配的空間。在設定lv_root的大小時,不要把Free PE / Size的空間全部都用上,這很可能會出現Free PE空間不足的現象,建議保留一點Free PE的空間。
6.把閒置空間掛在到根目錄下
注:lvextend -L +424.90G為在檔案系統上增加+424.90G
[root@localhost ~]# lvextend -L +424.90G /dev/mapper/VolGroup-lv_root
Rounding size to boundary between physical extents: 424.90 GiB
Extending logical volume lv_root to 474.90 GiB
Logical volume lv_root successfully resized
重新設定該分割槽的大小:
[root@localhost ~]# resize2fs -p /dev/mapper/VolGroup-lv_root
resize2fs 1.41.12 (17-May-2010)
Filesystem at /dev/mapper/VolGroup-lv_root is mounted on /; on-line resizing required
old desc_blocks = 4, new_desc_blocks = 30
Performing an on-line resize of /dev/mapper/VolGroup-lv_root to 124492800 (4k) blocks.
The filesystem on /dev/mapper/VolGroup-lv_root is now 124492800 blocks long.
#注:在Performing an on-line....會停留比較長的時間!!!如果空間在的話預計15分鐘左右,要!!耐心等待!!即可完成。
7、檢查調整結果
[root@localhost ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/VolGroup-lv_root 468G 787M 443G 1% /
tmpfs 32G 0 32G 0% /dev/shm
/dev/sda2 485M 33M 428M 8% /boot
/dev/sda1 200M 260K 200M 1% /boot/efi
/dev/mapper/VolGroup-lv_home 50G 180M 47G 1% /home