Bash
如何在 bash 腳本中獲取有關 LVM 對象的各種資訊?
我想自動化一些維護操作,並且我需要能夠在我的腳本中請求有關 LVM 對象的一些詳細資訊。
特別是,我需要能夠請求至少以字節為單位的 PE 大小以及在特定 PV 上可用的空閒 PE 數量。
有一些進展,例如
pvdisplay --units b --nosuffix
以字節顯示數據並且沒有垃圾。但是,我希望不需要我過多地解析這個輸出(使用 grep/awk/等),並且我可以製作
pvdisplay
和其他 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 輸出?
該
{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
.