标准分区与 LVM 怎么选
前言
装系统或给新盘分区时,常见第一个问题不是「分几个区」,而是「要不要上 LVM」。
标准分区路径短、直觉清晰;LVM 多一层抽象,换来在线扩容和更灵活的卷管理。
本文只做选型与场景判断,不重复 LVM 创建与扩容的具体命令(可参考站内 CentOS 磁盘 LVM 一文)。
下文以常见 Linux 发行版(CentOS、Rocky、Ubuntu Server 等)为例,具体安装界面名称可能略有差异。
概念
标准分区
磁盘经过分区表(MBR 或 GPT)切出若干固定边界的分区,每个分区对应一个块设备(如 /dev/sda1),再在其上创建文件系统并挂载。
分区大小在创建时基本就定死了;要改大小通常需要卸载、调整分区、再扩文件系统,步骤多、停机窗口长。
LVM
在分区(或整盘)之上再叠一层:物理卷 PV → 卷组 VG → 逻辑卷 LV → 文件系统。
对应用来说,挂载的仍是「一个块设备」(如 /dev/mapper/centos-root),但容量来自卷组池,可以在线向逻辑卷追加空间(前提是后面还有空闲物理卷或能扩分区)。
代价是多一层 indirection,故障排查时要多看 pvs / vgs / lvs 几眼。
对比
扩容
标准分区:新盘或扩云盘 → 扩分区(常要卸挂载或进救援环境)→ resize2fs / xfs_growfs。
步骤链长,生产上容易估错停机时间。
LVM:新盘/新分区 → pvcreate → vgextend → lvextend → 扩文件系统,多数场景可在线完成(根分区是否在线扩取决于发行版与引导方式,但数据盘几乎总是 LVM 的强项)。
快照与合并
标准分区:本身不提供卷级快照;要靠 btrfs、ZFS 等带快照的文件系统,或外部备份方案。
LVM:支持 LVM 快照(写时复制),适合升级前留一份可回滚点;快照不是完整备份,长期占用和合并策略要规划。
复杂度与排障
标准分区:lsblk、/etc/fstab 里设备名与挂载点一一对应,新人也能看懂。
LVM:同一挂载点可能对应 /dev/mapper/xxx,删错 PV、VG 元数据损坏时恢复比标准分区更费神;团队若无人熟悉 LVM,运维成本会上去。
性能
日常业务负载下,LVM 与标准分区的 I/O 差异通常可以忽略。
极端低延迟、裸盘调优场景(某些数据库基准测试)有人倾向直接分区;一般 Web、中间件、开发机不必为此放弃 LVM。
选型
用标准分区
更适合下面几类情况:
- 分区规划一次定终身、几乎不会扩:例如只读根盘的小型容器宿主机、固定大小的
/boot。 - 机器生命周期短:临时测试机、CI 跑完即毁,不值得为 LVM 多一层抽象。
- 团队几乎不碰 Linux 存储:希望
fstab里就是/dev/sda2,排障路径最短。 - 双系统或与 Windows 共盘:
/boot/efi、Windows 分区等仍用标准 GPT 分区;Linux 根盘是否 LVM 另说,但 EFI 不能进 LVM。 - 使用自带快照的文件系统:整盘
btrfs/ZFS时,是否再套 LVM 往往多余,按文件系统文档来即可。
用 LVM
更适合下面几类情况:
- 云主机、虚拟机:盘可以随时加容量,LVM 在线扩 LV 是默认最佳实践。
- 物理机数据盘会越用越大:日志、上传、数据库数据目录单独 LV,后续加盘
vgextend即可。 - 需要快照做变更前保险:大版本升级、批量改表结构前打 LVM 快照(配合短窗口与监控)。
- 多盘拼成一个大盘:几块数据盘进同一 VG,应用只看到一个逻辑卷,不必自己搞
mdadm+ 分区(RAID 与 LVM 可组合,按需求设计)。 - 发行版默认就是 LVM:CentOS、RHEL、Fedora Server 等安装器默认 LVM,没有明确理由时不要强行改成标准分区,否则和官方文档、自动化脚本都不一致。
混合
生产上很常见、也合理:
/boot、/boot/efi:标准分区(引导与 UEFI 要求)。/、/home、数据盘:LVM 逻辑卷,方便扩缩与快照。- swap:安装器生成的 LVM swap 或独立 swap 分区均可;内存很大且不用休眠时,也可 swapfile,与本文主题关系不大。
示例布局
云上一盘走 LVM
单系统盘 100G,安装时选 LVM,典型结果类似下面(设备名随云厂商变化)。
用 lsblk 查看当前树形结构,确认 PV/VG/LV 层次是否符合预期。
1 | lsblk |
输出含义大致为:磁盘 → 分区 sda2(类型 LVM2_member)→ VG ubuntu-vg → LV ubuntu-lv 挂载到 /。
日后云控制台扩盘到 200G 后,再对分区、pvresize、lvextend、文件系统扩容即可。
标准分区极简
小 VPS 只跑 Docker、根分区 40G 够用、不打算动盘时,可以全程标准分区,例如:
sda1:/boot/efi(UEFI)sda2:/ext4 或 xfssda3:swap(可选)
同样用 lsblk 核对,应看不到 LVM2_member 与 mapper 设备。
1 | lsblk -f |
-f 会一并显示文件系统类型与 UUID,写 fstab 时建议用 UUID,避免设备名因插盘顺序变化。
如何判断现有机器用的哪种
已接手一台机器、文档不全时,先看块设备树。
1 | lsblk |
有 pvs/vgs/lvs 输出即为 LVM;只有 sda1、sda2 且类型为普通 part 则是标准分区为主。/etc/fstab 里挂载点是 /dev/mapper/... 或 /dev/disk/by-id/... 且对应 LVM,也能佐证。
总结
- 不会扩、要最简单:标准分区足够,尤其临时机与固定规格小 VPS。
- 会扩、云盘、多盘合并、要快照:优先 LVM,并与发行版默认方案对齐。
/boot与 EFI 保持标准分区;根与数据盘用 LVM 是常见且稳妥的组合。- 性能一般不是决定性因素;运维是否熟悉、生命周期内是否要在线扩容才是主要分歧点。