Linux系统LVM缩减home分区大小,扩容swap分区容量
调整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