virt-df(1) 仮想ファイルシステムの使用状況の表示



virt-df [--options]


 virt-df [--options] -d domname
 virt-df [--options] -a disk.img [-a disk.img ...]


 virt-df [--options] domname
 virt-df [--options] disk.img [disk.img ...]


"virt-df" is a command line tool to display free space on virtual machine filesystems. Unlike other tools, it doesn't just display the size of disk allocated to a virtual machine, but can look inside disk images to see how much space is really being used.

If used without any -a or -d arguments, "virt-df" checks with libvirt to get a list of all active and inactive guests, and performs a "df"-type operation on each one in turn, printing out the results.

If any -a or -d arguments are specified, "virt-df" performs a "df"-type operation on either the single named libvirt domain, or on the disk image(s) listed on the command line (which must all belong to a single VM). In this mode (with arguments), "virt-df" will only work for a single guest. If you want to run on multiple guests, then you have to invoke "virt-df" multiple times.

Use the --csv option to get a format which can be easily parsed by other programs. Other options are similar to the standard df(1) command.

Show disk usage for a single libvirt guest called "F14x64". Make the output human-readable:

 # 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%

Show disk usage for a disk image file called test.img:

 $ virt-df -a test1.img
 Filesystem                  1K-blocks     Used  Available  Use%
 test1.img:/dev/sda1             99099     1551      92432    2%

If a single guest has multiple disks, use the -a option repeatedly. A plus sign ("+") is displayed for each additional disk. Note: Do not do this with unrelated guest disks.

 $ virt-df -a Win7x32TwoDisks-a -a Win7x32TwoDisks-b 
 Filesystem                   1K-blocks    Used  Available  Use%
 Win7x32TwoDisks-a+:/dev/sda1    102396   24712      77684   25%
 Win7x32TwoDisks-a+:/dev/sda2  12478460 7403416    5075044   60%
 Win7x32TwoDisks-a+:/dev/sdb1    521212   55728     465484   11%


-a file
--add file
Add file which should be a disk image from a virtual machine. If the virtual machine has multiple block devices, you must supply all of them with separate -a options.

ディスクイメージの形式は自動検知されます。 これを上書きして強制的に特定の形式を使用する場合、 --format=.. オプションを使用します。

-a URI
--add URI
リモートディスクを追加します。 ``リモートストレージの追加'' in guestfish(1) 参照。
-c URI
--connect URI
libvirt を使用していると、指定された URI に接続します。 省略すると、デフォルトの libvirt ハイパーバイザーに接続します。

ゲストのブロックデバイスを直接指定していると((-a))、libvirt は何も使用されません。

Write out the results in CSV format (comma-separated values). This format can be imported easily into databases and spreadsheets, but read ``NOTE ABOUT CSV FORMAT'' below.
-d guest
--domain guest
名前付きの libvirt 仮想マシンからすべてのディスクを追加します。 名前の代わりに仮想マシンの UUID を使用できます。
-a オプションは標準状態でディスクイメージの形式を自動検知します。 これを使用することにより、コマンドラインで後続の -a オプションのディスク形式を強制的に指定できます。 引数なしで --format を使用することにより、 後続の -a オプションに対して自動検知に戻せます。


 virt-df --format=raw -a disk.img

forces raw format (no auto-detection) for disk.img.

 virt-df --format=raw -a disk.img --format -a another.img

forces raw format (no auto-detection) for disk.img and reverts to auto-detection for another.img.

仮想マシンのディスクイメージが信頼できない raw 形式である場合、 ディスク形式を指定するためにこのオプションを使用すべきです。 これにより、悪意のある仮想マシンにより起こり得る セキュリティ問題を回避できます (CVE-2010-3851)。


-h--csv を同時に使用することはできません。

ブロックの代わりに inode を表示します。
Since libguestfs 1.22, this is the default. This option does nothing and is left here for backwards compatibility with older scripts.
-P nr_threads
Since libguestfs 1.22, virt-df is multithreaded and examines guests in parallel. By default the number of threads to use is chosen based on the amount of free memory available at the time that virt-df is started. You can force virt-df to use at most "nr_threads" by using the -P option.

Note that -P 0 means to autodetect, and -P 1 means to use a single thread.

名前の代わりに UUID を表示します。仮想マシンがマイグレーションまたは名前変更されたとき、または偶然 2 つの仮想マシンが同じ名前を持つとき、仮想マシンに使用させるために有用です。

Note that only domains that we fetch from libvirt come with UUIDs. For disk images, we still print the disk image name even when this option is specified.

libguestfs API 呼び出しのトレースを有効にします。


"virt-df" (and df(1)) get information by issuing a statvfs(3) system call. You can get the same information directly, either from the host (using libguestfs) or inside the guest:

 guestfish --ro -d GuestName -i statvfs /

(change / to see stats for other filesystems).


 python -c 'import os; s = os.statvfs ("/"); print s'

(change / to see stats for other filesystems).

CSV 形式に関する注意

Comma-separated values (CSV) is a deceptive format. It seems like it should be easy to parse, but it is definitely not easy to parse.

神話: ただコンマで項目を区切る。 真実: これは正しく動き ません。この例は 2 つの列があります:


神話: 同時にファイルの 1 行を読み込みます。 真実: これは正しく動き ません。この例は 1 つの行があります:


For shell scripts, use "csvtool" ( also packaged in major Linux distributions).

For other languages, use a CSV processing library (eg. "Text::CSV" for Perl or Python's built-in csv library).

Most spreadsheets and databases can import CSV directly.


このプログラムは、成功すると 0 を、エラーがあると 0 以外を返します。


Richard W.M. Jones


Copyright (C) 2009-2016 Red Hat Inc.



To get a list of bugs against libguestfs, use this link:

To report a new bug against libguestfs, use this link:

When reporting a bug, please supply:

  • The version of libguestfs.
  • Where you got libguestfs (eg. which Linux distro, compiled from source, etc)
  • Describe the bug accurately and give a way to reproduce it.
  • Run libguestfs-test-tool(1) and paste the complete, unedited output into the bug report.