第一季 LVM概念
逻辑卷管理LogicalVolumeManager(LVM):利用Linux内核的device-mapper来实现存储系统的虚拟化.
物理卷PhysicalVolume(PV):可以在上面建立卷组的媒介,可以是硬盘分区,也可以是硬盘本身或者回环文件(loopbackfile).物理卷包括一个特殊的header,其余部分被切割为一块块物理区域(physical extents).
卷组VolumeGroup(VG):将一组物理卷收集为一个管理单元.
逻辑卷LogicalVolume(LV):虚拟分区,由物理区域(PhysicalExtents)组成.逻辑卷即是挂载在目录上的卷.
物理区域PhysicalExtent(PE):硬盘可供指派给逻辑卷的最小单位(通常为4MB).
LVM扩容流程:创建一个物理分区-->将这个物理分区转换为物理卷PV-->把这个物理卷添加到要扩展的卷组中VG-->然后用extend命令扩展此卷组中的逻辑卷LVM.
第二季 LVM根分区扩容
1、当前版本
[root@k3s19-db ~]# cat /etc/redhat-release
CentOS Linux release 7.9.2009 (Core)
[root@k3s19-db ~]# uname -r
5.12.9-1.el7.elrepo.x86_64
2、查看分区信息
[root@k3s19-db ~]# df -TH
文件系统 类型 容量 已用 可用 已用% 挂载点
devtmpfs devtmpfs 8.4G 0 8.4G 0% /dev
tmpfs tmpfs 8.4G 0 8.4G 0% /dev/shm
tmpfs tmpfs 8.4G 9.1M 8.4G 1% /run
tmpfs tmpfs 8.4G 0 8.4G 0% /sys/fs/cgroup
/dev/mapper/centos-root xfs 35G 4.7G 30G 14% /
/dev/vda1 xfs 207M 193M 15M 94% /boot
tmpfs tmpfs 1.7G 0 1.7G 0% /run/user/0
pvdisplay #查看物理卷
vgdisplay #查看卷组
lvdisplay #查看逻辑卷
[root@k3s19-db ~]# pvs
PV VG Fmt Attr PSize PFree
/dev/vda2 centos lvm2 a-- 39.80g 0
[root@k3s19-db ~]# vgs
VG #PV #LV #SN Attr VSize VFree
centos 1 2 0 wz--n- 39.80g 0
[root@k3s19-db ~]# lvs
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert
root centos -wi-ao---- 31.80g
swap centos -wi-ao---- 8.00g
[root@k3s19-db ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sr0 11:0 1 1024M 0 rom
fd0 2:0 1 4K 0 disk
vda 252:0 0 1000G 0 disk
├─vda2 252:2 0 39.8G 0 part
│ ├─centos-swap 253:1 0 8G 0 lvm [SWAP]
│ └─centos-root 253:0 0 31.8G 0 lvm /
└─vda1 252:1 0 200M 0 part /boot
3、新增一块1T的磁盘用于扩容,格式化(我这里直接把原有硬盘vda调整到1T)
4、把新增磁盘分区,格式调整为LVM
[root@k3s19-db ~]# fdisk /dev/vda
命令(输入 m 获取帮助):n
Partition type:
p primary (2 primary, 0 extended, 2 free)
e extended
Select (default p): p
分区号 (3,4,默认 3):
起始 扇区 (83886080-2097151999,默认为 83886080):
将使用默认值 83886080
Last 扇区, +扇区 or +size{K,M,G} (83886080-2097151999,默认为 2097151999):
将使用默认值 2097151999
分区 3 已设置为 Linux 类型,大小设为 960 GiB
命令(输入 m 获取帮助):w
5、刷新分区即可看到vda3
[root@k3s19-db ~]# partprobe /dev/vda
[root@k3s19-db ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sr0 11:0 1 1024M 0 rom
fd0 2:0 1 4K 0 disk
vda 252:0 0 1000G 0 disk
├─vda2 252:2 0 39.8G 0 part
│ ├─centos-swap 253:1 0 8G 0 lvm [SWAP]
│ └─centos-root 253:0 0 31.8G 0 lvm /
├─vda3 252:3 0 960G 0 part
└─vda1 252:1 0 200M 0 part /boot
6、创建PV
[root@k3s19-db ~]# pvcreate /dev/vda3
Physical volume "/dev/vda3" successfully created.
[root@k3s19-db ~]# pvs
PV VG Fmt Attr PSize PFree
/dev/vda2 centos lvm2 a-- 39.80g 0
/dev/vda3 lvm2 --- 960.00g 960.00g
7、把PV扩展到VG
[root@k3s19-db ~]# vgextend centos /dev/vda3
Volume group "centos" successfully extendedvg
[root@k3s19-db ~]# vgs
VG #PV #LV #SN Attr VSize VFree
centos 2 2 0 wz--n- <999.80g <960.00g
#查看扩展后的VG,容量增加有没有扩展成功
[root@k3s19-db ~]# vgdisplay
--- Volume group ---
VG Name centos
System ID
Format lvm2
Metadata Areas 2
Metadata Sequence No 5
VG Access read/write
VG Status resizable
MAX LV 0
Cur LV 2
Open LV 2
Max PV 0
Cur PV 2
Act PV 2
VG Size <999.80 GiB
PE Size 4.00 MiB
Total PE 255948
Alloc PE / Size 10189 / 39.80 GiB
Free PE / Size 245759 / <960.00 GiB
VG UUID a6E1TP-mnjA-wy0v-Ddgm-d9kd-9tl9-y5UfHm
8、使用VG扩展LVM资源
[root@k3s19-db ~]# lvs
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert
root centos -wi-ao---- 31.80g
swap centos -wi-ao---- 8.00g
[root@k3s19-db ~]# lvdisplay
--- Logical volume ---
LV Path /dev/centos/swap
LV Name swap
VG Name centos
LV UUID UTJ3XB-yvNi-E8HX-GyY2-1swh-e3ZG-YuFBbw
LV Write Access read/write
LV Creation host, time localhost.localdomain, 2021-06-02 16:15:27 +0800
LV Status available
# open 2
LV Size 8.00 GiB
Current LE 2048
Segments 1
Allocation inherit
Read ahead sectors auto
- currently set to 8192
Block device 253:1
--- Logical volume ---
LV Path /dev/centos/root
LV Name root
VG Name centos
LV UUID 94Bdf5-t2wT-RzfO-fprc-ctzv-2Fyd-8OvEXM
LV Write Access read/write
LV Creation host, time localhost.localdomain, 2021-06-02 16:15:27 +0800
LV Status available
# open 1
LV Size 31.80 GiB
Current LE 8141
Segments 1
Allocation inherit
Read ahead sectors auto
- currently set to 8192
Block device 253:0
[root@k3s19-db ~]# lvextend -l +100%FREE /dev/centos/root
Size of logical volume centos/root changed from 31.80 GiB
(8141 extents) to <991.80 GiB (253900 extents).
Logical volume centos/root successfully resized.
9、刷新根分区
#(XFS格式的磁盘不支持减少空间)
[root@k3s19-db ~]# xfs_growfs /dev/centos/root
meta-data=/dev/mapper/centos-root isize=512 agcount=4, agsize=2084096 blks
= sectsz=512 attr=2, projid32bit=1
= crc=1 finobt=0 spinodes=0
data = bsize=4096 blocks=8336384, imaxpct=25
= sunit=0 swidth=0 blks
naming =version 2 bsize=4096 ascii-ci=0 ftype=1
log =internal bsize=4096 blocks=4070, version=2
= sectsz=512 sunit=0 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0
data blocks changed from 8336384 to 259993600
#注:如果文件类型是ext4,格式化命令
resize2fs /dev/centos/root
mkfs.ext4 /dev/centos/root
[root@k3s19-db ~]# df -h
文件系统 容量 已用 可用 已用% 挂载点
devtmpfs 7.8G 0 7.8G 0% /dev
tmpfs 7.8G 0 7.8G 0% /dev/shm
tmpfs 7.8G 8.7M 7.8G 1% /run
tmpfs 7.8G 0 7.8G 0% /sys/fs/cgroup
/dev/mapper/centos-root 992G 4.3G 988G 1% /
/dev/vda1 197M 184M 14M 94% /boot
tmpfs 1.6G 0 1.6G 0% /run/user/0
第三季 开机启动自动挂载
[root@k3s19-db ~]# blkid
[root@k3s19-db ~]# cat /etc/fstab
#
# /etc/fstab
# Created by anaconda on Wed Jun 2 16:15:28 2021
#
# Accessible filesystems, by reference, are maintained under '/dev/disk'
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
#
/dev/mapper/centos-root / xfs defaults 0 0
UUID=2c80a0df-5352-4340-9827-05d0cbe4346e /boot xfs defaults 0 0
/dev/mapper/centos-swap swap swap defaults 0 0
作者:ordinaryRoadX
出处:https://www.cnblogs.com/ordinaryRoadX/p/14864887.html
版权:本作品采用「署名-非商业性使用-相同方式共享 4.0 国际」许可协议进行许可。