Как я могу узнать свободное пространство на PV LVM в человекочитаемом формате?

Только с sed, без любых каналов:

sed '1d;$d' file.txt

Примечание:

  • 1 имейте в виду первую строку
  • d средний удаляют
  • ; разделитель для 2 команд
  • $ имейте в виду последнюю строку
8
03.12.2013, 19:48
3 ответа

Инструмент pvs показывает вывод в любых единицах, которые Вы любите.

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

Я заметил это упоминание в странице справочника:

--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
12
27.01.2020, 20:10
  • 1
    и сохраняет меня от ужасной остроты, которую я пытался создать! –  Josh 03.12.2013, 19:43

Ну, я сказал, что дам Вам один лайнер, таким образом, здесь это будет всего лишь, это действительно не очень хорошо. ответ @slm является, очевидно, способом пойти. Так или иначе острота ниже предполагает, что размер PV выражается в Кбайтах (который не всегда имеет место), и печатает гибибайт по умолчанию.

$ 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
3
27.01.2020, 20:10

я знаю, что немного опоздал с ответом, но я думаю, что проще всего просто :(Те же параметры работают и для vgs ),

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

/dev/sda2      0g
/dev/sdb   18.40g
/dev/sdc    5.00g
/dev/sdd   14.00g
2
26.02.2020, 12:18

Теги

Похожие вопросы