BashスクリプトからLVMオブジェクトのさまざまな情報を取得するには?

BashスクリプトからLVMオブジェクトのさまざまな情報を取得するには?

いくつかのメンテナンスタスクを自動化し、スクリプトがLVMオブジェクトに関するいくつかの詳細を要求できるようにする必要があります。

特に、少なくともPEサイズ(バイト)と特定のPVで利用可能な空きPE数を要求できる必要があります。

pvdisplay --units b --nosuffixデータをバイト単位で表示し、ガベージなしで表示するなど、いくつかの改善点があります。

しかし、私はこの出力をあまり解析する必要はなく(grep / awk /などを使用して)、pvdisplay他のLVMユーティリティを使用して必要なデータを正確に出力できることを願っています。私はこれがより強力になると思います。-o/に--options基づいている必要があるというオプションがありますman pvdisplay。マニュアルページでは、-owithを実行して利用可能なフィールドのリストを取得できます-o help。それにもかかわらず、常に出力される-o help他の-oものは次のとおりです。

  Incompatible options selected
  Run `pvdisplay --help' for more information.

それはすべてです。 Fedora Bugzillaには、バージョンEOLレポートのために解決策なしに終了したバグもあります。

特定の情報のみを出力できますか、それとも標準のLVM出力を解析する必要がありますか?

答え1

このパラメータは、短縮されたコマンドと同じ{pv,lv,vg}display --optionsで使用されるようです。--columnspvsvgslvs

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

関連情報