lvm知识点(带部分实验)

什么是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  #刷新
相关推荐
码农多耕地呗3 小时前
VMware创建虚拟机
linux·运维·服务器
winfreedoms3 小时前
宿主机有网、Docker 容器不能解析域名?用 daemon.json 一键配置永久 DNS
运维·docker·容器·json
代码栈上的思考3 小时前
消息队列 BrokerServer 核心逻辑:processConnection 与请求处理全解析
运维·服务器
youyudexiaowangzi3 小时前
ubuntu 1604安装组件报错
linux·运维·ubuntu
橙露3 小时前
Docker 实战:镜像瘦身、多阶段构建与最佳实践
运维·docker·容器
图扑可视化3 小时前
油气集输 WebGIS 数字孪生管控大屏
运维·gis·数字孪生·油气运输·油气集输
CDN3603 小时前
CDN 无法播放音视频?流媒体回源与 Range 配置修复
运维·音视频
剑锋所指,所向披靡!3 小时前
linux的目录结构
linux·运维·服务器
zt1985q3 小时前
本地部署 Home Assistant 高级自动化 AppDaemon 并实现外部访问
运维·服务器·网络·网络协议·自动化