Linux系统LVM缩减home分区大小,扩容swap分区容量

Linux系统LVM缩减home分区大小,扩容swap分区容量

𝓓𝓸𝓷 Lv6

调整Linux系统 /home分区和swap分区大小

一、备份数据

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
# ll /home/admin/
总用量 0
drwxr-xr-x. 2 admin admin 6 4月 1 14:30 公共
drwxr-xr-x. 2 admin admin 6 4月 1 14:30 模板
drwxr-xr-x. 2 admin admin 6 4月 1 14:30 视频
drwxr-xr-x. 2 admin admin 6 4月 1 14:30 图片
drwxr-xr-x. 2 admin admin 6 4月 1 14:30 文档
drwxr-xr-x. 2 admin admin 6 4月 1 14:30 下载
drwxr-xr-x. 2 admin admin 6 4月 1 14:30 音乐
drwxr-xr-x. 2 admin admin 6 4月 1 14:30 桌面

# mv /home/* /data

# ll /data/admin/
总用量 0
drwxr-xr-x. 2 admin admin 6 4月 1 14:30 公共
drwxr-xr-x. 2 admin admin 6 4月 1 14:30 模板
drwxr-xr-x. 2 admin admin 6 4月 1 14:30 视频
drwxr-xr-x. 2 admin admin 6 4月 1 14:30 图片
drwxr-xr-x. 2 admin admin 6 4月 1 14:30 文档
drwxr-xr-x. 2 admin admin 6 4月 1 14:30 下载
drwxr-xr-x. 2 admin admin 6 4月 1 14:30 音乐
drwxr-xr-x. 2 admin admin 6 4月 1 14:30 桌面

二、查看分区

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
# df -Th
文件系统 类型 容量 已用 可用 已用% 挂载点
/dev/mapper/centos-root xfs 50G 8.9G 42G 18% /
devtmpfs devtmpfs 16G 0 16G 0% /dev
tmpfs tmpfs 16G 0 16G 0% /dev/shm
tmpfs tmpfs 16G 9.5M 16G 1% /run
tmpfs tmpfs 16G 0 16G 0% /sys/fs/cgroup
/dev/sda1 xfs 1014M 178M 837M 18% /boot
/dev/mapper/data-lvdata xfs 899G 138G 762G 16% /data
/dev/mapper/centos-home xfs 42G 38M 42G 1% /home
tmpfs tmpfs 3.2G 12K 3.2G 1% /run/user/42
tmpfs tmpfs 3.2G 0 3.2G 0% /run/user/0
/dev/mapper/data-lv_u01 xfs 100G 33M 100G 1% /u01
/dev/loop0 iso9660 4.3G 4.3G 0 100% /media
/dev/loop1 iso9660 4.3G 4.3G 0 100% /mnt


# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 100G 0 disk
├─sda1 8:1 0 1G 0 part /boot
└─sda2 8:2 0 99G 0 part
├─centos-root 253:0 0 50G 0 lvm /
├─centos-swap 253:1 0 7.9G 0 lvm [SWAP]
└─centos-home 253:4 0 41.1G 0 lvm /home
sdb 8:16 0 1000G 0 disk
└─sdb1 8:17 0 1000G 0 part
├─data-lvdata 253:2 0 899G 0 lvm /data
└─data-lv_u01 253:3 0 100G 0 lvm /u01
loop0 7:0 0 4.3G 0 loop /media
loop1 7:1 0 4.3G 0 loop /mnt


# vgs
VG #PV #LV #SN Attr VSize VFree
centos 1 3 0 wz--n- <99.00g 4.00m
data 1 2 0 wz--n- <1000.00g 1020.00m

三、卸载/home分区

1
2
3
4
5
6
# umount /home 

如果有进程占用,无法卸载,则可以使用以下命令终止进程:
# fuser -m -v -i -k /home
或强行卸载
# umount -fl /home

五、调整/home分区大小

1.ext2/ext3/ext4文件系统
1
2
3
4
5
6
7
8
lvextend -L 120G /dev/mapper/centos-home //增大至120G
lvextend -L +20G /dev/mapper/centos-home //增加20G
lvreduce -L 50G /dev/mapper/centos-home //减小至50G
lvreduce -L -8G /dev/mapper/centos-home //减小8G

resize2fs /dev/mapper/centos-home //执行调整

ze2fs -p /dev/mapper/centos-home 30G
2.xfs文件系统(只支持增大)

如果确实要减小xfs文件系统的分区容量,只能在减小后通过 mkfs.xfs 格式化原分区,这样的话这个逻辑分区的数据就丢失

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
lvextend -L 120G /dev/mapper/centos-home //增大至120G
lvextend -L +20G /dev/mapper/centos-home //增加20G
lvextend -L +20G /dev/mapper/centos-home //增加20G

lvreduce -L -12G /dev/mapper/centos-home //减小
xfs_growfs /dev/mapper/centos-home //执行调整v



# lvreduce -L -12G /dev/mapper/centos-home
WARNING: Reducing active logical volume to <29.12 GiB.
THIS MAY DESTROY YOUR DATA (filesystem etc.)
Do you really want to reduce centos/home? [y/n]: y
Size of logical volume centos/home changed from <41.12 GiB (10526 extents) to <29.12 GiB (7454 extents).
Logical volume centos/home successfully resized.

六、验证

1
2
3
4
5
6
7
# vgs
VG #PV #LV #SN Attr VSize VFree
centos 1 3 0 wz--n- <99.00g 12.00g
data 1 2 0 wz--n- <1000.00g 1020.00m

# vgdisplay centos |grep -i free
Free PE / Size 3073 / 12.00 GiB

七、重新挂载/home分区

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
# mount /dev/mapper/centos-home /home
mount: /dev/mapper/centos-home:不能读超级块

# mkfs.xfs /dev/mapper/centos-home
mkfs.xfs: /dev/mapper/centos-home appears to contain an existing filesystem (xfs).
mkfs.xfs: Use the -f option to force overwrite.

# mkfs.xfs -f /dev/mapper/centos-home
meta-data=/dev/mapper/centos-home isize=512 agcount=4, agsize=1908224 blks
= sectsz=512 attr=2, projid32bit=1
= crc=1 finobt=0, sparse=0
data = bsize=4096 blocks=7632896, imaxpct=25
= sunit=0 swidth=0 blks
naming =version 2 bsize=4096 ascii-ci=0 ftype=1
log =internal log bsize=4096 blocks=3727, version=2
= sectsz=512 sunit=0 blks, lazy-count=1
realtime =none


# mount /dev/mapper/centos-home /home

# df -Th |grep home
/dev/mapper/centos-home xfs 30G 33M 30G 1% /home

八、数据移回/home分区

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
# mv /data/admin /home/

# ll /home/
总用量 4
drwx------. 15 admin admin 4096 4月 1 14:30 admin

# ll /home/admin/
总用量 0
drwxr-xr-x. 2 admin admin 6 4月 1 14:30 公共
drwxr-xr-x. 2 admin admin 6 4月 1 14:30 模板
drwxr-xr-x. 2 admin admin 6 4月 1 14:30 视频
drwxr-xr-x. 2 admin admin 6 4月 1 14:30 图片
drwxr-xr-x. 2 admin admin 6 4月 1 14:30 文档
drwxr-xr-x. 2 admin admin 6 4月 1 14:30 下载
drwxr-xr-x. 2 admin admin 6 4月 1 14:30 音乐
drwxr-xr-x. 2 admin admin 6 4月 1 14:30 桌面

九、LVM扩容Swap分区

1.查看swap分区大小
1
2
3
4
5
6
7
8
9
10
11
# free -m
total used free shared buff/cache available
Mem: 32011 539 230 13 31240 31012
Swap: 8063 0 8063

# lsblk |grep swap
├─centos-swap 253:1 0 7.9G 0 lvm [SWAP]

# swapon --show
NAME TYPE SIZE USED PRIO
/dev/dm-1 partition 7.9G 0B -2
2.卸载swap分区
1
2
3
4
5
6
# swapoff /dev/mapper/centos-swap

# free -m
total used free shared buff/cache available
Mem: 32011 534 214 13 31262 31018
Swap: 0 0 0
3.增加swap分区大小
1
2
3
lvextend -l +100%FREE /dev/mapper/centos-swap

lvextend -L +16G /dev/mapper/centos-swap
4.格式化swap分区
1
# mkswap /dev/mapper/centos-swap
5.挂载swap分区
1
2
3
4
5
# swapon /dev/mapper/centos-swap
# free -m
total used free shared buff/cache available
Mem: 32011 548 215 13 31247 31002
Swap: 20355 0 20355
  • Title: Linux系统LVM缩减home分区大小,扩容swap分区容量
  • Author: 𝓓𝓸𝓷
  • Created at : 2025-04-01 17:49:31
  • Updated at : 2025-04-01 19:49:07
  • Link: https://www.zhangdong.me/linux-reduce-partition-size.html
  • License: This work is licensed under CC BY-NC-SA 4.0.
评论