判断lvm是否启用:执行sudo pvs,无输出或报“no volume groups found”说明未启用;有输出则已启用pv/vg/lv结构。

怎么判断当前系统是否已启用LVM
直接看 lsblk 输出里有没有 lvm 类型的设备,或者执行 sudo pvs —— 如果返回空或报错 No volume groups found,说明没启用;有输出则表示已有 PV(物理卷)、VG(卷组)、LV(逻辑卷)结构。
常见误判点:只看到 /dev/sda2 这类分区就以为是普通分区,其实它可能已被 pvcreate 初始化为物理卷。务必用 sudo pvdisplay 确认。
创建新LVM卷的最小必要步骤
不是所有场景都需要从零建,但若真要新建,跳过任何一步都可能导致后续无法挂载或扩容失败:
- 先用
fdisk或parted创建一个 Linux LVM 类型分区(ID 为8e00或8e),比如/dev/sdb1 - 运行
sudo pvcreate /dev/sdb1将其标记为物理卷 - 执行
sudo vgcreate myvg /dev/sdb1建卷组(名字别用vg这类通用名,易冲突) - 再用
sudo lvcreate -L 10G -n mylv myvg创建逻辑卷;-L指定大小,-n指定 LV 名 - 格式化:
sudo mkfs.xfs /dev/myvg/mylv(推荐 XFS,ext4 也可) - 挂载:
sudo mkdir /mnt/data && sudo mount /dev/myvg/mylv /mnt/data
注意:lvcreate 默认使用线性布局,不加 -i(条带数)和 -I(条带大小)参数时,性能和普通单盘无异。
给已有LV扩容的实操要点
扩容分两步:先扩LV本身,再扩文件系统。漏掉第二步会导致 df 看不到空间增长。
- 确认 VG 还有剩余空间:
sudo vgs查看VFree列;不够就先加物理卷(pvcreate + vgextend) - 扩 LV:
sudo lvextend -L +5G /dev/myvg/mylv(加 5G)或sudo lvextend -l +100%FREE /dev/myvg/mylv(吃光剩余) - 同步扩文件系统:
XFS:必须用xfs_growfs /mnt/data(挂载点路径,不是设备路径)
ext4:用sudo resize2fs /dev/myvg/mylv(设备路径,可在线)
错误示例:resize2fs /mnt/data 对 ext4 无效;xfs_growfs /dev/myvg/mylv 会报错“not a mounted XFS filesystem”。路径类型不能混。
LVM快照卷的实际用途与风险
快照不是备份替代品,而是短时一致性视图,常用于升级前临时保存状态或配合 rsync 做近实时备份。
- 创建:
sudo lvcreate -L 2G -s -n mylv_snap /dev/myvg/mylv(-s表示 snapshot,大小建议 ≥ 预估变更量) - 挂载快照:
sudo mount /dev/myvg/mylv_snap /mnt/snap(只读挂载更安全) - 删除:
sudo umount /mnt/snap && sudo lvremove /dev/myvg/mylv_snap
关键限制:快照空间耗尽会导致其自动失效(Invalid argument 错误),且快照生命周期不宜超过 24 小时——写入越频繁,空间消耗越快。不要把它当长期归档用。










