virt-df(1) | Virtualization Support | virt-df(1) |
virt-df — програма для показу даних щодо вільного місця на віртуальних файлових системах
Всі гостьові системи:
virt-df [--параметри]
Окрема гостьова система:
virt-df [--параметри] -d назва_домену virt-df [--параметри] -a диск.img [-a диск.img ...]
Старий стиль:
virt-df [--параметри] назва_домену virt-df [--параметри] диск.img [диск.img ...]
"virt-df" — інструмент командного рядка для показу вільного місця у файлових системах віртуальної машини. На відміну від інших інструментів, він не показує розмір диску, який отримано для віртуальної машини, а може зазирнути всередину образу диска і визначити, скільки саме місця насправді використовується.
Якщо команду віддано без аргументів -a або -d, "virt-df" отримає від libvirt список активних і неактивних гостьових систем і виконає дію типу "df" для кожного з них послідовно, а потім виведе результати.
Якщо вказано якийсь із аргументів, -a або -d, "virt-df" виконає дію типу "df" або над окремим вказаним за назвою доменом libvirt, або над образами дисків, вказаних у форматі списку у командному рядку (усі вони мають належати до однієї віртуальної машини). У цьому режимі (з аргументами), "virt-df" працюватиме для однієї гостьової системи. Якщо ви хочете обробити декілька гостьових систем, вам слід викликати "virt-df" декілька разів.
Скористайтеся параметром --csv, щоб отримати формат у вигляді даних, які може бути просто оброблено у інших програмах. Інші параметри подібні до параметрів стандартної команди df(1).
Показати використання диска для окремої гостьової системи libvirt, яка називається "F14x64". Зробити виведені дані зручними для читання:
# virt-df -d F14x64 -h Filesystem Size Used Available Use% F14x64:/dev/sda1 484M 66M 393M 14% F14x64:/dev/vg_f13x64/lv_root 7.4G 3.4G 4.0G 46%
Показати дані щодо використання диска у файлі образу диска з назвою test.img:
$ virt-df -a test1.img Filesystem 1K-blocks Used Available Use% test1.img:/dev/sda1 99099 1551 92432 2%
Якщо у одній гостьовій системі декілька дисків, скористайтеся параметром -a декілька разів. Для кожного з додаткових дисків буде показано символ «плюс» ("+"). Зауваження: не робіть цього для непов'язаних дисків гостьових систем.
$ virt-df -a Win7x32TwoDisks-a -a Win7x32TwoDisks-b Файлова система 1K-блоків Вик. Доступно %Вик. Win7x32TwoDisks-a+:/dev/sda1 102396 24712 77684 25% Win7x32TwoDisks-a+:/dev/sda2 12478460 7403416 5075044 60% Win7x32TwoDisks-a+:/dev/sdb1 521212 55728 465484 11%
Формат образу диска визначається автоматично. Щоб перевизначити його і примусово використати певний формат, скористайтеся параметром --format=...
Якщо вказати блокові пристрої гостьових систем безпосередньо (-a), libvirt не буде використовуватися взагалі.
Приклад:
virt-df --format=raw -a disk.img
примусове встановлення формату без обробки (без автоматичного визначення) для disk.img.
virt-df --format=raw -a disk.img --format -a another.img
примусове встановлення формату без обробки (без автоматичного визначення) для diskimg і повернення до автоматичного визначення для another.img.
Якщо ви користуєтеся ненадійними образами гостьових систем у необробленому форматі, вам слід скористатися цим параметром для визначення формату диска. Таким чином можна уникнути можливих проблем з захистом для сформованих зловмисниками гостьових систем (CVE-2010-3851).
Параметри -h і --csv не можна використовувати одночасно.
Зауважте, що -P 0 означає автоматичне визначення, а -P 1 означає використання одного потоку виконання.
Зауважте, що UUID матимуть лише ті домени, які ми отримуємо з libvirt. Для образів дисків ми виводимо назви образів дисків, навіть якщо вказано цей параметр.
"virt-df" (і df(1)) отримує інформацію, виконуючи системний виклик statvfs(3). Ви можете отримати ті самі дані безпосередньо або від основної системи (за допомогою libguestfs), або з самої гостьової системи:
guestfish --ro -d НАЗВА_ГОСТЬОВОЇ_СИСТЕМИ -i statvfs /
(замініть /, щоб переглянути статистику для інших файлових систем).
python -c 'import os; s = os.statvfs ("/"); print s'
(замініть /, щоб переглянути статистику для інших файлових систем).
Формат значень, які відокремлено комами (CSV), є оманливо простим. Може здатися, що його просто обробляти, але насправді це зовсім не так.
Міф: достатньо розділити поля за комами. Реальність: поділ комами не працює у надійний спосіб. Ось приклад із двома стовпчиками:
"foo,bar",baz
Міф: слід читати файл за рядками, один рядок за одну операцію читання. Реальність: читання за рядками не працює у надійний спосіб. Ось приклад із одним рядком:
"foo bar",baz
Для скриптів командної оболонки скористайтеся "csvtool" (https://github.com/Chris00/ocaml-csv також є серед пакунків основних дистрибутивів Linux).
Для інших мов програмування використовуйте бібліотеку для обробки даних CSV (наприклад, "Text::CSV" для Perl або вбудовану бібліотеку csv Python).
У більшості електронних таблиць та баз даних передбачено можливості безпосереднього імпортування даних CSV.
Ця програма повертає значення 0 у разі успішного завершення і ненульове значення, якщо сталася помилка.
df(1), guestfs(3), guestfish(1), virt-filesystems(1), http://libguestfs.org/.
Richard W.M. Jones http://people.redhat.com/~rjones/
Copyright (C) 2009-2019 Red Hat Inc.
To get a list of bugs against libguestfs, use this link: https://bugzilla.redhat.com/buglist.cgi?component=libguestfs&product=Virtualization+Tools
To report a new bug against libguestfs, use this link: https://bugzilla.redhat.com/enter_bug.cgi?component=libguestfs&product=Virtualization+Tools
When reporting a bug, please supply:
2019-02-07 | libguestfs-1.40.2 |