pvdisplay -C 以紧凑列格式输出物理卷关键信息,字段顺序为 PV VG Fmt Attr PSize PFree,单位自动人类可读,支持 --noheadings、--units 和 --separator 优化脚本解析。

使用 pvdisplay -C 可以以紧凑列格式(Compact Columnar)输出物理卷(PV)信息,适合脚本解析和监控场景。
基础命令:启用紧凑格式
pvdisplay -C 会以固定列宽、无多余空行和描述性文字的方式显示关键字段,包括 PV 名、VG 名、PV 大小、已用空间、空闲空间等。
- 默认列顺序为:
PVVGFmtAttrPSizePFree - 所有数值统一以人类可读单位(如 GiB、TiB)显示,且对齐整齐
- 不显示 UUID、PE 总数/已用数等冗余字段,大幅减少输出体积
增强可读性与监控适配
搭配 --noheadings 和 --units 可进一步优化输出,便于日志采集或 Prometheus Exporter 解析:
-
pvdisplay -C --noheadings --units g:禁用表头,所有容量强制以 GB 为单位(含小数),避免单位混杂 -
pvdisplay -C --noheadings --separator '|':用竖线分隔字段,方便 awk/cut 按列提取,例如:awk -F'|' '{print $1,$5,$6}' - 组合使用:
pvdisplay -C --noheadings --units m --separator ' '输出空格分隔的 MB 整数值,适合 shell 数值比较
监控脚本中典型用法
在 Zabbix、Nagios 或自建巡检脚本中,常用以下模式快速判断 PV 健康状态:
- 检查空闲率是否低于 10%:
pvdisplay -C --noheadings | awk '{if ($6/$5 - 仅输出非空闲为 0 的 PV:
pvdisplay -C --noheadings | awk '$6 > 0' - 按 VG 分组统计总/空闲容量:
pvdisplay -C --noheadings --units g | awk '{v[$2]+=$5; f[$2]+=$6} END {for (i in v) printf "%s: %.1f/%.1f GiB\n", i, v[i]-f[i], v[i]}'
注意事项
该格式依赖 LVM2 工具链版本(建议 ≥ 2.02.110),旧版可能不支持 --separator 或部分单位选项。
- 若需兼容极老系统,可用
pvscan --cache+lvmcache配合lvs -o+pv_used替代,但非直接等效 -
-C不影响逻辑卷或卷组层面的显示,如需 VG 级紧凑输出,请用vgdisplay -C - 输出字段顺序固定,脚本中应始终按位置($1、$2…)而非字段名引用,避免因 locale 或版本差异导致错位


















