Linux Server Deployment & SSH Mastery · 课时

逻辑卷管理(LVM)

使用 LVM 摆脱固定分区:汇集物理磁盘、创建灵活的逻辑卷,并即时调整存储空间,让服务器无需停机或重新分区即可扩展。

第 4 / 4 课13 个步骤

逻辑卷管理(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 反馈 — 无需本地设置。

此课程中的所有课时

  1. 磁盘分区与格式化
  2. 挂载文件系统
  3. 监控磁盘使用情况
  4. 逻辑卷管理(LVM)
← 返回 Linux Server Deployment & SSH Mastery