Centos

如何在 CentOS7 上縮小 /home 並增加更多空間

  • October 12, 2021

CentOS 7文件系統是XFS,並且resize2fs不起作用。我需要縮小/home到 400G 並添加 100G 空間到/. 我該怎麼辦?

# df -h
Filesystem               Size  Used Avail Use% Mounted on
/dev/mapper/centos-root   50G   50G  341M 100% /
devtmpfs                 7.8G     0  7.8G   0% /dev
tmpfs                    7.8G   84K  7.8G   1% /dev/shm
tmpfs                    7.8G  778M  7.0G  10% /run
tmpfs                    7.8G     0  7.8G   0% /sys/fs/cgroup
/dev/sda1                497M  241M  257M  49% /boot
tmpfs                    1.6G   16K  1.6G   1% /run/user/42
tmpfs                    1.6G     0  1.6G   0% /run/user/0
/dev/mapper/centos-home  500G   20G  480G   4% /home

lvs、vgs和pvs的輸出為:

[root@localhost]~# lvs -v
   Using logical volume(s) on command line.
 LV   VG     #Seg Attr       LSize   Maj Min KMaj KMin Pool Origin Data%  Meta%  Move Cpy%Sync Log Convert LV UUID                                LProfile
 home centos    1 -wi-ao---- 499.38g  -1  -1  253    2                                                     4I53D9-7VSm-HN9H-QsSp-FvFU-5R9D-y5VwsN         
 root centos    1 -wi-ao----  50.00g  -1  -1  253    0                                                     LGRoEL-0EHz-G135-p6vx-Lt2s-RvI5-qdT9Sm         
 swap centos    1 -wi-ao----   7.81g  -1  -1  253    1                                                     UYB5xP-cEyV-lWvn-blIq-8s13-9kVB-ykjIWI         
[root@localhost]~# vgs -v
   Using volume group(s) on command line.
 VG     Attr   Ext   #PV #LV #SN VSize   VFree  VG UUID                                VProfile
 centos wz--n- 4.00m   1   3   0 557.26g 64.00m Gd5c08-ujdQ-fsix-o7z6-Wfsv-C0uW-XzDois         
[root@localhost]~# pvs -v
   Using physical volume(s) on command line.
   Found same device /dev/sda2 with same pvid TCmreQr93apETNoTl8bMc54l57FZ5hut
 PV         VG     Fmt  Attr PSize   PFree  DevSize PV UUID                               
 /dev/sda2  centos lvm2 a--  557.26g 64.00m 557.26g TCmreQ-r93a-pETN-oTl8-bMc5-4l57-FZ5hut
[root@localhost]~# 

正如其他人指出的那樣,XFS 文件系統不能縮小。

因此,最好的辦法是備份 /home,刪除並以較小的大小重新創建其卷,然後將其餘部分交給 /root 卷,正如 Koen van der Rijt 在他的文章中概述的那樣。

• 備份/home 的內容

tar -czvf /root/home.tgz -C /home .

• 測試備份

tar -tvf /root/home.tgz

• 解除安裝回家

umount /dev/mapper/centos-home

• 刪除主邏輯卷

lvremove /dev/mapper/centos-home

• 為/home 重新創建一個新的400GB 邏輯卷,格式化並掛載它

lvcreate -L 400GB -n home centos
mkfs.xfs /dev/centos/home
mount /dev/mapper/centos-home

• 使用所有剩餘空間擴展您的 /root 卷,並在這樣做的同時調整文件系統的大小 (-r)

lvextend -r -l +100%FREE /dev/mapper/centos-root

• 恢復您的備份

tar -xzvf /root/home.tgz -C /home

• 檢查/etc/fstab 以獲取/home 卷的任何映射。如果它使用 UUID,您應該更新 UUID 部分。(由於我們創建了一個新卷,UUID 已經改變)

就是這樣。

希望這可以幫助。

請添加此內容以同步更改:

dracut –regenerate-all –force

引用自:https://serverfault.com/questions/771921