逻辑卷管理(LVM)
使用 LVM 摆脱固定分区:汇集物理磁盘、创建灵活的逻辑卷,并即时调整存储空间,让服务器无需停机或重新分区即可扩展。
逻辑卷管理(LVM) 是 CoddyKit 上的免费 Linux Server Deployment & SSH Mastery 课时。 这是第 4 节课,共 4 节。 你可以在下方免费阅读本课时的完整内容 — 然后在浏览器中使用内置代码编辑器和全天候 AI 导师进行实践。 这是 Linux Server Deployment & SSH Mastery 学习路径的一部分,你的进度在网页和 CoddyKit 应用中同步。 Linux Server Deployment & SSH Mastery 课程共包含 4 节课。
固定分区的局限
传统分区有一个棘手的问题:分区大小在创建时就固定了。如果分区空间用尽,调整大小不仅有风险,而且通常需要停机。
LVM(逻辑卷管理)在磁盘与文件系统之间增加了一层灵活的抽象,从而轻松调整和组合存储空间,解决了这个问题。
LVM 的三层结构
LVM 包含三个彼此叠加的概念:
- 物理卷(PV) — 交由 LVM 管理的磁盘或分区
- 卷组(VG) — 将一个或多个 PV 组合成的存储池
- 逻辑卷(LV) — 从 VG 中划分出的灵活“分区”
您可以像处理普通分区一样格式化并挂载 LV。
创建物理卷
第一步是使用 pvcreate 将磁盘标记为 PV。这会在磁盘上写入 LVM 元数据。
pvs 会列出物理卷。
sudo pvcreate /dev/sdb /dev/sdc
sudo pvs创建卷组
接下来,使用 vgcreate 将 PV 组成一个 VG,并为其指定名称。VG 的容量等于其中所有 PV 容量之和。
vgs 会显示卷组及其可用空间。
sudo vgcreate data_vg /dev/sdb /dev/sdc
sudo vgs创建逻辑卷
现在,使用 lvcreate 从卷组中划分出一个逻辑卷。使用 -L 指定大小(或者使用 -l 100%FREE 占用所有剩余空间),并使用 -n 指定名称。
sudo lvcreate -L 20G -n web_lv data_vg
sudo lvs格式化并挂载 LV
LV 的行为与任何块设备一样。其路径为 /dev/<vg>/<lv>。先将其格式化,然后挂载到需要使用该存储空间的位置。
sudo mkfs.ext4 /dev/data_vg/web_lv
sudo mkdir -p /srv/web
sudo mount /dev/data_vg/web_lv /srv/web扩展逻辑卷
这是 LVM 最突出的功能。如果 VG 中有可用空间,可以使用 lvextend 扩展 LV,并同时使用 -r 扩展文件系统,而且整个过程无需卸载。
sudo lvextend -L +10G -r /dev/data_vg/web_lv向存储池添加更多磁盘
VG 中没有可用空间了?添加一块新磁盘:先将其创建为 PV,然后使用 vgextend 扩展 VG。新增容量将可供该卷组中的所有 LV 使用。
sudo pvcreate /dev/sdd
sudo vgextend data_vg /dev/sdd
sudo vgs快照
LVM 可以对 LV 创建某个时间点的快照,非常适合执行安全备份。快照创建之初很小,只存储发生变化的块。
从快照进行备份,完成后将其删除。
sudo lvcreate -L 2G -s -n web_snap /dev/data_vg/web_lv
# ...take backup from the snapshot...
sudo lvremove /dev/data_vg/web_snap使挂载持久化
与任何文件系统一样,将 LV 添加到 /etc/fstab,这样系统启动时就会自动挂载。使用设备映射器路径或其 UUID 均可。
/dev/data_vg/web_lv /srv/web ext4 defaults 0 2最佳实践
请遵循以下做法,让 LVM 平稳运行:
- 在 VG 中留出一些可用空间,用于快照和扩容
- 始终使用
lvextend -r,以便同时扩展文件系统 - 为 VG 和 LV 使用具有描述性的名称(例如
data_vg/web_lv) - 在进行有风险的升级前创建快照
快速检查
测试您对 LVM 的理解。
回顾
现在,您已经可以使用 LVM 管理灵活的存储空间:
- 使用
pvcreate→vgcreate→lvcreate构建这三层结构 - 使用
lvextend -r在线扩展卷 - 使用
vgextend向存储池添加磁盘 - 使用快照执行安全备份
LVM 消除了固定分区的僵化限制,让服务器存储可以按需扩展。
用 AI 导师学习 Linux Server Deployment & SSH Mastery — 免费
在浏览器中编写并运行真实代码,获得全天候 AI 导师的即时帮助,并在网页或应用中继续学习。
- 课程
- 12
- 课程
- 48
常见问题解答
「逻辑卷管理(LVM)」课时是免费的吗?
是的 — 「逻辑卷管理(LVM)」的完整文本可在网页上免费阅读。要进行交互式练习(内置代码编辑器和全天候 AI 导师)并解锁 Linux Server Deployment & SSH Mastery 课程的其余内容,请升级到 CoddyKit PRO。 Linux Server Deployment & SSH Mastery 课程共包含 4 节课。
「逻辑卷管理(LVM)」这节课中我会学到什么?
使用 LVM 摆脱固定分区:汇集物理磁盘、创建灵活的逻辑卷,并即时调整存储空间,让服务器无需停机或重新分区即可扩展。 你通过在浏览器中直接运行的动手代码来练习 Linux Server Deployment & SSH Mastery,全天候 AI 导师会在你学习这节课的过程中回答你的问题。
学习 Linux Server Deployment & SSH Mastery 需要有经验吗?
无需任何先前经验。CoddyKit 上的 Linux Server Deployment & SSH Mastery 课程适合初学者到高级学习者,你可以从这里开始或从头开始,按照自己的节奏学习。 这是第 4 节课,共 4 节。
「逻辑卷管理(LVM)」课时需要多长时间?
大多数 CoddyKit 课程大约需要 5–10 分钟。每节课都很精短且互动,所以你能稳步进步,并在网页和应用中从离开的地方继续。
我能在这节 Linux Server Deployment & SSH Mastery 课中编写并运行代码吗?
能。每节 Linux Server Deployment & SSH Mastery 课都包含内置代码编辑器,你可以在浏览器中直接编写并运行真实代码,并获得即时 AI 反馈 — 无需本地设置。