计算机知识分享网

【rockylinux】rockylinux下xfs格式缩小扩容其他目录大小

比如我们安装好系统后,发现/home目录下空间很大,但是/目录下却很小,所以可以缩小/home空间,扩容/目录,这里以rockylinux为例,其他linux系统也类似。

查看挂载点使用情况,这里重点关注/目录和/home目录以及/dev/mapper/rl-root/dev/mapper/rl-home
[guest@localhost ~]$ df -h  
文件系统             容量  已用  可用 已用% 挂载点
devtmpfs             4.0M     0  4.0M    0% /dev
tmpfs                3.7G   84K  3.7G    1% /dev/shm
tmpfs                1.5G   13M  1.5G    1% /run
efivarfs             192K   87K  101K   46% /sys/firmware/efi/efivars
/dev/mapper/rl-root   70G  7.4G   63G   11% /
/dev/mapper/rl-home  160G  1.2G  159G    1% /home
/dev/nvme0n1p2       960M  460M  501M   48% /boot
/dev/nvme0n1p1       599M  7.1M  592M    2% /boot/efi
tmpfs                746M  108K  746M    1% /run/user/1000
查看两个目录是什么格式的,这里可以看到是rl-root xfsrl-home xfs
[guest@localhost ~]$ lsblk -f
NAME        FSTYPE      FSVER    LABEL UUID                                   FSAVAIL FSUSE% MOUNTPOINTS
nvme0n1                                                                                      
├─nvme0n1p1 vfat        FAT32          DFE3-22BA                               591.8M     1% /boot/efi
├─nvme0n1p2 xfs                        364ab21f-2f5c-4767-a86b-c3e2fc9e030c    500.1M    48% /boot
└─nvme0n1p3 LVM2_member LVM2 001       NfBi96-blrg-tIjC-44Xm-gDhb-JMf4-Ap64Jw                
  ├─rl-root xfs                        828ab670-ee5e-45a6-b552-40518572a8e8     62.6G    11% /
  ├─rl-swap swap        1              41b5eddb-08ca-4e10-89e3-9b8a7ab66afd                  [SWAP]
  └─rl-home xfs                        2a47cfef-84e8-4008-83a2-17f121b0287c      158G     1% /home
查看卷组(硬盘)剩余空间
[root@localhost guest]# vgdisplay
  --- Volume group ---
  VG Name               rl
  System ID             
  Format                lvm2
  Metadata Areas        1
  Metadata Sequence No  4
  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               <236.89 GiB
  PE Size               4.00 MiB
  Total PE              60643
  Alloc PE / Size       60643 / <236.89 GiB
  Free  PE / Size       0 / 0   
  VG UUID               0bDsb4-erz2-9w6p-uVM0-FPC3-betm-hMvVaD
确认/home/对应的逻辑卷名称(这里是:/dev/rl/home/dev/rl/root
[root@localhost guest]# lvdisplay
  --- Logical volume ---
  LV Path                /dev/rl/swap
  LV Name                swap
  VG Name                rl
  LV UUID                7qcKdi-D240-M0iz-UGIw-KxsT-jJ1E-lqjpyJ
  LV Write Access        read/write
  LV Creation host, time localhost.localdomain, 2025-09-11 14:36:45 +0800
  LV Status              available
  # open                 2
  LV Size                <7.66 GiB
  Current LE             1960
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     256
  Block device           253:1
   
  --- Logical volume ---
  LV Path                /dev/rl/home
  LV Name                home
  VG Name                rl
  LV UUID                QhxX3T-kfiC-BBIT-9daL-RPcO-aGX6-nCVfsn
  LV Write Access        read/write
  LV Creation host, time localhost.localdomain, 2025-09-11 14:36:45 +0800
  LV Status              available
  # open                 1
  LV Size                159.23 GiB
  Current LE             40763
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     256
  Block device           253:2
   
  --- Logical volume ---
  LV Path                /dev/rl/root
  LV Name                root
  VG Name                rl
  LV UUID                DJoJnG-PJIp-g2rr-ILmj-4woG-5qyZ-PLz2j7
  LV Write Access        read/write
  LV Creation host, time localhost.localdomain, 2025-09-11 14:36:45 +0800
  LV Status              available
  # open                 1
  LV Size                70.00 GiB
  Current LE             17920
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     256
  Block device           253:0
备份/home目录下的文件
mkdir /home_bak
mv /home/* /home_bak
取消挂载/home,这里建议直接用root用户
umount /home 

#### 如果提示进程忙,不让取消挂载,需要安装库,然后结束正在使用/home的进程
yum install psmisc
fuser -m /home
# 这里是得到进程id,如果有多个,需要全部kill
kill -9 3174

### 可以再次确认,强制检查文件系统(xfs)
e2fsck -f /dev/mapper/rl-home
执行删除逻辑卷
lvremove /dev/mapper/rl-home
创建卷,home目录,卷名为rl50Ghome目录分配的空间,可自行修改
# 这里说明,是给了50G,所以该大小必须是大于之前/home目录的所有文件大小,也就是以后/home一共只有50G
lvcreate -L 50G -n home rl
格式化文件系统以及重新挂载目录
mkfs -t xfs /dev/mapper/rl-home
# 挂载
mount /dev/mapper/rl-home /home
扩展根目录逻辑卷以及扩展根目录文件系统,增加/目录下的大小
lvextend -l +100%FREE /dev/mapper/rl-root
xfs_growfs /dev/mapper/rl-root
还原之前备份的/home下的数据,因为重新创建以及挂载了
mv /home_bak/* /home
rm -rf /home_bak/*
最后可以看到扩容成功
[root@localhost ~]# df -h
文件系统             容量  已用  可用 已用% 挂载点
devtmpfs             4.0M     0  4.0M    0% /dev
tmpfs                3.7G     0  3.7G    0% /dev/shm
tmpfs                1.5G   11M  1.5G    1% /run
efivarfs             192K   87K  101K   46% /sys/firmware/efi/efivars
/dev/nvme0n1p2       960M  504M  457M   53% /boot
/dev/nvme0n1p1       599M  7.1M  592M    2% /boot/efi
tmpfs                746M   52K  746M    1% /run/user/42
overlay              180G  7.9G  172G    5% /var/lib/docker/overlay2/af3517cbeede7b7bb3f848c595eea54815bc0cc6b2cda5f0891f69c96ed408ac/merged
tmpfs                746M   36K  746M    1% /run/user/0
/dev/mapper/rl-home   50G  397M   50G    1% /home
/dev/mapper/rl-root  180G  7.9G  172G    5% /

#Rockylinux