4.8. LVM 的自訂化回報

您可透過使用 pvslvsvgs 指令來產生出簡明與可自訂化的 LVM 物件報告。這些指令所產生的報告包含著各個物件的一行輸出。各個行列都包含著一列和物件相關、經過排序的屬性的欄位。有五種方式可選擇欲回報的物件:藉由實體卷冊、卷冊群組、邏輯卷冊、實體卷冊區段,以及邏輯卷冊區段。
下列部份提供了:
  • 您可使用來控制產生出的報告格式的指令引數之摘要。
  • 您能為 LVM 物件選擇的欄位之清單。
  • 您可使用來排序產生出的報告的指令引數之 摘。要
  • 指定回報輸出單位的指示。

4.8.1. 格式控制

無論您是使用 pvslvsvgs 指令都能看見顯示出的預設欄位和排序順序。您可藉由下列引數來控制這些指令的輸出:
  • 您可藉由使用 -o 引數來改變預設顯示的欄位。比方說,下列輸出為 pvs 指令的預設輸出(它顯示出了有關於實體卷冊的相關資訊)。
    # pvs
      PV         VG     Fmt  Attr PSize  PFree
      /dev/sdb1  new_vg lvm2 a-   17.14G 17.14G
      /dev/sdc1  new_vg lvm2 a-   17.14G 17.09G
      /dev/sdd1  new_vg lvm2 a-   17.14G 17.14G
    
    下列指令只會顯示實體卷冊的名稱和大小。
    # pvs -o pv_name,pv_size
      PV         PSize
      /dev/sdb1  17.14G
      /dev/sdc1  17.14G
      /dev/sdd1  17.14G
    
  • 您可透過一個加號(+)來將一個欄位附加至輸出,這能夠和 -o 引數一起組合使用。
    下列範例除了會顯示預設的欄位還會顯示實體卷冊的 UUID。
    # pvs -o +pv_uuid
      PV         VG     Fmt  Attr PSize  PFree  PV UUID
      /dev/sdb1  new_vg lvm2 a-   17.14G 17.14G onFF2w-1fLC-ughJ-D9eB-M7iv-6XqA-dqGeXY
      /dev/sdc1  new_vg lvm2 a-   17.14G 17.09G Joqlch-yWSj-kuEn-IdwM-01S9-X08M-mcpsVe
      /dev/sdd1  new_vg lvm2 a-   17.14G 17.14G yvfvZK-Cf31-j75k-dECm-0RZ3-0dGW-UqkCS
    
  • 新增 -v 引數至一項指令可增加額外的欄位。比方說,輸入 pvs -v 指令的話將會顯示出預設欄位以及 DevSizePV UUID 這兩個額外的欄位。
    # pvs -v
        Scanning for physical volume names
      PV         VG     Fmt  Attr PSize  PFree  DevSize PV UUID
      /dev/sdb1  new_vg lvm2 a-   17.14G 17.14G  17.14G onFF2w-1fLC-ughJ-D9eB-M7iv-6XqA-dqGeXY
      /dev/sdc1  new_vg lvm2 a-   17.14G 17.09G  17.14G Joqlch-yWSj-kuEn-IdwM-01S9-XO8M-mcpsVe
      /dev/sdd1  new_vg lvm2 a-   17.14G 17.14G  17.14G yvfvZK-Cf31-j75k-dECm-0RZ3-0dGW-tUqkCS
    
  • --noheadings 引數會將標題的行列抑制住。這對於編寫 script 相當有幫助。
    下列範例合併使用了 --noheadingspv_name 引數來產生了一列包含著所有實體卷冊的清單。
    # pvs --noheadings -o pv_name
      /dev/sdb1
      /dev/sdc1
      /dev/sdd1
    
  • --separator 分隔符號 這個引數使用了分隔符號來區隔了各個欄位。
    下列範例透過了一個等於符號(=)來區分了 pvs 的預設輸出欄位。
    # pvs --separator =
      PV=VG=Fmt=Attr=PSize=PFree
      /dev/sdb1=new_vg=lvm2=a-=17.14G=17.14G
      /dev/sdc1=new_vg=lvm2=a-=17.14G=17.09G
      /dev/sdd1=new_vg=lvm2=a-=17.14G=17.14G
    
    若要在使用 separator 引數時讓欄位對稱的話,請合併使用 separator 引數以及 --aligned 引數。
    # pvs --separator = --aligned
      PV        =VG    =Fmt =Attr=PSize =PFree
      /dev/sdb1 =new_vg=lvm2=a-  =17.14G=17.14G
      /dev/sdc1 =new_vg=lvm2=a-  =17.14G=17.09G
      /dev/sdd1 =new_vg=lvm2=a-  =17.14G=17.14G
    
您可透過使用 lvsvgs 指令的 -P 引數,來顯示原本不會出現在輸出中的失敗卷冊相關資訊。欲取得該引數所產生之輸出的相關資訊,請查看〈節 6.2, “顯示錯誤裝置的相關資訊”〉。
如欲取得顯示引數的完整清單,請查看 pvs(8)、vgs(8) 以及 lvs(8) man page。
卷冊群組欄位能與實體卷冊(和實體卷冊區段)欄位或邏輯卷冊(和邏輯卷冊區段)欄位混合在一起,不過實體卷冊與邏輯卷冊欄位則無法混合在一起。比方說,下列指令將會顯示各個實體卷冊的一行輸出。
# vgs -o +pv_name
  VG     #PV #LV #SN Attr   VSize  VFree  PV
  new_vg   3   1   0 wz--n- 51.42G 51.37G /dev/sdc1
  new_vg   3   1   0 wz--n- 51.42G 51.37G /dev/sdd1
  new_vg   3   1   0 wz--n- 51.42G 51.37G /dev/sdb1