LVM 逻辑卷管理
LVM 逻辑卷管理
ZhangCurryLVM 逻辑卷管理
在 Linux 系统中,磁盘与分区是存储管理的基础,但传统分区方式(如 MBR、GPT)存在诸多缺陷:难以在线扩容、难以灵活调整大小、磁盘拆换也比较麻烦。为了解决这些问题,Linux 提供了一套更强大、更灵活的机制——LVM(Logical Volume Manager)逻辑卷管理系统。
LVM 可以理解为一层构建在物理磁盘之上的“可伸缩存储抽象层”,让磁盘管理不再受传统分区限制。
一、LVM 是什么?
LVM(Logical Volume Manager)是 Linux 上的一种逻辑卷管理机制,它通过在物理磁盘之上构建“可伸缩的逻辑卷”,从而实现更灵活的磁盘管理。
简单说,它有三大优势:
- 可动态调整大小(在线扩容)
无需重启、不影响业务即可扩容分区或文件系统。
- 跨磁盘组合
多个物理磁盘可以组合成一个逻辑卷,使存储空间利用最大化。
- 快照(Snapshot)能力
可对卷进行快照用于备份或临时恢复。
这些能力让 LVM 成为服务器环境、虚拟机、数据库以及需要频繁扩容的场景中的核心技术。
二、LVM 的结构组成
理解 LVM 的架构,是掌握它的第一步。
LVM 主要由三层组成:
1 | 物理卷(PV) → 卷组(VG) → 逻辑卷(LV) |
下面逐一说明:
- PV(Physical Volume)物理卷
就是由物理磁盘或分区转换而来的 LVM 物理单元。
例如:
- /dev/sdb
- /dev/sdc1
创建 PV:
1 | pvcreate /dev/sdb |
- VG(Volume Group)卷组
多个 PV 可以组合成一个 VG,就像将几块磁盘合在一起,成为一个大的存储池。
创建 VG:
1 | vgcreate myvg /dev/sdb /dev/sdc1 |
- LV(Logical Volume)逻辑卷
VG 中的空间可以被划分成多个 LV,类似于传统分区,但更灵活。
创建 LV:
1 | lvcreate -L 20G -n data myvg |
创建完 LV 后,就能把它当成一个“分区”来格式化、挂载:
1 | mkfs.ext4 /dev/myvg/data |
三、基本操作流程
下面是 LVM 最常用的工作流程,适用于扩容磁盘、创建存储空间等常见操作。
1. 创建 PV:将磁盘加入 LVM
1 | pvcreate /dev/sdb |
2. 创建 VG:把多个 PV 变成一个卷组
1 | vgcreate myvg /dev/sdb |
3. 创建 LV:划分逻辑卷空间
1 | lvcreate -n data -L 50G myvg |
4. 格式化并挂载
1 | mkfs.ext4 /dev/myvg/data |
四、LVM 扩容
扩容是 LVM 最大的优势。下面以将 LV 扩容 10GB 为例:
1. 扩容 LV
1 | lvextend -L +10G /dev/myvg/data |
2. 扩容文件系统(ext4)
1 | resize2fs /dev/myvg/data |
无需重启系统,无需卸载卷(在线扩容),非常适合服务器环境。
五、创建和使用快照(Snapshot)
快照是 LVM 的独特功能,可用于备份、临时复制、数据恢复等。
创建快照:
1 | lvcreate -s -L 5G -n data_snap /dev/myvg/data |
挂载快照:
1 | mount /dev/myvg/data_snap /mnt/snap |
快照保存的是卷的“差异数据”,可用于:
- 数据备份前创建快照
- 升级前创建快照
- 还原错误修改
删除快照:
1 | lvremove /dev/myvg/data_snap |



