人間が読める形式でLVM PVの空き容量を確認するにはどうすればよいですか?


9

電卓を使わずにLVM物理ボリュームの空き容量を取得する方法を探しています。

このpvdisplayコマンドを実行すると、PEサイズと空きPEのサイズが表示されるので、PEサイズに空きPEを掛けると、空き領域がKBでわかります。しかし、空き容量をメガバイト、ギガバイトなどで表示するコマンドが欲しいのですが。

の出力pvdisplayは次のとおりです。

[root@df02 mysql]# pvdisplay
  /dev/cdrom: open failed: No medium found
  --- Physical volume ---
  PV Name               /dev/sda2
  VG Name               MMB
  PV Size               29.71 GB / not usable 19.77 MB
  Allocatable           yes 
  PE Size (KByte)       32768
  Total PE              950
  Free PE               221
  Allocated PE          729
  PV UUID               QfZGfn-a3VV-IRkw-bV9g-6iqm-zXjN-y5e6gr

したがって、この場合の空き容量は32768 KByte * 221 Free PE = 7241728 KiB、つまり6.90625 GiBです。しかし、それは電卓なしで行うには多くの数学です;-)

LVM物理ボリュームの空き容量をメガバイト/ギガバイトで表示できるコマンドはありますか?


私は、perlマスターがワンライナーを作成できると確信しています。私はルビーに取り組んでいますが、ルビーワンラインのスキルは少し錆びています...
Josh

計算はBashでも行うことができますが、おそらく1ダースのLVM関連ツールの1つへの切り替えを探しているでしょう。
slm

1
@terdon-いくつかの出力を追加
slm

@simに感謝!私のPVには実際に約7 GiBの空きがあるため、実際の出力と数式を表示するように編集しました。
Josh

回答:


13

このツールpvsは、任意の単位で出力を表示します。

$ pvs
  PV         VG   Fmt  Attr PSize  PFree
  /dev/sda2  MMB  lvm2 a--  29.69G 6.91G

manページでこの言及に気づきました。

--units hHbBsSkKmMgGtTpPeE
       All  sizes  are  output in these units: (h)uman-readable, (b)ytes, 
       (s)ectors, (k)ilobytes, (m)egabytes, (g)igabytes,(t)erabytes, 
       (p)etabytes, (e)xabytes.  Capitalise to use multiples of 1000 (S.I.) 
       instead of 1024.  Can also specify custom units e.g. --units 3M

次のように単位を上書きできます。

$ pvs --units m
  PV         VG             Fmt  Attr PSize     PFree
  /dev/sda2  vg_switchboard lvm2 a--  37664.00m    0m

完璧で、私が作成しようとしていた恐ろしいワンライナーから私を救ってくれます!
Josh

3

さて、私はあなたにワンライナーを与えると言ったので、ここにありますが、それは本当にあまり良くありません。@slmの答えは明らかに進むべき道です。とにかく、以下のワンライナーは、PVサイズがキロバイトで表されることを前提とし(常にそうであるとは限りません)、デフォルトでGiBを出力します。

$ pvdisplay | perl -plne '$f=$1 if /Free PE\s*(\d+)/; 
                        $s=$1 if /PE Size.*?(\d+)/; 
                        print "  Free Space\t\t",($s*$f)/1048576," GiB" if /UUID/'
  /dev/cdrom: open failed: No medium found
  --- Physical volume ---
  PV Name               /dev/sda2
  VG Name               MMB
  PV Size               29.71 GB / not usable 19.77 MB
  Allocatable           yes 
  PE Size (KByte)       32768
  Total PE              950
  Free PE               221
  Allocated PE          729
  Free Space            6.90625 GiB
  PV UUID               QfZGfn-a3VV-IRkw-bV9g-6iqm-zXjN-y5e6gr

1

私は答えに少し遅れていることを知っていますが、最も簡単な方法はちょうどだと思います:(同じオプションがvgsでも機能します)、

$ pvs -o name,free --units g --noheadings

/dev/sda2      0g
/dev/sdb   18.40g
/dev/sdc    5.00g
/dev/sdd   14.00g
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.