ZeroTermux 内置命令手册深度解读:vgdisplay 显示 LVM 卷组信息

原创2026-10-13 20:30:351,062 阅读
文章标签:移动开发开发工具

ZeroTermux 内置命令手册深度解读:vgdisplay 显示 LVM 卷组信息

vgdisplay 是 Linux 逻辑卷管理(LVM)体系中用于显示卷组(Volume Group)属性信息的核心查询命令。本文以 ZeroTermux 内置命令手册中的 vgdisplay.md 为骨架,结合仓库内同系列 LVM 命令文档与源码实现,系统讲解 vgdisplay 的语法、选项、输出字段语义,并给出从"扫描卷组 → 查看详情 → 扩容/缩容 → 删除"的完整实战流程。读完本文,你将能熟练使用 vgdisplay 排查卷组空间分配情况,并在 ZeroTermux 内随时查阅该命令的完整手册。

vgdisplay 是什么:LVM 卷组信息查看命令

vgdisplay(Volume Group Display)用于显示 LVM 卷组的信息。如果不指定"卷组"参数,则分别显示所有卷组的属性。

要理解 vgdisplay 的价值,先要厘清 LVM 的三层抽象模型:

  • 物理卷 PV(Physical Volume):对应实际硬盘分区(如 /dev/sdb1),是 LVM 存储的基本单元,可通过 pvdisplay.md 查看其属性;
  • 卷组 VG(Volume Group):由一个或多个物理卷汇聚而成的存储池,屏蔽了底层物理卷的细节,是 vgdisplay 的查询对象;
  • 逻辑卷 LV(Logical Volume):在卷组之上划分出的可直接格式化、挂载使用的逻辑设备,可用 lvdisplay.md 查看。

在 ZeroTermux 内置的 Linux 命令手册体系中,vgdisplay 与 vgscan、vgcreate、vgchange、vgextend 等同属卷组管理命令族,共同存放在 app/src/main/assets/cmd/ 目录下,按命令名一一对应的 Markdown 文档组织。

命令语法与选项参数

语法

vgdisplay(选项)(参数)

选项

选项 说明
-A 仅显示活动卷组的属性(Active volume groups)
-s 使用短格式输出信息(short format)

参数

卷组:要显示属性的卷组名称。省略该参数时,vgdisplay 会分别显示系统中所有卷组的属性。

从源码结构看,ZeroTermux 的命令手册文档严格遵循"命令名 + 语法 + 选项 + 参数 + 实例"的统一编排格式,vgdisplay.md 即采用这一结构,便于在 App 内渲染后快速定位关键信息。

实战示例:显示卷组 vg1000 的属性

使用 vgdisplay 命令显示存在的卷组 vg1000 的属性,在命令行中输入:

[root@localhost ~]# vgdisplay vg1000     #显示卷组"vg1000"的属性

输出信息如下:

  --- Volume group ---
  VG Name               vg1000
......省略部分输出内容......
  free  PE / Size       50 / 200.00 MB
  VG UUID  ICprwg-ZmhA-JKYF-WYuy-jNHa-AyCN-ZS5F7B

输出字段解读

对照原文档给出的输出样例,几个关键字段的含义如下:

  • VG Name:卷组名称,即命令参数中指定的卷组标识;
  • free PE / Size:该卷组当前剩余(未分配)的物理扩展块数量及其对应容量。示例中表示还剩 50 个 PE、共 200.00 MB 可用空间,这是判断"卷组是否还能继续创建/扩展逻辑卷"的最直接依据;
  • VG UUID:卷组的全局唯一标识符,由 LVM 在创建卷组时自动生成。即使两个卷组同名,其 UUID 也互不相同,常用于在脚本或工具中精确区分卷组。

在 LVM 的完整输出中,卷组详情通常还会包含访问权限(VG Access)、状态(VG Status)、当前逻辑卷/物理卷数量(Cur LV / Cur PV)、最大物理卷数(Max PV)、PE 大小(PE Size)、总 PE 数(Total PE)、已分配 PE 数(Alloc PE)等字段,与上述字段共同构成卷组的完整画像。

PE 与 UUID 的深层含义

  • PE(Physical Extent):物理卷被划分成的固定大小的最小分配单位,其大小在创建卷组时由 -s 选项决定。逻辑卷的大小总是 PE 的整数倍,因此 free PE / Size 中 PE 数 × PE 大小 = 剩余容量。示例中 50 个 PE 对应 200.00 MB,可推知该卷组的 PE 大小为 4 MB;
  • UUID:LVM 元数据中的稳定标识。只要卷组不被删除重建,UUID 就不会改变,可用于在 /etc/fstab、备份脚本等场景中稳定引用卷组。

与其他命令协同:构建卷组查询工作流

vgdisplay 通常不单独使用,而是与卷组管理命令族配合,形成完整的运维闭环:

  1. 扫描卷组:先使用 vgscan.md 查找系统中存在的 LVM 卷组,得到卷组名称列表:
[root@localhost ~]# vgscan     #扫描并显示LVM卷组列表
Found volume group "vg2000" using metadata type lvm2
Found volume group "vg1000" using metadata type lvm2

再针对具体卷组执行 vgdisplay vg1000 查看详细信息——vgscan 只给出卷组名称与元数据类型,要得到卷组的完整属性必须使用 vgdisplay。

  1. 创建卷组:用 vgcreate.md 将物理卷组织为卷组,创建时可通过 -s 指定 PE 大小、-l 限定最大逻辑卷数、-p 限定最大物理卷数:
[root@localhost ~]# vgcreate vg1000 /dev/sdb1 /dev/sdb2  #创建卷组"vg1000"
Volume group "vg1000" successfully created
  1. 查询验证:创建完成后即可用 vgdisplay vg1000 验证卷组属性是否符合预期(PE 大小、总容量、可用空间等)。

卷组生命周期管理速览

vgdisplay 位于卷组管理的"读"端,与之配套的"写"端命令在 ZeroTermux 手册中同样有完整文档,构成卷组从创建到删除的完整生命周期:

阶段 命令 说明
创建 vgcreate.md 创建卷组并加入物理卷
激活/停用 vgchange.md 如 vgchange -ay vg1000 激活卷组、-an 停用;活动状态的卷组无法被删除
扩容 vgextend.md 向卷组动态添加物理卷,如 vgextend vg2000 /dev/sdb2
缩容 vgreduce.md 从卷组移除物理卷(不能移除最后一个物理卷),--removemissing 可清理丢失的物理卷
格式转换 vgconvert.md 将 LVM1 格式卷组转换为 LVM2,如 vgconvert -M2 vg1000(转换前须先 vgchange -an 停用)
删除 vgremove.md 删除卷组,如 vgremove vg1000;卷组上已有逻辑卷时需确认,-f 可强制删除

在使用扩容、缩容、删除等操作前后,都应当用 vgdisplay 复核卷组的 Total PE、Alloc PE 与 free PE / Size 变化,确保操作结果与预期一致。

在 ZeroTermux 中查阅 vgdisplay 手册

ZeroTermux 将 vgdisplay 等数百条 Linux 命令的中文手册以 Markdown 文档形式内置在 app/src/main/assets/cmd/ 目录中。用户通过终端侧边栏(BoomWindow)点击"命令"入口即可打开命令手册对话框:

  • 触发入口位于 BoomWindow.java,点击"命令"按钮后实例化 CommandDialog 并弹出;
  • 命令列表由 CommandDialog.java 的 initData() 通过 AssetManager.list("cmd") 动态读取 assets 目录生成,并支持输入关键字实时过滤排序;
  • 点击具体命令后,showCmdDetail()(CommandDialog.java)使用 commonmark 库将对应 .md 文件解析为 HTML,通过 WebView 展示,因此本文展示的语法、选项、参数与实例格式在 App 内即是以文档原样呈现的。

也就是说,在 ZeroTermux 中打开命令手册,搜索 vgdisplay,即可直接看到本文所讲解的全部内容;配合其内置的 Linux 环境,可边查边练,对照文档逐字段验证真实输出。

小结

vgdisplay 是 LVM 卷组信息查询的基础命令,核心用法可概括为:

  • 不加参数查看所有卷组,加卷组名查看指定卷组;
  • -A 只看活动卷组,-s 使用短格式输出;
  • 重点阅读 PE Size、Total PE、Alloc PE / Size、free PE / Size 与 VG UUID 字段,即可快速掌握卷组的容量分配状况。

在实际运维中,建议将 vgdisplay 与 vgscan、vgcreate、vgextend、vgreduce、vgchange、vgremove 等命令族配合使用,并结合 ZeroTermux 内置手册(vgdisplay.md)随查随学,形成完整的 LVM 卷组管理能力。

登录后查看全文
ZeroTermux