内容大纲
内容简介:本文风哥教程参考Linux官方文档、Red Hat Enterprise Linux官方文档、Ansible Automation Platform官方文档、Docker官方文档、Kubernetes官方文档和Podman官方文档等内容,详细介绍了相关技术的配置和使用方法。
1. LVM概述
LVM(Logical Volume Manager)是Linux系统中用于管理磁盘存储的逻辑卷管理器。它提供了灵活的存储管理方式,可以动态调整逻辑卷的大小,而无需重新分区。
from PG视频:www.itpux.com
# 灵活管理磁盘存储
# 动态调整逻辑卷大小
# 创建快照
# 支持RAID配置
2. LVM核心概念
LVM由三个核心概念组成:物理卷(PV)、卷组(VG)和逻辑卷(LV)。
# 1. 物理卷(Physical Volume, PV)
# 物理卷是LVM的基本构建块,可以是整个磁盘或分区
# 查看物理卷
# pvs
PV VG Fmt Attr PSize PFree
/dev/vda2 rhel lvm2 a– 49.00g 0
# 2. 卷组(Volume Group, VG)
# 卷组是由一个或多个物理卷组成的存储池
# 查看卷组
# vgs
VG #PV #LV #SN Attr VSize VFree
rhel 1 2 0 wz–n- 49.00g 0
# 3. 逻辑卷(Logical Volume, LV)
# 逻辑卷是从卷组中分配的虚拟分区,可以像普通分区一样使用
# 查看逻辑卷
# lvs
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert
root rhel -wi-ao—- 45.00g
swap rhel -wi-ao—- 4.00g
3. LVM命令体系
LVM命令体系包括物理卷管理、卷组管理和逻辑卷管理三个部分。
风哥提示:
# 1. 物理卷管理命令
# pvcreate:创建物理卷
# pvdisplay:显示物理卷详细信息
# pvremove:删除物理卷
# pvs:显示物理卷摘要信息
# 2. 卷组管理命令
# vgcreate:创建卷组
# vgdisplay:显示卷组详细信息
# vgextend:扩展卷组
# vgreduce:缩减卷组
# vgremove:删除卷组
# vgs:显示卷组摘要信息
# 3. 逻辑卷管理命令
# lvcreate:创建逻辑卷
# lvdisplay:显示逻辑卷详细信息
# lvextend:扩展逻辑卷
# lvreduce:缩减逻辑卷
# lvremove:删除逻辑卷
# lvs:显示逻辑卷摘要信息
4. LVM优势
LVM相比传统的磁盘分区管理方式,具有以下优势:
学习交流加群风哥QQ113257174
# 1. 灵活性:可以动态调整逻辑卷大小,无需重新分区
# 2. 可扩展性:可以轻松添加新的物理卷到卷组
# 3. 快照功能:可以创建逻辑卷的快照,用于备份
# 4. RAID支持:可以在逻辑卷上配置RAID
# 5. 易于管理:可以集中管理多个磁盘和分区
5. 实战案例
下面通过一个完整的实战案例来演示LVM的使用。
# 1. 查看磁盘信息
# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
vda 252:0 0 50G 0 disk
├─vda1 252:1 0 1G 0 part /boot
└─vda2 252:2 0 49G 0 part
├─rhel-root 253:0 0 45G 0 lvm /
└─rhel-swap 253:1 0 4G 0 lvm [SWAP]
vdb 252:16 0 100G 0 disk
└─vdb1 252:17 0 100G 0 part
# 2. 创建物理卷
# pvcreate /dev/vdb1
Physical volume “/dev/vdb1” successfully created.
# 3. 查看物理卷
# pvs
PV VG Fmt Attr PSize PFree
/dev/vda2 rhel lvm2 a– 49.00g 0
/dev/vdb1 lvm2 a– 100.00g 100.00g
# 4. 创建卷组
# vgcreate datavg /dev/vdb1
Volume group “datavg” successfully created
# 5. 查看卷组
# vgs
VG #PV #LV #SN Attr VSize VFree
datavg 1 0 0 wz–n- 100.00g 100.00g
rhel 1 2 0 wz–n- 49.00g 0
# 6. 创建逻辑卷
# lvcreate -L 50G -n datalv datavg
Logical volume “datalv” created.
# 7. 查看逻辑卷
# lvs
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert
datalv datavg -wi-a—– 50.00g
root rhel -wi-ao—- 45.00g
swap rhel -wi-ao—- 4.00g
# 8. 格式化逻辑卷
# mkfs.xfs /dev/datavg/datalv
meta-data=/dev/datavg/datalv isize=512 agcount=4, agsize=3276800 blks
= sectsz=512 attr=2, projid32bit=1
= crc=1 finobt=1, sparse=1, rmapbt=0
= reflink=1 bigtime=0 inobtcount=0
data = bsize=4096 blocks=13107200, imaxpct=25
= sunit=0 swidth=0 blks
naming =version 2 bsize=4096 ascii-ci=0, ftype=1
log =internal log bsize=4096 blocks=6400, version=2
= sectsz=512 sunit=0 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0
# 9. 挂载逻辑卷
# mkdir -p /data
# mount /dev/datavg/datalv /data
# 10. 验证挂载
# df -h /data
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/datavg-datalv 50G 33M 50G 1% /data
# 11. 配置永久挂载
# echo ‘/dev/datavg/datalv /data xfs defaults 0 0’ >> /etc/fstab
# 12. 查看LVM详细信息
# vgdisplay datavg
— Volume group —
VG Name datavg
System ID
Format lvm2
Metadata Areas 1
Metadata Sequence No 1
VG Access read/write
VG Status resizable
MAX LV 0
Cur LV 1
Open LV 0
Max PV 0
Cur PV 1
Act PV 1
VG Size 100.00 GiB
PE Size 4.00 MiB
Total PE 25600
Alloc PE / Size 12800 / 50.00 GiB
Free PE / Size 12800 / 50.00 GiB
VG UUID 12345678-90ab-cdef-1234-567890abcdef
# lvdisplay /dev/datavg/datalv
— Logical volume —
LV Path /dev/datavg/datalv
LV Name datalv
VG Name datavg
LV UUID 87654321-0987-fedc-ba98-76543210fedc
LV Write Access read/write
LV Creation host, time localhost, 2026-03-31 10:00:00 +0800
LV Status available
# open 0
LV Size 50.00 GiB
Current LE 12800
Segments 1
Allocation inherit
Read ahead sectors auto
– currently set to 256
Block device 252:18
风哥经验总结
1. LVM提供了灵活的存储管理方式,可以动态调整逻辑卷大小,无需重新分区。
2. 在创建LVM之前,应先规划好存储需求,合理分配物理卷、卷组和逻辑卷。
3. 对于生产环境,建议使用LVM来管理存储,以便于扩展和管理。
学习交流加群风哥微信: itpux-com
4. LVM的快照功能可以用于数据备份,但快照会占用额外的存储空间。
5. 在扩展逻辑卷之前,应确保卷组有足够的空闲空间。
6. 对于关键数据,应定期备份,即使使用LVM也不能完全替代备份。
更多学习教程公众号风哥教程itpux_com
本文由风哥教程整理发布,仅用于学习测试使用,转载注明出处:http://www.fgedu.net.cn/10327.html
