什么是lvm:
你看哇这个例子,可能就懂了
假如我们生活中需要磁盘空间,但是你所在的挂载目录空间又恰好满了,那么我们如何增加磁盘去给挂载目录空间呢?一般正常情况下,是要停掉业务,增加磁盘 如果说停掉业务,会浪费大量资源和人力,最重要的是客户流量会流失。那我们就会出现 LVM,不会在停止业务的情况下增加磁盘空间。
表格

创建3个分区
命令(输入 m 获取帮助):n
分区类型
p 主分区 (1 primary, 0 extended, 3 free)
e 扩展分区 (逻辑分区容器)
选择 (默认 p):
将使用默认回应 p。
分区号 (2-4, 默认 2):
第一个扇区 (10487808-41943039, 默认 10487808):
最后一个扇区,+/-sectors 或 +size{K,M,G,T,P} (10487808-41943039, 默认 41943039): +3G
创建了一个新分区 2,类型为"Linux",大小为 3 GiB。
创建物理卷
[root@client ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS
sr0 11:0 1 11.9G 0 rom
nvme0n1 259:0 0 100G 0 disk
├─nvme0n1p1 259:1 0 1G 0 part /boot
└─nvme0n1p2 259:2 0 99G 0 part
├─rhel_172-root 253:0 0 95.1G 0 lvm /
└─rhel_172-swap 253:1 0 3.9G 0 lvm [SWAP]
nvme0n2 259:3 0 20G 0 disk
├─nvme0n2p1 259:4 0 5G 0 part
├─nvme0n2p2 259:5 0 3G 0 part
└─nvme0n2p3 259:6 0 12G 0 part
[root@client ~]# pvcreate /dev/nvme0n2p1 /dev/nvme0n2p2 /dev/nvme0n2p3
WARNING: xfs signature detected on /dev/nvme0n2p1 at offset 0. Wipe it? [y/n]: y
Wiping xfs signature on /dev/nvme0n2p1.
Physical volume "/dev/nvme0n2p1" successfully created.
Physical volume "/dev/nvme0n2p2" successfully created.
Physical volume "/dev/nvme0n2p3" successfully created.
[root@client ~]# pvscan
PV /dev/nvme0n1p2 VG rhel_172 lvm2 [<99.00 GiB / 0 free]
PV /dev/nvme0n2p1 lvm2 [5.00 GiB]
PV /dev/nvme0n2p2 lvm2 [3.00 GiB]
PV /dev/nvme0n2p3 lvm2 [<12.00 GiB]
Total: 4 [<119.00 GiB] / in use: 1 [<99.00 GiB] / in no VG: 3 [<20.00 GiB]
[root@client ~]# pvdisplay /dev/nvme0n2p1
"/dev/nvme0n2p1" is a new physical volume of "5.00 GiB"
--- NEW Physical volume ---
PV Name /dev/nvme0n2p1
VG Name
PV Size 5.00 GiB
Allocatable NO
PE Size 0
Total PE 0
Free PE 0
Allocated PE 0
PV UUID qrchLX-QbE0-K9Nh-fWrT-5sQS-icfk-hLnLHI
卷组
[root@client ~]# vgcreate vg1 /dev/nvme0n2p1 /dev/nvme0n2p2 /dev/nvme0n2p3
#创建卷组
Volume group "vg1" successfully created
[root@client ~]# vgscan
Found volume group "vg1" using metadata type lvm2
Found volume group "rhel_172" using metadata type lvm2
# 查看卷组详细信息
[root@client ~]# vgdisplay vg1
--- Volume group ---
VG Name vg1
System ID
Format lvm2
Metadata Areas 4
Metadata Sequence No 4
VG Access read/write
VG Status resizable
MAX LV 0
Cur LV 2
Open LV 0
Max PV 0
Cur PV 4
Act PV 4
VG Size 20GiB
PE Size 4.00 MiB
Total PE 6396
Alloc PE / Size 756 / 2.95 GiB
Free PE / Size 5640 / 22.03 GiB
VG UUID dN6BZh-qqCA-2Zil-bjkD-JXk6-FUcn-CdcR3l
逻辑卷
[root@client ~]# lvcreate -n lv1 -L 1G vg1 #创建一个vg1逻辑卷
Logical volume "lv1" created.
[root@client ~]# lvdisplay /dev/vg1/lv1
--- Logical volume ---
LV Path /dev/vg1/lv1
LV Name lv1
VG Name vg1
LV UUID EdQczW-3DVp-NH6h-iK0M-UMQj-2TKp-urWJTp
LV Write Access read/write
LV Creation host, time client, 2026-04-01 20:20:24 +0800
LV Status available
# open 0
LV Size 1.00 GiB
Current LE 256
Segments 1
Allocation inherit
Read ahead sectors auto
- currently set to 8192
Block device 253:2
[root@client ~]# lvscan
ACTIVE '/dev/vg1/lv1' [1.00 GiB] inherit
ACTIVE '/dev/rhel_172/root' [95.08 GiB] inherit
ACTIVE '/dev/rhel_172/swap' [3.91 GiB] inherit
[root@client ~]# lvcreate -n lv2 -l 500 vg1 #不常用这种格式
Logical volume "lv2" created.
[root@client ~]# lvscan
ACTIVE '/dev/vg1/lv1' [1.00 GiB] inherit
ACTIVE '/dev/vg1/lv2' [1.95 GiB] inherit
ACTIVE '/dev/rhel_172/root' [95.08 GiB] inherit
ACTIVE '/dev/rhel_172/swap' [3.91 GiB] inherit
挂载
[root@client ~]# mkdir /mnt/first_disk
[root@client ~]# mount /dev/vg1/lv1 /mnt/first_disk/
[root@client ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS
sr0 11:0 1 11.9G 0 rom
nvme0n1 259:0 0 100G 0 disk
├─nvme0n1p1 259:1 0 1G 0 part /boot
└─nvme0n1p2 259:2 0 99G 0 part
├─rhel_172-root 253:0 0 95.1G 0 lvm /
└─rhel_172-swap 253:1 0 3.9G 0 lvm [SWAP]
nvme0n2 259:3 0 20G 0 disk
├─nvme0n2p1 259:4 0 5G 0 part
│ ├─vg1-lv1 253:2 0 1G 0 lvm /mnt/first_disk
│ └─vg1-lv2 253:3 0 2G 0 lvm
├─nvme0n2p2 259:5 0 3G 0 part
└─nvme0n2p3 259:6 0 12G 0 part
[root@client ~]# cd /mnt/first_disk/
[root@client first_disk]# echo hello world > 123.txt
[root@client first_disk]# ls
123.txt
增容
增容
假如这里挂载点没有空间,卷组也没有空间,这时添加一块硬盘nvme0n3
[root@client ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS
sr0 11:0 1 11.9G 0 rom
nvme0n1 259:0 0 100G 0 disk
├─nvme0n1p1 259:1 0 1G 0 part /boot
└─nvme0n1p2 259:2 0 99G 0 part
├─rhel_172-root 253:0 0 95.1G 0 lvm /
└─rhel_172-swap 253:1 0 3.9G 0 lvm [SWAP]
nvme0n2 259:3 0 20G 0 disk
├─nvme0n2p1 259:4 0 5G 0 part
│ ├─vg1-lv1 253:2 0 1G 0 lvm
│ └─vg1-lv2 253:3 0 2G 0 lvm
├─nvme0n2p2 259:5 0 3G 0 part
└─nvme0n2p3 259:6 0 12G 0 part
nvme0n3 259:7 0 5G 0 disk
[root@client ~]#
[root@client ~]# pvcreate /dev/nvme0n3 #创建物理卷
Physical volume "/dev/nvme0n3" successfully created.
[root@client ~]# vgextend vg1 /dev/nvme0n3 #加入卷组
Volume group "vg1" successfully extended
[root@client ~]# lvextend -L +1G /dev/vg1/lv1 #加入到逻辑卷中
Size of logical volume vg1/lv1 changed from 1.00 GiB (256 extents) to 2.00 GiB (512 extents).
Logical volume vg1/lv1 successfully resized.
[root@client ~]# vgdisplay vg1
--- Volume group ---
VG Name vg1
System ID
Format lvm2
Metadata Areas 4
Metadata Sequence No 4
VG Access read/write
VG Status resizable
MAX LV 0
Cur LV 2
Open LV 0
Max PV 0
Cur PV 4
Act PV 4
VG Size 24.98 GiB
PE Size 4.00 MiB
Total PE 6396
Alloc PE / Size 756 / 2.95 GiB
Free PE / Size 5640 / 22.03 GiB
VG UUID dN6BZh-qqCA-2Zil-bjkD-JXk6-FUcn-CdcR3l
[root@client ~]# df -h /mnt/first_disk #这里查看根本没有增加,就是要刷新
文件系统 容量 已用 可用 已用% 挂载点
/dev/mapper/vg1-lv1 960M 39M 922M 5% /mnt/first_disk
[root@client ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS
sr0 11:0 1 11.9G 0 rom
nvme0n1 259:0 0 100G 0 disk
├─nvme0n1p1 259:1 0 1G 0 part /boot
└─nvme0n1p2 259:2 0 99G 0 part
├─rhel_172-root 253:0 0 95.1G 0 lvm /
└─rhel_172-swap 253:1 0 3.9G 0 lvm [SWAP]
nvme0n2 259:3 0 20G 0 disk
├─nvme0n2p1 259:4 0 5G 0 part
│ ├─vg1-lv1 253:2 0 2G 0 lvm /mnt/first_disk
│ └─vg1-lv2 253:3 0 2G 0 lvm
├─nvme0n2p2 259:5 0 3G 0 part
└─nvme0n2p3 259:6 0 12G 0 part
nvme0n3 259:7 0 5G 0 disk
[root@client ~]# xfs_growfs /mnt/first_disk #刷新
[root@client ~]# df -h /mnt/first_disk
文件系统 容量 已用 可用 已用% 挂载点
/dev/mapper/vg1-lv1 2.0G 47M 1.9G 3% /mnt/first_disk
[root@client ~]#
+2G = 追加 2G
2G = 设定为 2G
减容
如果说逻辑卷要减容不支持
ext4 可以缩小
xfs 只支持扩大,不支持缩小
[root@client ~]# df -h /mnt/first_disk #本来是1G 不能简到1G
文件系统 容量 已用 可用 已用% 挂载点
/dev/mapper/vg1-lv1 2.0G 47M 1.9G 3% /mnt/first_disk
卷组减容
[root@client ~]# vgreduce vg1 /dev/nvme0n3 #把/nvme0n3 移出去
Removed "/dev/nvme0n3" from volume group "vg1"
删除
删掉逻辑卷
[root@client ~]# umount /mnt/first_disk/
[root@client ~]# lvremove /dev/vg1/lv1
Do you really want to remove active logical volume vg1/lv1? [y/n]: y
Logical volume "lv1" successfully removed.
[root@client ~]# lvremove /dev/vg1/lv2
Do you really want to remove active logical volume vg1/lv2? [y/n]: y
Logical volume "lv2" successfully removed.
[root@client ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS
sr0 11:0 1 11.9G 0 rom
nvme0n1 259:0 0 100G 0 disk
├─nvme0n1p1 259:1 0 1G 0 part /boot
└─nvme0n1p2 259:2 0 99G 0 part
├─rhel_172-root 253:0 0 95.1G 0 lvm /
└─rhel_172-swap 253:1 0 3.9G 0 lvm [SWAP]
nvme0n2 259:3 0 20G 0 disk
├─nvme0n2p1 259:4 0 5G 0 part
├─nvme0n2p2 259:5 0 3G 0 part
└─nvme0n2p3 259:6 0 12G 0 part
nvme0n3 259:7 0 5G 0 disk
[root@client ~]#
#删掉卷组
[root@client ~]# vgremove vg1
Volume group "vg1" successfully removed
#删掉物理卷
[root@client ~]# pvremove /dev/nvme0n3
Labels on physical volume "/dev/nvme0n3" successfully wiped.
[root@client ~]# pvremove /dev/nvme0n2p1
Labels on physical volume "/dev/nvme0n2p1" successfully wiped.
[root@client ~]# pvremove /dev/nvme0n2p2
Labels on physical volume "/dev/nvme0n2p2" successfully wiped.
[root@client ~]# pvremove /dev/nvme0n2p3
Labels on physical volume "/dev/nvme0n2p3" successfully wiped.
[root@client ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS
sr0 11:0 1 11.9G 0 rom
nvme0n1 259:0 0 100G 0 disk
├─nvme0n1p1 259:1 0 1G 0 part /boot
└─nvme0n1p2 259:2 0 99G 0 part
├─rhel_172-root 253:0 0 95.1G 0 lvm /
└─rhel_172-swap 253:1 0 3.9G 0 lvm [SWAP]
nvme0n2 259:3 0 20G 0 disk
├─nvme0n2p1 259:4 0 5G 0 part
├─nvme0n2p2 259:5 0 3G 0 part
└─nvme0n2p3 259:6 0 12G 0 part
nvme0n3 259:7 0 5G 0 disk
[root@client ~]#
查看
[root@client ~]# pvdisplay #物理卷
--- Physical volume ---
PV Name /dev/nvme0n1p2
VG Name rhel_172
PV Size <99.00 GiB / not usable 3.00 MiB
Allocatable yes (but full)
PE Size 4.00 MiB
Total PE 25343
Free PE 0
Allocated PE 25343
PV UUID XOkJUa-0kqK-0vPO-cSDU-TXda-aP2Y-3a06Yy
[root@client ~]# vgdisplay #卷组
--- Volume group ---
VG Name rhel_172
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 <99.00 GiB
PE Size 4.00 MiB
Total PE 25343
Alloc PE / Size 25343 / <99.00 GiB
Free PE / Size 0 / 0
VG UUID qJpY3t-0cpf-Ho2z-6L1s-YVAm-8C6m-NSul1I
[root@client ~]# lvdisplay #逻辑卷
--- Logical volume ---
LV Path /dev/rhel_172/root
LV Name root
VG Name rhel_172
LV UUID tYrWhU-GYUH-akNI-cjKf-PMIc-a7dS-Cyii0Q
LV Write Access read/write
LV Creation host, time 172.25.254.129, 2026-01-26 14:00:37 +0800
LV Status available
# open 1
LV Size 95.08 GiB
Current LE 24341
Segments 1
Allocation inherit
Read ahead sectors auto
- currently set to 8192
Block device 253:0
--- Logical volume ---
LV Path /dev/rhel_172/swap
LV Name swap
VG Name rhel_172
LV UUID IB7hs3-hg0s-TQEG-swPc-PtWy-Mhk3-Wqtg50
LV Write Access read/write
LV Creation host, time 172.25.254.129, 2026-01-26 14:00:37 +0800
LV Status available
# open 2
LV Size 3.91 GiB
Current LE 1002
Segments 1
Allocation inherit
Read ahead sectors auto
- currently set to 8192
Block device 253:1
Found volume group "vg1" using metadata type lvm2
找到了卷组,名字叫 vg1
这个卷组的元数据类型是 lvm2(现在都用这个)
系统已经识别到这个卷组了
总结
[root@client ~]# pvscan #物理卷
[root@client ~]# lvscan #
[root@client ~]#pvdisplay /dev/nvme0n2p1 #物理卷
[root@client ~]# vgdisplay vg1 #卷组
[root@client ~]# lvdisplay /dev/vg1/lv1 查看逻辑卷
[root@client ~]# pvcreate /dev/nvme0n2p1 /dev/nvme0n2p2 /dev/nvme0n2p3
[root@client ~]# vgcreate vg1 /dev/nvme0n2p1 /dev/nvme0n2p2 /dev/nvme0n2p3
[root@client ~]# lvcreate -n lv1 -L 1G vg1 #创建一个vg1逻辑卷
[root@client ~]# vgextend vg1 /dev/nvme0n3 #加入卷组
[root@client ~]# lvextend -L +1G /dev/vg1/lv1 #扩容到逻辑卷中
xfs逻辑卷不支持
[root@client ~]# vgreduce vg1 /dev/nvme0n3 #把/nvme0n3 移出去卷组
[root@client ~]# lvremove /dev/vg1/lv1 #删掉逻辑卷
[root@client ~]# vgremove vg1 #删掉卷组
[root@client ~]# pvremove /dev/nvme0n3 #删掉物理卷
[root@client ~]# mount /dev/vg1/lv1 /mnt/first_disk/
[root@client ~]# df -h /mnt/first_disk #这里查看根本没有增加,就是要刷新
[root@client ~]# xfs_growfs /mnt/first_disk #刷新