如何在bash脚本中获取LVM对象的各种信息?

如何在bash脚本中获取LVM对象的各种信息?

我想要自动执行一些维护操作,并且需要能够在脚本中请求有关 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

相关内容