LVM + pvs + pvs結果を取得する方法

LVM + pvs + pvs結果を取得する方法

Pfreeサイズを取得しますが、浮動小数点の代わりに整数を使用するコマンドを作成したいと思います。

 pvs
  PV         VG   Fmt  Attr PSize   PFree
  /dev/sda2  vg   lvm2 a--  277.97g 111.97g

たとえば、次のことがpvsできます。

pvs --units g | awk '{print $NF}' | sed s'/\./ /g' | awk '{print $1}' | tail -1

それは与えた

111

ただし、他の場合は、2つ以上のPV行が発生して合計を計算する必要があります。Pfree

実施例1

pvs
  PV         VG   Fmt  Attr PSize   PFree
  /dev/sda2  vg   lvm2 a--  149.51g 53.51g
  /dev/sda3  vg   lvm2 a--   50.00g   2.1g
  

実施例2

   pvs
  PV         VG   Fmt  Attr PSize   PFree
  /dev/sda2  vg   lvm2 a--  149.51g 520.00m
  /dev/sda3  vg   lvm2 a--   50.00g  3.51g

だから私たちはGigaの計算結果を提供できるlvmコマンドを検索しようとしています。

例1に関しては、以下を得る必要があります。55.6

または

例 2 については、以下を得る必要があります。4.2

lvm この魔法を達成する方法についての提案はありますか?

そうでなければ、ありがとうございますawk/sed/パール役に立つ文法

ベストアンサー1

PV空きスペースのみ確保pvs

# pvs -o pv_free --unit=g --no-suffix --no-heading 
   1.00
   0.31

そしてbc

# pvs -o pv_free --unit=g --no-suffix --no-heading | paste -s -d+ - | bc
1.31

おすすめ記事