virt-df(1) Virtualization Support virt-df(1)

virt-df - نمایش فضای آزاد دیسک در سیستم‌های فایل ماشین‌های مجازی

همه ماشین‌های میهمان:

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" ابزاری خط فرمانی برای نمایش فضای آزاد در سیستم‌های فایل ماشین مجازی است. برخلاف سایر ابزارها، این دستور صرفاً اندازه دیسک اختصاص‌یافته به یک ماشین مجازی را نشان نمی‌دهد، بلکه می‌تواند به درون ایمیج‌های دیسک نگاه کند تا ببیند چه مقدار فضا واقعاً در حال استفاده است.

اگر بدون هیچ آرگومان -a یا -d استفاده شود، "virt-df" با libvirt ارتباط برقرار کرده تا فهرستی از تمام ماشین‌های میهمان فعال و غیرفعال دریافت کند، و به نوبت عملیاتی از نوع "df" را روی هر یک انجام داده و نتایج را چاپ می‌کند.

اگر هر یک از آرگومان‌های -a یا -d مشخص شوند، "virt-df" عملیاتی از نوع "df" را یا روی دامنه نام‌برده منفرد libvirt یا روی ایمیج(های) دیسک فهرست‌شده در خط فرمان (که همگی باید متعلق به یک ماشین مجازی واحد باشند) انجام می‌دهد. در این حالت (با آرگومان‌ها)، "virt-df" فقط برای یک ماشین میهمان منفرد کار خواهد کرد. اگر می‌خواهید آن را روی چندین ماشین میهمان اجرا کنید، باید "virt-df" را چندین بار فراخوانی کنید.

از گزینه --csv برای دریافت قالبی استفاده کنید که بتواند به راحتی توسط برنامه‌های دیگر پردازش و تجزیه شود. سایر گزینه‌ها مشابه دستور استاندارد df(1) هستند.

نمایش مصرف دیسک برای یک ماشین میهمان libvirt به نام "F14x64". خوانا کردن خروجی برای انسان (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%

نمایش مصرف دیسک برای یک فایل ایمیج دیسک به نام 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
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%

نمایش راهنمای خلاصه.
افزودن "FILE" که باید یک ایمیج دیسک از ماشین مجازی باشد. اگر ماشین مجازی چندین دستگاه بلوکی دارد، باید همه آن‌ها را با گزینه‌های جداگانه -a ارائه دهید.

قالب ایمیج دیسک به طور خودکار شناسایی می‌شود. برای نادیده گرفتن این رفتار و تحمیل یک قالب خاص، از گزینه --format=.. استفاده کنید.

افزودن دیسک راه دور. به "ADDING REMOTE STORAGE" در guestfish(1) مراجعه کنید.
این پارامتر اندازه بخش (sector size) ایمیج دیسک را تنظیم می‌کند. این گزینه بر تمام دیسک‌های بعدی که به صراحت پس از این پارامتر اضافه می‌شوند تأثیر می‌گذارد. استفاده از --blocksize بدون آرگومان، اندازه سکتور دیسک را به مقدار پیش‌فرض تغییر می‌دهد که معمولاً ۵۱۲ بایت است. همچنین به "guestfs_add_drive_opts" در guestfs(3) مراجعه کنید.
در صورت استفاده از libvirt، به URI مشخص‌شده متصل می‌شود. در صورت حذف، به هایپروایزر پیش‌فرض libvirt متصل می‌شویم.

اگر دستگاه‌های بلوکی میهمان را مستقیماً (-a) مشخص کنید، libvirt به هیچ وجه استفاده نمی‌شود.

نوشتن نتایج در قالب CSV (مقادیر جداشده با کاما). این قالب می‌تواند به راحتی به پایگاه‌های داده و صفحات گسترده وارد شود، اما بخش "نکته‌ای درباره قالب CSV" را در زیر بخوانید.
افزودن تمام دیسک‌ها از ماشین میهمان libvirt نام‌برده. به جای نام‌ها می‌توان از UUIDهای دامنه استفاده کرد.
حالت پیش‌فرض برای گزینه -a تشخیص خودکار قالب ایمیج دیسک است. استفاده از این گزینه، قالب دیسک را برای گزینه‌های -a که در خط فرمان بعد از آن می‌آیند تحمیل می‌کند. استفاده از --format بدون آرگومان، تشخیص را برای گزینه‌های بعدی -a به حالت خودکار برمی‌گرداند.

برای مثال:

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

قالب raw (بدون تشخیص خودکار) را برای disk.img تحمیل می‌کند.

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

قالب raw (بدون تشخیص خودکار) را برای disk.img تحمیل کرده و برای another.img به تشخیص خودکار بازمی‌گردد.

اگر ایمیج‌های دیسک میهمان با قالب خام (raw) غیرقابل اعتماد دارید، باید از این گزینه برای مشخص کردن قالب دیسک استفاده کنید. این کار از یک مشکل امنیتی احتمالی با ماشین‌های میهمان مخرب جلوگیری می‌کند (CVE-2010-3851).

چاپ اندازه‌ها در قالب خوانا برای انسان (human-readable).

مجاز به استفاده همزمان از -h و --csv نیستید.

چاپ اینودها (inodes) به جای بلوک‌ها.
از زمان libguestfs 1.22، این حالت پیش‌فرض است. این گزینه هیچ کاری انجام نمی‌دهد و برای سازگاری با نسخه‌های قدیمی‌تر اسکریپت‌ها در اینجا باقی مانده است.
از زمان libguestfs 1.22، دستور virt-df چندنخی (multithreaded) است و ماشین‌های میهمان را به صورت موازی بررسی می‌کند. به طور پیش‌فرض، تعداد نخ‌ها بر اساس میزان حافظه آزاد در دسترس در زمان شروع virt-df انتخاب می‌شود. با استفاده از گزینه -P می‌توانید virt-df را مجبور کنید حداکثر از "nr_threads" نخ استفاده کند.

توجه داشته باشید که -P 0 به معنی تشخیص خودکار و -P 1 به معنی استفاده از یک نخ منفرد است.

چاپ UUIDها به جای نام‌ها. این گزینه برای دنبال کردن یک ماشین میهمان حتی زمانی که ماشین مهاجرت داده شده یا تغییر نام یافته، یا زمانی که دو ماشین میهمان اتفاقاً نام یکسانی دارند مفید است.

توجه داشته باشید که فقط دامنه‌هایی که از libvirt واکشی می‌کنیم دارای UUID هستند. برای ایمیج‌های دیسک، حتی با مشخص کردن این گزینه، همچنان نام ایمیج دیسک را چاپ می‌کنیم.

فعال‌سازی پیام‌های پرجزئیات برای اشکال‌زدایی.
نمایش شماره نسخه و خروج.
فعال‌سازی ردیابی فراخوانی‌های API در libguestfs.

دستور "virt-df" (و df(1)) اطلاعات را با صدور یک فراخوانی سیستمی statvfs(3) به دست می‌آورند. شما می‌توانید همان اطلاعات را مستقیماً چه از سیستم میزبان (با استفاده از libguestfs) یا از داخل ماشین میهمان به دست آورید:

از سیستم میزبان
اجرای این دستور:
guestfish --ro -d GuestName -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 که در توزیع‌های عمده لینوکس نیز بسته‌بندی شده است) استفاده کنید.

برای زبان‌های دیگر، از یک کتابخانه پردازش CSV استفاده کنید (مانند "Text::CSV" برای Perl یا کتابخانه توکار csv در Python).

بیشتر صفحات گسترده و پایگاه‌های داده می‌توانند CSV را مستقیماً وارد کنند.

این برنامه در صورت موفقیت مقدار ۰ و در صورت بروز خطا مقداری غیر صفر برمی‌گرداند.

df(1), guestfs(3), guestfish(1), virt-drivers(1), virt-filesystems(1), http://libguestfs.org.

Richard W.M. Jones http://people.redhat.com/~rjones

Copyright (C) 2009-2025 Red Hat Inc.

این برنامه یک نرم‌افزار آزاد است؛ شما می‌توانید آن را تحت شرایط «مجوز عمومی همگانی گنو» (GNU GPL) که توسط بنیاد نرم‌افزارهای آزاد منتشر شده است، چه نسخه ۲ مجوز یا (به انتخاب خودتان) هر نسخه بالاتر دیگری، مجدداً توزیع کرده یا تغییر دهید.

این برنامه با این امید توزیع شده است که مفید واقع شود، اما بدون هرگونه ضمانت؛ حتی بدون ضمانت ضمنی تجاری بودن یا مناسب بودن برای یک هدف مشخص. برای جزئیات بیشتر به «مجوز عمومی همگانی گنو» مراجعه کنید.

شما باید یک نسخه از «مجوز عمومی همگانی گنو» را به همراه این برنامه دریافت کرده باشید؛ در غیر این صورت، به آدرس زیر مکاتبه کنید: Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.

برای دریافت فهرستی از اشکالات موجود در libguestfs، از این پیوند استفاده کنید: <https://bugzilla.redhat.com/buglist.cgi?component=libguestfs&product=Virtualization+Tools>

برای گزارش یک اشکال جدید در libguestfs، از این پیوند استفاده کنید: <https://bugzilla.redhat.com/enter_bug.cgi?component=libguestfs&product=Virtualization+Tools>

هنگام گزارش اشکال، لطفاً موارد زیر را ارائه دهید:

  • نسخه libguestfs.
  • محل دریافت libguestfs (مثلاً کدام توزیع لینوکس، کامپایل از منبع و غیره).
  • توصیف دقیق اشکال و روش بازتولید آن.
  • دستور libguestfs-test-tool(1) را اجرا کرده و خروجی کامل و بدون ویرایش آن را در گزارش اشکال قرار دهید.
2026-07-11 guestfs-tools-1.56.0