目录
准备工作
缩容扩容磁盘分区之前,建议先检查一下系统空间、分区大小。
- PV 物理卷:是LVM机制的基本存储设备,通常对应为一个普通分区或整个硬盘。
- VG 卷组:把多个物理卷加在一起,组成逻辑性的空间。
- LV 逻辑卷:逻辑卷建立在卷组之上,与物理卷没有直接关系。
- PE 最小的存储单元:默认为4M。
[root@localhost ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 20G 0 disk
├─sda1 8:1 0 1G 0 part /boot
└─sda2 8:2 0 19G 0 part
├─centos-root 253:0 0 17G 0 lvm /
└─centos-swap 253:1 0 2G 0 lvm [SWAP]
sr0 11:0 1 4.4G 0 rom /mnt/cdrom
[root@localhost ~]# df -Th
文件系统 类型 容量 已用 可用 已用% 挂载点
devtmpfs devtmpfs 2.3G 0 2.3G 0% /dev
tmpfs tmpfs 2.3G 0 2.3G 0% /dev/shm
tmpfs tmpfs 2.3G 13M 2.3G 1% /run
tmpfs tmpfs 2.3G 0 2.3G 0% /sys/fs/cgroup
/dev/mapper/centos-root xfs 17G 4.2G 13G 25% /
/dev/sda1 xfs 1014M 185M 830M 19% /boot
/dev/sr0 iso9660 4.4G 4.4G 0 100% /mnt/cdrom
tmpfs tmpfs 470M 12K 470M 1% /run/user/42
tmpfs tmpfs 470M 0 470M 0% /run/user/0
[root@localhost ~]# pvs
PV VG Fmt Attr PSize PFree
/dev/sda2 centos lvm2 a-- <19.00g 0
[root@localhost ~]# pvdisplay
--- Physical volume ---
PV Name /dev/sda2
VG Name centos
PV Size <19.00 GiB / not usable 3.00 MiB
Allocatable yes (but full)
PE Size 4.00 MiB
Total PE 4863
Free PE 0
Allocated PE 4863
PV UUID tmD2qe-WLkN-IHnw-dx8x-WnCM-mkjA-v6mNsH
[root@localhost ~]# vgs
VG #PV #LV #SN Attr VSize VFree
centos 1 2 0 wz--n- <19.00g 0
[root@localhost ~]# vgdisplay
--- Volume group ---
VG Name centos
System ID
Format lvm2
Metadata Areas 1
Metadata Sequence No 3
VG Access read/write
VG Status resizable
MAX LV 0
Cur LV 2
Open LV 2
Max PV 0
Cur PV 1
Act PV 1
VG Size <19.00 GiB
PE Size 4.00 MiB
Total PE 4863
Alloc PE / Size 4863 / <19.00 GiB
Free PE / Size 0 / 0
VG UUID UmMl0b-T9rD-iZb0-8HLV-yMtR-UsBa-Fa9M2c
[root@localhost ~]# lvs
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert
root centos -wi-ao---- <17.00g
swap centos -wi-ao---- 2.00g
[root@localhost ~]# lvdisplay
--- Logical volume ---
LV Path /dev/centos/swap
LV Name swap
VG Name centos
LV UUID Odowlm-XSm1-Nzd8-l29D-wr0y-5zOc-qBVV6o
LV Write Access read/write
LV Creation host, time localhost, 2023-02-22 10:10:23 +0000
LV Status available
# open 2
LV Size 2.00 GiB
Current LE 512
Segments 1
Allocation inherit
Read ahead sectors auto
- currently set to 8192
Block device 253:1
[root@localhost ~]# blkid //查看设备系统类型
/dev/mapper/centos-root: UUID="f4cf5ed7-b7a9-44e9-9819-8ce2caf71c98" TYPE="xfs"
/dev/sda2: UUID="tmD2qe-WLkN-IHnw-dx8x-WnCM-mkjA-v6mNsH" TYPE="LVM2_member"
/dev/sr0: UUID="2020-11-04-11-36-43-00" LABEL="CentOS 7 x86_64" TYPE="iso9660" PTTYPE="dos"
/dev/sda1: UUID="0e732300-fc6b-4137-8e15-3fb84b6b3df4" TYPE="xfs"
/dev/mapper/centos-swap: UUID="1f2bd885-4bbf-4ce9-8d24-a0828aee8245" TYPE="swap"
XFS缩容案例
XFS的LVM只能扩容不能在线缩容,如果强行用Ext4文件系统的LVM扩容方法去缩减空间,会导致出现Superblock错误无法挂载。
万不得已需要缩容XFS文件系统的LVM分区时一定要注意顺序。
备份数据(以/usr分区为例)
yum -y install xfsdump
xfsdump -f 数据存放路径 缩容分区目录
卸载分区
umount /usr
调整逻辑卷大小(从10G缩小为7G)
lvresize -L 7G /dev/mapper/centos-home
格式化以更新到最新大小
mkfs.xfs -f /dev/mapper/centos-home
挂载出来空分区
mount /dev/mapper/centos-home
dump数据恢复
xfsrestore -f /opt/home.dump /home
ext4缩容扩容案例
需求:将根目录缩小10G,再将10G扩容到/usr分区中;根分区从30G缩容为20G。
缩容根目录需要重启主机进入救援模式操作
1. 缩容根目录
重启主机进入救援模式
激活根分区所在的vg
vgchange -a y /dev/rhel
检查是否激活
lvscan
检查根分区文件系统是否正常
e2fsck -f /dev/rhel/root
缩小根分区大小为20G
resize2fs /dev/rhel/root 20G
根分区系统检查
fsck /dev/rhel/root
缩小lv大小
lvreduce -L 20G /dev/rhel/root
resize2fs /dev/rhel/root
fsck /dev/rhel/root
2. 扩容/usr分区
扩展/usr分区
lvextend -L +10G /dev/rhel/usr
resize2fs /dev/rhel/usr
3. 重启系统生效
退出rescue模式,重启系统
exit
检查是否扩容缩容成功
df -Th
lsblk
可参考:
https://blog.csdn.net/ahuang1202/article/details/120542507?spm=1001.2014.3001.5506
https://blog.csdn.net/feidrang/article/details/122711436?spm=1001.2014.3001.5506
https://blog.csdn.net/weixin_53060366/article/details/120173654?spm=1001.2014.3001.5506