LVM 是什么
LVM 在物理磁盘和文件系统之间加了一层抽象:物理卷把分区或整盘交给 LVM,卷组把多个物理卷汇成一个容量池,逻辑卷再从池里切出可用的块设备。这样容量可以跨盘拼装,扩容不必停机,还能做快照。代价是规划与排障要多理解一层,出问题时先看这三层是否对齐。
基本信息
| 适用平台 | Linux,由 lvm2 提供整套命令 |
|---|---|
| 层次关系 | 分区或整盘 → 物理卷 → 卷组 → 逻辑卷 → 文件系统 |
| 常用命令 | pvs、vgs、lvs 查看现状;pvcreate、vgextend、lvcreate、lvextend 做变更 |
| 关键能力 | 在线扩容、快照、跨盘组合、在线迁移 |
典型使用场景
- 装机规划:把多块盘组成一个大卷组,再按需切逻辑卷
- 在线扩容:加盘后扩卷组再扩逻辑卷,业务不用停
- 快照备份:先打快照再从容备份,把停机窗口压到最小
- 容量再分配:从卷组剩余空间里切出新卷给新业务
- 故障排查:逻辑卷未激活导致开机挂载失败
从分区到可用卷
从分区到可用卷
pvcreate /dev/sdb1
vgcreate vg0 /dev/sdb1
lvcreate -L 100G -n data vg0
mkfs.xfs /dev/vg0/data
mkdir -p /data && mount /dev/vg0/data /data
# 查看三层现状
pvs; vgs; lvs
lsblk -f | grep vg0三层对照
| 层 | 代表什么 | 常用命令 |
|---|---|---|
| 物理卷 | 被 LVM 接管的物理设备 | pvcreate、pvdisplay、pvresize |
| 卷组 | 由若干物理卷组成的容量池 | vgcreate、vgextend、vgs |
| 逻辑卷 | 从池里切出的块设备 | lvcreate、lvextend、lvs |
| 文件系统 | 建在逻辑卷之上的具体格式 | mkfs、resize2fs、xfs_growfs |
扩容的固定顺序是物理层先变大(加盘或扩分区后 pvresize),再扩卷组,再扩逻辑卷,最后扩文件系统;lvextend 加 -r 能把文件系统一并扩掉。
看现状优先用 pvs、vgs、lvs 这三条短命令,输出紧凑便于扫一眼找异常;需要更细的属性时再用对应的 display 命令。三条命令都可以加 --units g 统一按 GB 显示,省掉单位换算。
查容量问题的习惯顺序:先看物理卷是否有剩余空间与是否完整,再看卷组剩余,最后看逻辑卷容量与所属卷组。三层命令的列名一致但对象不同,按这个顺序看能很快判断是缺盘、缺分配还是文件系统没跟上。