我想要自动执行一些维护操作,并且需要能够在脚本中请求有关 LVM 对象的一些详细信息。
特别是,我需要能够至少请求 PE 大小(以字节为单位)以及特定 PV 上有多少可用的空闲 PE。
有一些进展,例如pvdisplay --units b --nosuffix
以字节为单位显示数据并且没有垃圾。
然而,我希望我不需要太多地解析这个输出(使用 grep/awk/ 等),并且我可以 makepvdisplay
和其他 LVM 实用程序来准确输出我需要的数据。我认为这会更加稳健。有一个选项-o
/--options
应该根据man pvdisplay
.手册页还说-o
可以通过运行 with 来获取可用于 with 的字段列表-o help
。尽管如此,-o help
以及其他-o
始终输出的内容:
Incompatible options selected
Run `pvdisplay --help' for more information.
就这样。 Fedora bugzilla 中甚至存在一个错误,由于报告的版本 EOL,该错误已关闭且没有解决方案。
是否可以只输出某些信息,或者我应该解析标准 LVM 输出?
答案1
该{pv,lv,vg}display --options
参数似乎只能与 结合使用--columns
,相当于简写pvs
, vgs
,lvs
命令。
PE 大小(以字节为单位)
# vgs -o vg_extent_size --units b VGNAME
有多少个免费 PE 可用
# pvs -o pv_pe_count,pv_pe_alloc_count /dev/PV
或者替代地
# pvs -o pv_free --units b /dev/PV
如果您不想直接指定 VG / PV,请添加name
到选项中。
还有其他选项可能有助于解析,例如--noheadings
、--nosuffix
、--separator=:
、--rows
或--quiet
。--reportformat=json
另一种选择是解析 的输出pvdisplay --colon
。