lvs 命令常用于查看逻辑卷(LV)的基础信息,输出结果简洁清晰,可直接看到 LV 名称、所属卷组 VG、属性、容量大小以及激活状态;默认仅展示已激活的逻辑卷,配合 -a 参数可列出全部 LV。对于 Linux 环境下快速判断 LVM 逻辑卷是否存在、是否可用,这个命令非常实用。

用 lvs 查看逻辑卷基本信息
lvs 是查看 Linux 逻辑卷状态最直接、最常见的命令之一,输出精简,适合快速确认某个 LV 是否存在、容量大小、所属 VG 以及当前是否激活。它默认只显示已激活的逻辑卷,不带设备路径前缀,列名也比较紧凑,例如 LV、VG、Attr、LSize 等。
常见误判现象是:执行 lvs 后没有任何输出,并不一定表示系统中没有逻辑卷,也可能是该 LV 尚未激活,或者当前未使用显示全部逻辑卷的参数。
- 加
-a显示所有 LV(包括 inactive 状态):lvs -a - 加
-o +devices查看 LV 底层映射的 PV 设备:lvs -o +devices - 加
--noheadings -o lv_name,vg_name,lv_size适合脚本解析,避免表头干扰
用 lvscan 检查逻辑卷激活状态
lvscan 最大的作用,就是可以直接扫描并明确显示当前逻辑卷是否处于激活状态。它的输出格式通常比较统一,例如:active '/dev/vg01/lvol0' [10.00 GiB]。在日常运维排查或服务器巡检中,这种展示方式非常直观,可以快速判断 LVM 逻辑卷当前是 active 还是 inactive。另一个实用点在于,它不要求 VG 必须已经激活。也就是说,即使卷组已经被 vgchange -a n 停用,lvscan 仍然可以列出 LV 名称,只是状态会显示为 inactive。
容易出现的误区是:以为 lvscan 能同时查看逻辑卷详细容量或路径信息。实际上,它主要用于确认“有没有”以及“是否激活”,并不会提供 PE 分布、完整映射关系或文件系统层面的详细信息。
- 若输出中全是
inactive,先检查 VG 是否激活:vgscan && vgchange -a y lvscan -v可显示更详细扫描过程(含设备节点路径),但一般不需要- 不要用
lvscan替代lvs做容量核对 —— 它不保证单位统一(有时显示 GiB,有时 GB)
用 lvdisplay 查看详细属性和底层映射
lvdisplay 提供的信息最完整,可以查看 LV 名称、设备路径、状态、容量、当前是线性卷、镜像卷还是快照卷、分配策略、读写权限、快照相关字段(例如 COW-table),以及每个 LE 对应的 PE 起始位置。对于排查 LVM 映射异常、核对快照一致性,或者验证 lvconvert 执行后的结果,这个命令尤其适合。
需要注意的是,在 PV 数量较多、LV 数量较大的 Linux 系统中,lvdisplay 扫描速度通常会更慢,而且默认按单个逻辑卷逐项输出,不太适合直接用于批量管道处理。
- 指定单个 LV 查看,避免全量扫描:
lvdisplay /dev/my_vg/my_lv - 加
-C以紧凑列格式输出(类似lvs),但字段比lvs少,不推荐日常用 - 关键字段
LV Status中的a vailable表示可访问,read-only表示只读挂载或被lvchange -r y设置过
为什么不用 pvs 或 vgs 查逻辑卷
pvs 只用于查看物理卷(PV)信息,显示的是 PV 容量、剩余空间和所属 VG;vgs 则只用于查看卷组(VG)层面的数据,例如 VG 总容量、已使用 PE 数量以及 LV 数量统计。这两个命令都不能直接展示逻辑卷名称、设备路径或激活状态,因此不适合单独用来判断某个 LVM 逻辑卷是否正常。
一个典型误用场景是:看到 vgs 输出中 #LV 2,就认为两个逻辑卷都能正常使用,但实际上其中一个在 lvscan 里可能显示为 inactive,最终导致服务或应用启动失败。
vgs -o +lv_count,vg_extent_count可辅助判断 VG 是否还有剩余空间供新 LV 使用- 要确认某个 LV 是否真正在用,必须结合
mount | grep /dev/或/ findmnt /dev// - 快照 LV 在
lvs中类型列为snap,在lvdisplay中会额外显示Origin字段,这是唯一可靠识别方式
lvs 适合看逻辑卷概览,lvscan 适合确认激活状态,lvdisplay 则适合查看详细属性和映射关系。三者并不是互相替代,而是逐步深入的检查方式。特别是在 LVM 扩容、迁移或故障恢复之后,如果漏掉其中任何一步,都可能出现“逻辑卷存在但暂时不可用”的情况。