1. 首页 > Linux教程 > 正文

Linux教程FG341-LVM逻辑卷管理基础

内容简介:本文风哥教程参考Linux官方文档、Red Hat Enterprise Linux官方文档、Ansible Automation Platform官方文档、Docker官方文档、Kubernetes官方文档和Podman官方文档等内容,详细介绍了相关技术的配置和使用方法。

本文档介绍LVM逻辑卷管理的基础知识和操作方法。

风哥提示:

Part01-LVM基础概念

1.1 LVM组件介绍

# 查看LVM组件
[root@lvm-server ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS
sda 8:0 0 931.5G 0 disk
├─sda1 8:1 0 1G 0 part /boot
└─sda2 8:2 0 930.5G 0 part
├─rl-root 253:0 0 70G 0 lvm /
├─rl-swap 253:1 0 7.9G 0 lvm [SWAP]
└─rl-home 253:2 0 852.6G 0 lvm /home
sdb 8:16 0 931.5G 0 disk
sdc 8:32 0 931.5G 0 disk

# 查看物理卷
[root@lvm-server ~]# pvdisplay
— Physical volume —
PV Name /dev/sda2
VG Name rl
PV Size 930.51 GiB / not usable 4.00 MiB
Allocatable yes
PE Size 4.00 MiB
Total PE 238209
Free PE 218209
Allocated PE 20000
PV UUID abcdef-1234-5678-90ab-cdef-1234-5678

# 查看卷组
[root@lvm-server ~]# vgdisplay
— Volume group —
VG Name rl
System ID
Format lvm2
Metadata Areas 1
Metadata Sequence No 4
VG Access read/write
VG Status resizable
MAX LV 0
Cur LV 3
Open LV 3
Max PV 0
Cur PV 1
Act PV 1
VG Size 930.51 GiB
PE Size 4.00 MiB
Total PE 238209
Alloc PE / Size 20000 / 78.13 GiB
Free PE / Size 218209 / 852.38 GiB
VG UUID 123456-abcdef-1234-5678-90ab-cdef1234

# 查看逻辑卷
[root@lvm-server ~]# lvdisplay
— Logical volume —
LV Path /dev/rl/root
LV Name root
VG Name rl
LV UUID abcdef-1234-5678-90ab-cdef-12345678
LV Write Access read/write
LV Creation host, time server, 2026-01-01 00:00:00 +0800
LV Status available
# open 1
LV Size 70.00 GiB
Current LE 17920
Segments 1
Allocation inherit
Read ahead sectors auto
– currently set to 256
Block device 253:0

1.2 创建物理卷

# 创建物理卷
[root@lvm-server ~]# pvcreate /dev/sdb
Physical volume “/dev/sdb” successfully created.
[root@lvm-server ~]# pvcreate /dev/sdc
Physical volume “/dev/sdc” successfully created.

# 验证物理卷
[root@lvm-server ~]# pvscan
PV /dev/sda2 VG rl lvm2 [930.51 GiB / 852.38 GiB free]
PV /dev/sdb lvm2 [931.51 GiB]
PV /dev/sdc lvm2 [931.51 GiB]
Total: 3 [2.72 TiB] / in use: 1 [930.51 GiB] / in no VG: 2 [1.82 TiB]

# 查看物理卷详细信息
[root@lvm-server ~]# pvdisplay /dev/sdb
“/dev/sdb” is a new physical volume of “931.51 GiB”
— NEW Physical volume —
PV Name /dev/sdb
VG Name
PV S学习交流加群风哥微信: itpux-comize 931.51 GiB
Allocatable NO
PE Size 0
Total PE 0
Free PE 0
Allocated PE 0
PV UUID newpv1-1234-5678-90ab-cdef-12345678

# 删除物理卷(如果需要)
[root@lvm-server ~]# pvremove /dev/sdc
Labels on physical volume “/dev/sdc” successfully wiped.
[root@lvm-server ~]# pvcreate /dev/sdc
Physical volume “/dev/sdc” successfully created.

Part02-卷组管理

2.1 创建卷组

# 创建卷组
[root@lvm-server ~]# vgcreate vg_data /dev/sdb /dev/sdc
Volume group “vg_data” successfully created

# 查看卷组
[root@lvm-server ~]# vgdisplay vg_data
— Volume group —
VG Name vg_data
System ID
Format lvm2
Metadata Areas 2
Metadata Sequence No 1
VG Access read/write
VG Status resizable
MAX LV 0
Cur LV 0
Open LV 0
Max PV 0
Cur PV 2
Act PV 2
VG Size 1.82 TiB
PE Size 4.00 MiB
Total PE 476928
Alloc PE / Size 0 / 0
Free PE / Size 476928 / 1.82 TiB
VG UUID datavg-1234-5678-90ab-cdef-12345678

# 扩展卷组
[root@lvm-server ~]# vgextend vg_data /dev/sdd
Volume group “vg_data” successfully extended

# 缩减卷组
[root@lvm-server ~]# vgreduce vg_data /dev/sdd
Removed “/dev/sdd” from volume group “vg_data”

# 查看卷组属性
[root@lvm-server ~]# vgs
VG #PV #LV #SN Attr VSize VFree
rl 1 3 0 wz–n- 930.51g 852.38g
vg_data 2 0 0 wz–n- 1.82t 1.82t

2.2 卷组管理操作

# 重命名卷组
[root@lvm-server ~]# vgrename vg_data vg_storage
Volume group “vg_data” successfully renamed to “vg_storage”

# 查看卷组信息
[root@lvm-server ~]# vgdisplay vg_storage
— Volume group —
VG Name vg_storage
System ID
Format lvm2
Metadata Areas 2
Metadata Sequence No 2
VG Access read/write
VG Status resizable
MAX LV 0
Cur LV 0
Open LV 0
Max PV 0
Cur PV 2
Act PV 2
VG Size 1.82 TiB
PE Size 4.00 MiB
Total PE 476928
Alloc PE / Size 0 / 0
Free PE / Size 476928 / 1.82 TiB
VG UUID datavg-1234-5678-90ab-cdef-12345678

# 导出卷组
[root@lvm-server ~]# vgexport vg_storage
Volume group “vg_storage” successfully exported

# 导入卷组
[root@lvm-server ~]# vgimport vg_storage
Volume group “vg_storage” successfully imported

# 激活卷组
[root@lvm-server ~]# vgchange -ay vg_storage
0 logical volume(s) in volume group “vg_storage” now active

# 停用卷组
[root@lvm-server ~]# vgchange -an vg_storage
0 logical volume(s) in volume group “vg_storage” now inactive

from PG视频:www.itpux.com

Part03-逻辑卷管理

3.1 创建逻辑卷

# 创建逻辑卷(指定大小)
[root@lvm-server ~]# lvcreate -L 100G -n lv_app vg_storage
Logical volume “lv_app” created.

# 创建逻辑卷(指定PE数量)
[root@lvm-server ~]# lvcreate -l 25600 -n lv_log vg_storage
Logical volume “lv_log” created.

# 创建逻辑卷(使用剩余空间)
[root@lvm-server ~]# lvcreate -l 100%FREE -n lv_backup vg_storage
Logical volume “lv_backup” created.

# 查看逻辑卷
[root@lvm-server ~]# lvdisplay
— Logical volume —
LV Path /dev/vg_storage/lv_app
LV Name lv_app
VG Name vg_storage
LV UUID appvol-1234-5678-90ab-cdef-12345678
LV Write Access read/write
LV Creation host, time lvm-server, 2026-04-04 17:30:00 +0800
LV Status available
# open 0
LV Size 100.00 GiB
Current LE 25600
Segments 1
Allocation inherit
Read ahead sectors auto
– currently set to 256
Block device 253:3

# 查看逻辑卷简短信息
[root@lvm-server ~]# lvs
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert
root rl -wi-ao—- 70.00g
swap rl -wi-ao—- 7.87g
home rl -wi-ao—- 852.63g
lv_app vg_storage -wi-a—– 100.00g
lv_log vg_storage -wi-a—– 100.00g
lv_backup vg_storage -wi-a—– 1.62t

3.2 逻辑卷操作

# 格式化逻辑卷
[root@lvm-server ~]# mkfs.xfs /dev/vg_storage/lv_app
meta-data=/dev/vg_storage/lv_app isize=512 agcount=4, agsize=6553600 blks
= sectsz=512 attr=2, projid32bit=1
= crc=1 finobt=1, sparse=1, rmapbt=0
= reflink=1 bigtime=1 inobtcount=1
data = bsize=4096 blocks=26214400, imaxpct=25
= sunit=0 swidth=0 blks
naming =version 2 bsize=4096 ascii-ci=0, ftype=1
log =internal log bsize=4096 blocks=12800, version=2
= sectsz=512 sunit=0 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0

# 挂载逻辑卷
[root@lvm-server ~]# mkdir /app
[root@lvm-server ~]# mount /dev/vg_storage/lv_app /app

# 配置自动挂载
[root@lvm-server ~]# echo “/dev/vg_storage/lv_app /app xfs defaults 0 0” >> /etc/fstab

# 扩展逻辑卷
[root@lvm-server ~]# lvextend -L +50G /dev/vg_storage/lv_app
Size of logical volume “lv_app” changed from 100.00 GiB (25600 extents) to 150.00 GiB (38400 extents).
Logical volume “lv_app” successfully resized.

# 扩展文件系统
[root@lvm-server ~]# xfs_growfs /app
meta-data=/dev/mapper/vg_storage-lv_app isize=512 agcount=4, agsize=6553600 blks
= sectsz=512 attr=2, projid32bit=1
= crc=1 finobt=1, sparse=1, rmapbt=0
= reflink=1 bigtime=1 inobtcount=1
data = bsize=4096 blocks=26214400, imaxpct=25
= sunit=0 swidth=0 blks
naming =version 2 bsize=4096 ascii-ci=0, ftype=1
log =internal log bsize=4096 blocks=12800, version=2
= sectsz=512 sunit=0 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0
data blocks changed from 26214400 to 39321600

# 缩减逻辑卷(需要先卸载)
[root@lvm-server ~]# umount /app
[root@lvm-server ~]# e2fsck -f /dev/vg_storage/lv_app
[root@lvm-server ~]# resize2fs /dev/vg_storage/lv_app 80G
[root@lvm-server ~]# lvreduce -L 80G /dev/vg_storage/lv_app
WARNING: Reducing active logical volume to 80.00 GiB.
THIS MAY DESTROY YOUR DATA (filesystem etc.)
Do you really want to reduce vg_storage/lv_app? [y/n]: y
Size of logical 更多学习教程公众号风哥教程itpux_comvolume “lv_app” changed from 150.00 GiB (38400 extents) to 80.00 GiB (20480 extents).
Logical volume “lv_app” successfully resized.

# 删除逻辑卷
[root@lvm-server ~]# lvremove /dev/vg_storage/lv_backup
Do you really want to remove active logical volume vg_storage/lv_backup? [y/n]: y
Logical volume “lv_backup” successfully removed.

风哥针对LVM管理建议:

  • 使用LVM实现灵活的存储管理
  • 定期备份LVM配置
  • 合理规划卷组大小
  • 监控逻辑卷使用情况
  • 谨慎执行缩减操作

本文由风哥教程整理发布,仅用于学习测试使用,转载注明出处:http://www.fgedu.net.cn/10327.html

联系我们

在线咨询:点击这里给我发消息

微信号:itpux-com

工作日:9:30-18:30,节假日休息