.\" Man page generated from reStructuredText .\" by the Docutils 0.23 manpage writer. . . .nr rst2man-indent-level 0 . .de1 rstReportMargin \\$1 \\n[an-margin] level \\n[rst2man-indent-level] level margin: \\n[rst2man-indent\\n[rst2man-indent-level]] - \\n[rst2man-indent0] \\n[rst2man-indent1] \\n[rst2man-indent2] .. .de1 INDENT .\" .rstReportMargin pre: . RS \\$1 . nr rst2man-indent\\n[rst2man-indent-level] \\n[an-margin] . nr rst2man-indent-level +1 .\" .rstReportMargin post: .. .de UNINDENT . RE .\" indent \\n[an-margin] .\" old: \\n[rst2man-indent\\n[rst2man-indent-level]] .nr rst2man-indent-level -1 .\" new: \\n[rst2man-indent\\n[rst2man-indent-level]] .in \\n[rst2man-indent\\n[rst2man-indent-level]]u .. .TH "virsh" "1" "" "" "Virtualization Support" .SH "نام (NAME)" virsh \- رابط کاربری مدیریت .SH "خلاصه دستور (SYNOPSIS)" .sp \fBvirsh\fP [\fIOPTION\fP]... [\fICOMMAND_STRING\fP] .sp \fBvirsh\fP [\fIOPTION\fP]... \fICOMMAND\fP [\fIARG\fP]... .SH "توضیحات (DESCRIPTION)" .sp برنامهٔ \fBvirsh\fP رابط اصلی برای مدیریت دامنه‌های مهمان (guest domains) در virsh است. از این برنامه می‌توان برای ایجاد، مکث (pause) و خاموش کردن دامنه‌ها استفاده کرد. همچنین می‌تواند برای فهرست کردن دامنه‌های جاری به کار رود. Libvirt یک جعبه‌ابزار C برای تعامل با قابلیت‌های مجازی‌سازی در نسخه‌های اخیر لینوکس (و دیگر سیستم‌عامل‌ها) است. این نرم‌افزار، یک نرم‌افزار آزاد است که تحت مجوز GNU Lesser General Public License عرضه می‌شود. مجازی‌سازی در سیستم‌عامل لینوکس به معنای توانایی اجرای هم‌زمان چندین نمونه از سیستم‌های عامل بر روی یک سیستم سخت‌افزاری واحد است، به طوری که منابع اصلی توسط یک نمونه لینوکس هدایت و مدیریت می‌شوند. هدف این کتابخانه، ارائهٔ یک C API پایدار در درازمدت است. این کتابخانه در حال حاضر از Xen، QEMU، KVM، LXC، OpenVZ، VirtualBox و VMware ESX پشتیبانی می‌کند. .sp ساختار پایهٔ بیشتر کاربردهای virsh به صورت زیر است: .INDENT 0.0 .INDENT 3.5 .sp .EX virsh [OPTION]... [ARG]... .EE .UNINDENT .UNINDENT .sp که در آن \fIcommand\fP یکی از دستورهای فهرست‌شده در زیر است؛ \fIdomain\fP شناسهٔ عددی دامنه (domain id)، نام دامنه یا UUID دامنه است؛ و \fIARGS\fP گزینه‌های مختص به آن دستور هستند. در مواردی که دستور مورد نظر بر روی همهٔ دامنه‌ها، کل ماشین یا مستقیماً بر روی هایپروایزر xen عمل می‌کند، چند استثنا برای این قاعده وجود دارد. این استثناها برای هر یک از آن دستورها مشخص خواهند بود. نکته: اختصاص دادن نام‌های عددی به دامنه‌ها مجاز است، با این حال، انجام این کار موجب می‌شود که دامنه تنها از طریق domain id قابل شناسایی باشد. به عبارت دیگر، اگر یک مقدار عددی ارائه شود، به عنوان domain id تفسیر خواهد شد، نه به عنوان یک نام. هر \fIcommand\fP که با \fB#\fP آغاز شود به عنوان توضیح (comment) تلقی شده و بدون هیچ پیامی نادیده گرفته می‌شود؛ سایر \fIcommand\fPهای ناشناخته عیب‌یابی و گزارش می‌شوند. .sp برنامهٔ \fBvirsh\fP می‌تواند هم برای اجرای یک \fICOMMAND\fP با دادن دستور و آرگومان‌های آن در خط فرمان پوسته به کار رود، و هم برای اجرای یک \fICOMMAND_STRING\fP که یک تک‌آرگومان پوسته شامل چندین عمل \fICOMMAND\fP و آرگومان‌های آن‌ها است که با فاصله به هم متصل شده و بین دستورها با نقطه\-ویرگول یا خطوط جدید جدا شده‌اند، به طوری که جفت‌های بک‌اسلش\-خط جدیدِ بدون نقل‌قول حذف می‌شوند. درون \fICOMMAND_STRING\fP، برنامهٔ virsh همان نویسه‌های گریز نقل‌قول تکی، دوتایی و بک‌اسلش را مانند پوسته تشخیص می‌دهد، اگرچه هنگام ساختن تک‌آرگومان پوسته باید یک لایه گریز پوستهٔ دیگر نیز اضافه کنید، و هر کلمه‌ای که با \fI#\fP بدون نقل‌قول آغاز شود، توضیحی را شروع می‌کند که در انتهای خط پایان می‌یابد. اگر دستوری در خط فرمان داده نشود، \fBvirsh\fP یک مفسر کمینه را آغاز کرده و منتظر دستورهای شما می‌ماند، و در این حالت دستور \fBquit\fP از برنامه خارج خواهد شد. .sp برنامهٔ \fBvirsh\fP گزینه‌های (\fIOPTIONS\fP) زیر را درک می‌کند. .sp \fB\-c\fP, \fB\-\-connect\fP \fIURI\fP .sp اتصال به \fIURI\fP مشخص‌شده، همانند دستور \fBconnect\fP، به جای اتصال پیش‌فرض. .sp \fB\-d\fP, \fB\-\-debug\fP \fILEVEL\fP .sp فعال‌سازی پیام‌های اشکال‌زدایی در سطح عددی صحیح \fILEVEL\fP و بالاتر. مقدار \fILEVEL\fP می‌تواند بین 0 تا 4 (پیش‌فرض) باشد. برای توضیحات مربوط به هر \fILEVEL\fP به مستندات متغیر محیطی \fBVIRSH_DEBUG\fP در ادامه مراجعه کنید. .INDENT 0.0 .IP \(bu 2 \fB\-e\fP, \fB\-\-escape\fP \fIstring\fP .UNINDENT .sp تنظیم دنبالهٔ گریز جایگزین برای دستور \fIconsole\fP. به‌طور پیش‌فرض، از \fB^]\fP متعلق به telnet استفاده می‌شود. نویسه‌های مجاز هنگام استفاده از نمادگذاری کلاهی (hat notation) عبارت‌اند از: نویسهٔ الفبایی، @، [، ]، ، ^، _. .INDENT 0.0 .IP \(bu 2 \fB\-h\fP, \fB\-\-help\fP .UNINDENT .sp نادیده گرفتن تمام آرگومان‌های دیگر، و رفتار کردن به گونه‌ای که گویی دستور \fBhelp\fP داده شده است. .INDENT 0.0 .IP \(bu 2 \fB\-k\fP, \fB\-\-keepalive\-interval\fP \fIINTERVAL\fP .UNINDENT .sp تنظیم یک بازه زمانی \fIINTERVAL\fP (به ثانیه) برای ارسال پیام‌های keepalive به منظور بررسی اینکه آیا اتصال به سرور همچنان برقرار است یا خیر. تنظیم این بازه روی 0، سازوکار keepalive کلاینت را غیرفعال می‌کند. .INDENT 0.0 .IP \(bu 2 \fB\-K\fP, \fB\-\-keepalive\-count\fP \fICOUNT\fP .UNINDENT .sp تنظیم تعداد دفعاتی که پیام keepalive می‌تواند بدون دریافت پاسخ از سرور ارسال شود، بدون اینکه اتصال قطع‌شده تلقی گردد. در صورتی که \fIINTERVAL\fP روی 0 تنظیم شده باشد، این تنظیم هیچ اثری ندارد. .INDENT 0.0 .IP \(bu 2 \fB\-l\fP, \fB\-\-log\fP \fIFILE\fP .UNINDENT .sp نوشتن جزئیات ثبت وقایع در \fIFILE\fP\&. .INDENT 0.0 .IP \(bu 2 \fB\-q\fP, \fB\-\-quiet\fP .UNINDENT .sp جلوگیری از نمایش پیام‌های اطلاعاتی اضافی. .INDENT 0.0 .IP \(bu 2 \fB\-r\fP, \fB\-\-readonly\fP .UNINDENT .sp فقط‌خواندنی کردن اتصال اولیه، همانند استفاده از گزینهٔ \fI\-\-readonly\fP در دستور \fBconnect\fP. .INDENT 0.0 .IP \(bu 2 \fB\-t\fP, \fB\-\-timing\fP .UNINDENT .sp نمایش اطلاعات زمان سپری‌شده برای هر دستور در خروجی. .INDENT 0.0 .IP \(bu 2 \fB\-\-no\-pkttyagent\fP .UNINDENT .sp عدم ثبت \fBpkttyagent\fP به عنوان عامل احراز هویت در دیمن سیستمی polkit، حتی اگر \fBvirsh\fP از طریق ترمینال اجرا شده باشد. .INDENT 0.0 .IP \(bu 2 \fB\-v\fP, \fB\-\-version[=short]\fP .UNINDENT .sp نادیده گرفتن تمام آرگومان‌های دیگر، و چاپ نسخهٔ کتابخانهٔ libvirt که virsh از آن ارائه شده است. .INDENT 0.0 .IP \(bu 2 \fB\-V\fP, \fB\-\-version=long\fP .UNINDENT .sp نادیده گرفتن تمام آرگومان‌های دیگر، و چاپ نسخهٔ کتابخانهٔ libvirt که virsh از آن ارائه شده است به همراه گزینه‌ها و درایورهایی که در آن کامپایل شده‌اند..SH "نکات (NOTES)" .sp بیشتر عملیات‌های \fBvirsh\fP به توانایی کتابخانهٔ libvirt در اتصال به سرویس در حال اجرای libvirtd وابسته هستند. معمولاً این کار می‌تواند با استفاده از دستور \fBservice libvirtd start\fP انجام شود\&. .sp بیشتر دستورهای \fBvirsh\fP به دلیل کانال‌های ارتباطی استفاده‌شده برای گفتگو با hypervisor، جهت اجرا به مجوزهای کاربر ریشه (root) نیاز دارند. اجرا توسط کاربری غیر از root خطایی را باز خواهد گرداند. .sp بیشتر دستورهای \fBvirsh\fP به صورت همگام (synchronous) عمل می‌کنند، به جز احتمالاً shutdown، setvcpus و setmem. در این موارد، خاتمه یافتن برنامهٔ \fBvirsh\fP لزوماً به این معنی نیست که عملیات کامل شده است و شما باید به صورت دوره‌ای وضعیت را بررسی کنید تا متوجه شوید که مهمان (guest) عملیات را به پایان رسانده است. .sp \fBvirsh\fP برای سازگاری با گذشته (backward compatibility) تلاش می‌کند. اگرچه دستور \fBhelp\fP تنها شیوهٔ ترجیحی استفاده از یک دستور را فهرست می‌کند، اما اگر نسخهٔ قدیمی‌تری از \fBvirsh\fP از نگارش دیگری برای یک دستور یا گزینه پشتیبانی می‌کرده است (مانند \fI\-\-tunnelled\fP به جای \fI\-\-tunneled\fP)، اسکریپت‌هایی که از آن نگارش قدیمی‌تر استفاده می‌کنند همچنان به کار خود ادامه خواهند داد. .sp چندین دستور \fBvirsh\fP یک عدد صحیح با مقیاس اختیاری می‌گیرند؛ اگر هیچ مقیاسی ارائه نشود، مقدار پیش‌فرض در راهنمای دستور ذکر شده است (به دلایل تاریخی، پیش‌فرض برخی دستورها بایت است، در حالی که پیش‌فرض دستورهای دیگر کیبی‌بایت است). پسوندهای زیر که به بزرگی و کوچکی حروف حساس نیستند، می‌توانند برای انتخاب یک مقیاس مشخص استفاده شوند: .INDENT 0.0 .INDENT 3.5 .sp .EX b, byte byte 1 KB kilobyte 1,000 k, KiB kibibyte 1,024 MB megabyte 1,000,000 M, MiB mebibyte 1,048,576 GB gigabyte 1,000,000,000 G, GiB gibibyte 1,073,741,824 TB terabyte 1,000,000,000,000 T, TiB tebibyte 1,099,511,627,776 PB petabyte 1,000,000,000,000,000 P, PiB pebibyte 1,125,899,906,842,624 EB exabyte 1,000,000,000,000,000,000 E, EiB exbibyte 1,152,921,504,606,846,976 .EE .UNINDENT .UNINDENT .SH "دستورهای عمومی (GENERIC COMMANDS)" .sp دستورهای زیر عمومی هستند؛ یعنی مختص یک دامنه (domain) خاص نیستند. .SS help .sp \fBشکل دستوری:\fP .INDENT 0.0 .INDENT 3.5 .sp .EX help [command\-or\-group] .EE .UNINDENT .UNINDENT .sp این دستور تک‌تک دستورهای virsh را فهرست می‌کند. هنگامی که بدون گزینه استفاده شود، تمام دستورها در گروه‌های مرتبط و هر کدام در یک خط فهرست شده و کلیدواژهٔ مربوط به هر گروه نمایش داده می‌شود. .sp برای نمایش فقط دستورهای مربوط به یک گروه خاص، کلیدواژهٔ آن گروه را به عنوان گزینه وارد کنید. برای نمونه: .sp \fBمثال ۱:\fP .INDENT 0.0 .INDENT 3.5 .sp .EX virsh # help host Host and Hypervisor (help keyword \(aqhost\(aq): capabilities capabilities cpu\-models show the CPU models for an architecture connect (re)connect to hypervisor freecell NUMA free memory hostname print the hypervisor hostname qemu\-attach Attach to existing QEMU process qemu\-monitor\-command QEMU Monitor Command qemu\-agent\-command QEMU Guest Agent Command sysinfo print the hypervisor sysinfo uri print the hypervisor canonical URI .EE .UNINDENT .UNINDENT .sp برای نمایش اطلاعات دقیق‌تر دربارهٔ یک دستور خاص، نام آن را به جای گروه به عنوان گزینه وارد کنید. برای نمونه: .sp \fBمثال ۲:\fP .INDENT 0.0 .INDENT 3.5 .sp .EX virsh # help list NAME list \- list domains SYNOPSIS list [\-\-inactive] [\-\-all] DESCRIPTION Returns list of domains. OPTIONS \-\-inactive list inactive domains \-\-all list inactive & active domains .EE .UNINDENT .UNINDENT.SS quit, exit .sp \fBنحو:\fP .INDENT 0.0 .INDENT 3.5 .sp .EX quit exit .EE .UNINDENT .UNINDENT .sp خروج از این ترمینال تعاملی .SS version .sp \fBنحو:\fP .INDENT 0.0 .INDENT 3.5 .sp .EX version [\-\-daemon] .EE .UNINDENT .UNINDENT .sp اطلاعات نسخه اصلی نرم‌افزاری که این ابزار از آن ساخته شده است را چاپ می‌کند. اگر \fI\-\-daemon\fP مشخص شده باشد، نسخه دیمن libvirt نیز در خروجی گنجانده می‌شود. .sp \fBمثال:\fP .INDENT 0.0 .INDENT 3.5 .sp .EX $ virsh version Compiled against library: libvirt 1.2.3 Using library: libvirt 1.2.3 Using API: QEMU 1.2.3 Running hypervisor: QEMU 2.0.50 $ virsh version \-\-daemon Compiled against library: libvirt 1.2.3 Using library: libvirt 1.2.3 Using API: QEMU 1.2.3 Running hypervisor: QEMU 2.0.50 Running against daemon: 1.2.6 .EE .UNINDENT .UNINDENT .SS cd .sp \fBنحو:\fP .INDENT 0.0 .INDENT 3.5 .sp .EX cd [directory] .EE .UNINDENT .UNINDENT .sp دایرکتوری جاری را به \fIdirectory\fP تغییر می‌دهد\&. دایرکتوری پیش‌فرض برای دستور \fBcd\fP دایرکتوری خانگی است، یا در صورتی که متغیر \fIHOME\fP در محیط وجود نداشته باشد، دایرکتوری ریشه (root) خواهد بود. .SS pwd .sp \fBنحو:\fP .INDENT 0.0 .INDENT 3.5 .sp .EX pwd .EE .UNINDENT .UNINDENT .sp دایرکتوری جاری را چاپ می‌کند. .SS connect .sp \fBنحو:\fP .INDENT 0.0 .INDENT 3.5 .sp .EX connect [URI] [\-\-readonly] .EE .UNINDENT .UNINDENT .sp اتصال (یا اتصال مجدد) به هایپروایزر. هنگامی که شل برای نخستین بار آغاز به کار می‌کند، این دستور به صورت خودکار با پارامتر \fIURI\fP که توسط گزینه \fB\-c\fP در خط فرمان درخواست شده، اجرا می‌شود. پارامتر \fIURI\fP نحوه اتصال به هایپروایزر را مشخص می‌کند. مستندات مربوط به URI در \% مقادیر پشتیبانی‌شده را فهرست می‌کنند، اما رایج‌ترین آن‌ها عبارتند از: .INDENT 0.0 .IP \(bu 2 xen:///system .sp برای اتصال به هایپروایزر محلی Xen استفاده می‌شود .IP \(bu 2 qemu:///system .sp اتصال محلی با دسترسی ریشه به دیمن ناظر بر دامنه‌های QEMU و KVM .IP \(bu 2 qemu:///session .sp اتصال محلی به عنوان یک کاربر عادی به مجموعه دامنه‌های QEMU و KVM متعلق به خودش .IP \(bu 2 lxc:///system .sp اتصال به یک کانتینر لینوکس محلی .UNINDENT .sp برای یافتن URI مورد استفاده فعلی، دستور \fIuri\fP را که در ادامه مستند شده بررسی کنید. .sp برای دسترسی از راه دور، مستندات URI در \% را در مورد نحوه ایجاد URIها مشاهده نمایید. گزینه \fI\-\-readonly\fP امکان اتصال فقط‌خواندنی را فراهم می‌کند.SS uri .sp \fBنحو:\fP .INDENT 0.0 .INDENT 3.5 .sp .EX uri .EE .UNINDENT .UNINDENT .sp نشانی URI متعارف (canonical) هایپروایزر را چاپ می‌کند؛ که می‌تواند در حالت پوسته (shell mode) مفید باشد. .SS hostname .sp \fBنحو:\fP .INDENT 0.0 .INDENT 3.5 .sp .EX hostname .EE .UNINDENT .UNINDENT .sp نام میزبان (hostname) هایپروایزر را چاپ می‌کند. .SS sysinfo .sp \fBنحو:\fP .INDENT 0.0 .INDENT 3.5 .sp .EX sysinfo .EE .UNINDENT .UNINDENT .sp نمایش XML اطلاعات سیستم (sysinfo) هایپروایزر را، در صورت در دسترس بودن، چاپ می‌کند. .SS nodeinfo .sp \fBنحو:\fP .INDENT 0.0 .INDENT 3.5 .sp .EX nodeinfo .EE .UNINDENT .UNINDENT .sp اطلاعات پایه‌ای دربارهٔ گره (node)، مانند تعداد و نوع پردازنده، و اندازهٔ حافظهٔ فیزیکی را بازمی‌گرداند. .sp استفاده از این دستور شدیداً منع می‌شود، چرا که تضمینی برای دقیق بودن اطلاعات ارائه‌شده در تمامی پلتفرم‌های سخت‌افزاری وجود ندارد. .sp مقدار \fICPU frequency\fP صرفاً نمایانگر سرعتی است که نخستین پردازنده در ماشین در حال حاضر با آن کار می‌کند. این سرعت ممکن است در میان پردازنده‌ها متفاوت باشد و با تنظیم خودکار توان (throttle) توسط سیستم‌عامل میزبان به‌طور مداوم تغییر کند. .sp ساختار دادهٔ استفاده‌شده برای دریافت این اطلاعات قابل گسترش نیست، بنابراین تنها از اطلاعات توپولوژی سراسری nodes/sockets/cores/threads (که sockets/cores/threads به ازای هر گرهٔ NUMA است) پشتیبانی می‌کند. چنانچه پردازندهٔ میزبان گروه‌بندی‌های بیشتری داشته باشد (مانند dies، clusters و غیره) یا توپولوژی NUMA غیرمتقارن باشد، این ساختار داده نمی‌تواند سیستم را به‌درستی بازنمایی کند. در چنین مواردی، یک توپولوژی ساختگی (nodes = 1, sockets = 1, cores = number of host cpus, threads = 1) گزارش می‌شود که تنها تعداد کل پردازنده‌های میزبان را به‌درستی نشان می‌دهد. .sp جایگزین پیشنهادی، استفاده از دستور \fIcapabilities\fP است که این اطلاعات را (به‌جز فرکانس) در مسیر \fB/capabilities/host/topology\fP در XPath گزارش می‌دهد. .SS nodecpumap .sp \fBنحو:\fP .INDENT 0.0 .INDENT 3.5 .sp .EX nodecpumap [\-\-pretty] .EE .UNINDENT .UNINDENT .sp تعداد کل پردازنده‌های گره، تعداد پردازنده‌های برخط (online) و فهرست پردازنده‌های برخط را نمایش می‌دهد. .sp با \fI\-\-pretty\fP پردازنده‌های برخط به‌جای یک فهرست، به‌صورت یک محدوده (range) چاپ می‌شوند..SS nodecpustats .sp \fBنحو:\fP .INDENT 0.0 .INDENT 3.5 .sp .EX nodecpustats [cpu] [\-\-percent] .EE .UNINDENT .UNINDENT .sp آمار پردازنده (CPU) گره را بازمی‌گرداند. اگر \fIcpu\fP مشخص شده باشد، تنها آمار مربوط به پردازنده مشخص‌شده را چاپ می‌کند. اگر \fI\-\-percent\fP مشخص شده باشد، درصد هر نوع از آمارهای پردازنده را در طول ۱ ثانیه چاپ می‌کند. .SS nodememstats .sp \fBنحو:\fP .INDENT 0.0 .INDENT 3.5 .sp .EX nodememstats [cell] .EE .UNINDENT .UNINDENT .sp آمار حافظه گره را بازمی‌گرداند. اگر \fIcell\fP مشخص شده باشد، تنها آمار سلول مشخص‌شده را چاپ می‌کند. .SS nodesevinfo .sp \fBنحو:\fP .INDENT 0.0 .INDENT 3.5 .sp .EX nodesevinfo .EE .UNINDENT .UNINDENT .sp اطلاعات مربوط به قابلیت‌های امنیتی راه‌اندازی AMD SEV را برای گره (در صورت وجود) گزارش می‌دهد. بخشی از این اطلاعات در سند XML قابلیت‌های دامنه (domain capabilities) نیز گزارش می‌شود. .SS nodesuspend .sp \fBنحو:\fP .INDENT 0.0 .INDENT 3.5 .sp .EX nodesuspend [target] [duration] .EE .UNINDENT .UNINDENT .sp گره (ماشین میزبان) را در وضعیت خواب سراسری سیستم قرار داده و وقفه ساعت زمان‌واقعی (Real\-Time\-Clock) گره را زمان‌بندی می‌کند تا پس از اتمام مدت‌زمان تعیین‌شده در \fIduration\fP، گره مجدداً بیدار شود. \fItarget\fP وضعیتی را که میزبان باید به آن معلق شود تعیین می‌کند؛ این مقدار می‌تواند \(dqmem\(dq (تعلیق در رم)، \(dqdisk\(dq (تعلیق روی دیسک)، یا \(dqhybrid\(dq (تعلیق ترکیبی روی رم و دیسک) باشد. \fIduration\fP مدت‌زمان تعلیق میزبان را بر حسب ثانیه مشخص می‌کند که باید حداقل ۶۰ ثانیه باشد. .SS node\-memory\-tune .sp \fBنحو:\fP .INDENT 0.0 .INDENT 3.5 .sp .EX node\-memory\-tune [shm\-pages\-to\-scan] [shm\-sleep\-millisecs] [shm\-merge\-across\-nodes] .EE .UNINDENT .UNINDENT .sp به شما امکان می‌دهد پارامترهای حافظه گره را نمایش داده یا تنظیم کنید. از \fIshm\-pages\-to\-scan\fP می‌توان برای تنظیم تعداد صفحاتی که باید قبل از رفتن سرویس حافظه اشتراکی به حالت خواب اسکن شوند، استفاده کرد؛ از \fIshm\-sleep\-millisecs\fP می‌توان برای تعیین مدت‌زمانی (به میلی‌ثانیه) که سرویس حافظه اشتراکی باید قبل از اسکن بعدی بخوابد، بهره برد؛ \fIshm\-merge\-across\-nodes\fP مشخص می‌کند که آیا ادغام صفحات از گره‌های NUMA مختلف مجاز است یا خیر. هنگامی که روی 0 تنظیم شود، تنها صفحاتی که به صورت فیزیکی در ناحیه حافظه یک گره NUMA یکسان قرار دارند می‌توانند ادغام شوند. هنگامی که روی 1 تنظیم شود، صفحات مربوط به تمام گره‌ها قابل ادغام هستند. پیش‌فرض 1 است. .sp \fBنکته\fP: در حال حاضر عبارت \(dqسرویس حافظه اشتراکی\(dq فقط به معنای KSM (Kernel Samepage Merging) است..SS capabilities .sp \fBنحو:\fP .INDENT 0.0 .INDENT 3.5 .sp .EX capabilities [\-\-xpath EXPRESSION] [\-\-wrap] .EE .UNINDENT .UNINDENT .sp یک سند XML چاپ می‌کند که قابلیت‌های هایپروایزری که در حال حاضر به آن متصل هستیم را توصیف می‌نماید. این سند شامل بخشی دربارهٔ قابلیت‌های میزبان از نظر CPU و ویژگی‌ها، و مجموعه‌ای از توضیحات برای هر نوع مهمانی است که می‌تواند مجازی‌سازی شود. برای توضیحات کامل‌تر ببینید: .sp \% .sp این XML همچنین اطلاعات توپولوژی NUMA را در صورت در دسترس بودن نشان می‌دهد. .sp اگر آرگومان \fB\-\-xpath\fP یک عبارت XPath را ارائه دهد، روی خروجی XML ارزیابی شده و تنها گره‌های منطبق چاپ خواهند شد. رفتار پیش‌فرض این است که هر گره منطبق به‌صورت یک سند مستقل چاپ شود، با این حال، جهت سهولت در پردازش‌های بیشتر، آرگومان \fB\-\-wrap\fP باعث می‌شود گره‌های منطبق درون یک گره ریشه مشترک قرار گیرند. .SS domcapabilities .sp \fBنحو:\fP .INDENT 0.0 .INDENT 3.5 .sp .EX domcapabilities [virttype] [emulatorbin] [arch] [machine] [\-\-xpath EXPRESSION] [\-\-wrap] [\-\-disable\-deprecated\-features] [\-\-expand\-cpu\-features] [\-\-supported\-cpu\-features] .EE .UNINDENT .UNINDENT .sp یک سند XML را چاپ می‌کند که قابلیت‌های دامنه (domain) را برای هایپروایزری که به آن متصل هستیم، با استفاده از اطلاعاتی که یا از یک دامنه موجود یا از خروجی \fBvirsh capabilities\fP گرفته شده است، توصیف می‌نماید. این دستور می‌تواند زمانی مفید باشد که قصد ایجاد یک دامنه جدید را دارید و می‌خواهید بدانید، به عنوان مثال، آیا می‌تواند با ایجاد یک دامنه برای هایپروایزر با یک شبیه‌ساز (emulator) و معماری خاص از VFIO استفاده کند یا خیر. .sp هر هایپروایزر نیازمندی‌های متفاوتی در رابطه با اینکه کدام گزینه‌ها الزامی و کدام اختیاری هستند خواهد داشت. یک هایپروایزر می‌تواند از ارائه مقدار پیش‌فرض برای هر یک از گزینه‌ها پشتیبانی کند. .sp گزینه \fIvirttype\fP نوع مجازی‌سازی مورد استفاده را مشخص می‌کند. مقدار مورد استفاده می‌تواند از مشخصه \(aqtype\(aq عنصر سطح‌بالای در XML دامنه، یا مشخصه \(aqtype\(aq موجود در هر عنصر از خروجی \fBvirsh capabilities\fP باشد. گزینه \fIemulatorbin\fP مسیر شبیه‌ساز را مشخص می‌کند. مقدار مورد استفاده یا عنصر در XML دامنه است یا خروجی \fBvirsh capabilities\fP. گزینه \fIarch\fP معماری مورد استفاده برای دامنه را مشخص می‌کند. مقدار مورد استفاده یا مشخصه \(dqarch\(dq از عنصر و زیرعنصر در XML دامنه است، یا مشخصه \(dqname\(dq یک عنصر از خروجی \fBvirsh capabilities\fP. گزینه \fImachine\fP نوع ماشین را برای شبیه‌ساز مشخص می‌کند. مقدار مورد استفاده یا مشخصه \(dqmachine\(dq از عنصر و زیرعنصر در XML دامنه است، یا مقداری از فهرست ماشین‌ها از خروجی \fBvirsh capabilities\fP برای یک معماری و نوع دامنه خاص. .sp برای هایپروایزر QEMU، مقدار \fIvirttype\fP باید یکی از مقادیر \(aqqemu\(aq یا \(aqkvm\(aq باشد و به همراه \fIemulatorbin\fP یا \fIarch\fP ارائه شود تا خروجی برای \fImachine\fP پیش‌فرض تولید گردد\&. ارائه یک مقدار برای \fImachine\fP خروجی را برای آن ماشین خاص تولید خواهد کرد. .sp اگر آرگومان \fB\-\-xpath\fP یک عبارت XPath را ارائه دهد، روی خروجی XML ارزیابی شده و تنها گره‌های منطبق چاپ خواهند شد. رفتار پیش‌فرض این است که هر گره منطبق به‌صورت یک سند مستقل چاپ شود، با این حال، جهت سهولت در پردازش‌های بیشتر، آرگومان \fB\-\-wrap\fP باعث می‌شود گره‌های منطبق درون یک گره ریشه مشترک قرار گیرند. .sp آرگومان \fB\-\-disable\-deprecated\-features\fP محتوای XML مربوط به CPU مدل میزبان (host\-model) را اصلاح کرده و فهرست ویژگی‌ها را با هر ویژگی که توسط هایپروایزر برای مدل CPU منسوخ اعلام شده است، به‌روزرسانی می‌کند. این ویژگی‌ها با خط‌مشی \(dqdisable\(dq جفت خواهند شد. .sp گزینه \fB\-\-expand\-cpu\-features\fP باعث می‌شود تعریف CPU مدل میزبان (host\-model) شامل تمام ویژگی‌های مورد نیاز CPU، از جمله مواردی که به‌طور ضمنی توسط مدل CPU انتخاب‌شده فعال شده‌اند، باشد. بدون این پرچم، ویژگی‌هایی که بخشی از خود مدل CPU هستند فهرست نخواهند شد. .sp گزینه \fB\-\-supported\-cpu\-features\fP تعریف CPU مدل میزبان (host\-model) را با ویژگی‌هایی به‌روزرسانی می‌کند که روی میزبان پشتیبانی می‌شوند، اما هنگام راه‌اندازی یک دامنه با CPU مدل میزبان به‌صورت پیش‌فرض فعال نخواهند شد. استفاده هم‌زمان از هر دو گزینه \fB\-\-supported\-cpu\-features\fP و \fB\-\-expand\-cpu\-features\fP فهرستی کامل از ویژگی‌هایی که می‌توان روی میزبان فعال کرد را ارائه می‌دهد..SS pool\-capabilities .sp \fBساختار دستوری:\fP .INDENT 0.0 .INDENT 3.5 .sp .EX pool\-capabilities .EE .UNINDENT .UNINDENT .sp یک سند XML را چاپ می‌کند که قابلیت‌های مخزن ذخیره‌سازی (storage pool) را برای درایور ذخیره‌سازی متصل توصیف می‌کند. این دستور زمانی مفید است که قصد ایجاد یک مخزن ذخیره‌سازی جدید دارید و نیازمند آگاهی از انواع مخزن‌های در دسترس، قالب‌های حجم‌های مبدا و مقصد پشتیبانی‌شده و همچنین عناصر مبدا لازم برای ایجاد مخزن هستید. .SS inject\-nmi .sp \fBساختار دستوری:\fP .INDENT 0.0 .INDENT 3.5 .sp .EX inject\-nmi domain .EE .UNINDENT .UNINDENT .sp یک NMI را به سیستم‌عامل مهمان تزریق می‌کند. .SS list .sp \fBساختار دستوری:\fP .INDENT 0.0 .INDENT 3.5 .sp .EX list [\-\-inactive | \-\-all] [\-\-managed\-save] [\-\-title] { [\-\-table] | \-\-name | \-\-id } [\-\-uuid] [\-\-persistent] [\-\-transient] [\-\-with\-managed\-save] [\-\-without\-managed\-save] [\-\-autostart] [\-\-no\-autostart] [\-\-with\-snapshot] [\-\-without\-snapshot] [\-\-with\-checkpoint] [\-\-without\-checkpoint] [\-\-state\-running] [\-\-state\-paused] [\-\-state\-shutoff] [\-\-state\-other] .EE .UNINDENT .UNINDENT .sp اطلاعات مربوط به دامنه‌های موجود را چاپ می‌کند. اگر هیچ گزینه‌ای مشخص نشود، اطلاعات مربوط به دامنه‌های در حال اجرا را چاپ می‌کند. .sp \fBمثال ۱:\fP .sp نمونه‌ای از ساختار خروجی فهرست به صورت زیر است: .INDENT 0.0 .INDENT 3.5 .sp .EX \(ga\(gavirsh\(ga\(ga list Id Name State \-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\- 0 Domain\-0 running 2 fedora paused .EE .UNINDENT .UNINDENT .sp مقدار Name نام دامنه است. مقدار ID شناسه عددی دامنه است. مقدار State وضعیت اجرا است (پایین را ببینید). .sp \fBوضعیت‌ها (STATES)\fP .sp فیلد State مشخص می‌کند که هر دامنه در حال حاضر در چه وضعیتی قرار دارد. یک دامنه می‌تواند در یکی از وضعیت‌های ممکن زیر باشد: .INDENT 0.0 .IP \(bu 2 \fBrunning\fP .sp دامنه در حال حاضر روی یک پردازنده (CPU) در حال اجرا است. .IP \(bu 2 \fBidle\fP .sp دامنه بیکار است، و در حال اجرا یا آماده برای اجرا نیست. این وضعیت می‌تواند ناشی از این باشد که دامنه منتظر IO است (یک وضعیت انتظار سنتی) یا به خواب رفته زیرا کار دیگری برای انجام دادن ندارد. .IP \(bu 2 \fBpaused\fP .sp دامنه متوقف (pause) شده است؛ این حالت معمولاً با اجرای \fBvirsh suspend\fP توسط مدیر سیستم رخ می‌دهد. هنگامی که در وضعیت مکث قرار دارد، دامنه همچنان منابع تخصیص‌یافته مانند حافظه را مصرف می‌کند، اما واجد شرایط زمان‌بندی توسط هایپروایزر (hypervisor) نخواهد بود. .IP \(bu 2 \fBin shutdown\fP .sp دامنه در فرآیند خاموش شدن است؛ یعنی به سیستم‌عامل مهمان اطلاع‌رسانی شده و باید در فرآیند متوقف‌سازی منظم عملیات‌های خود باشد. .IP \(bu 2 \fBshut off\fP .sp دامنه در حال اجرا نیست. معمولاً نشان‌دهنده آن است که دامنه به طور کامل خاموش شده یا هنوز راه‌اندازی نشده است. .IP \(bu 2 \fBcrashed\fP .sp دامنه دچار فروپاشی (crash) شده است که همواره پایانی ناگهانی و ناخواسته است. معمولاً این وضعیت تنها در صورتی رخ می‌دهد که دامنه طوری پیکربندی شده باشد که پس از خرابی مجدداً راه‌اندازی نشود. .IP \(bu 2 \fBpmsuspended\fP .sp دامنه توسط مدیریت توان مهمان تعلیق شده است، برای نمونه وارد وضعیت s3 شده است. .UNINDENT .sp به‌طور معمول فقط دامنه‌های فعال فهرست می‌شوند. برای فهرست کردن دامنه‌های غیرفعال گزینه \fI\-\-inactive\fP یا \fI\-\-all\fP را برای فهرست کردن هر دو دامنه‌های فعال و غیرفعال مشخص کنید. .sp \fBفیلتر کردن (Filtering)\fP .sp برای فیلتر کردن دقیق‌تر فهرست دامنه‌ها می‌توانید یک یا چند پرچم فیلترسازی را که توسط دستور \fBlist\fP پشتیبانی می‌شوند مشخص کنید. این پرچم‌ها بر اساس عملکرد گروه‌بندی شده‌اند. مشخص کردن یک یا چند پرچم از یک گروه، آن گروه فیلتر را فعال می‌کند. توجه داشته باشید که برخی از ترکیب‌های پرچم‌ها ممکن است نتیجه‌ای در بر نداشته باشند. پرچم‌ها و گروه‌های فیلترسازی پشتیبانی‌شده:.SS مانایی (Persistence) .sp پرچم \fI\-\-persistent\fP برای گنجاندن مهمان‌های مانا در فهرست بازگردانده‌شده استفاده می‌شود. برای گنجاندن مهمان‌های گذرا، \fI\-\-transient\fP را مشخص کنید\&. .SS وجود تصویر ذخیره‌شده مدیریتی (Existence of managed save image) .sp برای فهرست کردن دامنه‌هایی که دارای تصویر ذخیره مدیریتی هستند، پرچم \fI\-\-with\-managed\-save\fP را مشخص کنید\&. برای دامنه‌هایی که تصویر ذخیره مدیریتی ندارند، \fI\-\-without\-managed\-save\fP را مشخص کنید\&. .SS وضعیت دامنه (Domain state) .sp پرچم‌های پالایه زیر یک دامنه را بر اساس وضعیت آن انتخاب می‌کنند: \fI\-\-state\-running\fP برای دامنه‌های در حال اجرا، \fI\-\-state\-paused\fP برای دامنه‌های متوقف‌شده، \fI\-\-state\-shutoff\fP برای دامنه‌های خاموش‌شده و \fI\-\-state\-other\fP برای همه وضعیت‌های دیگر به عنوان حالت جایگزین\&. .SS دامنه‌های با شروع خودکار (Autostarting domains) .sp برای فهرست کردن دامنه‌هایی با قابلیت شروع خودکار از پرچم \fI\-\-autostart\fP استفاده کنید\&. برای فهرست کردن دامنه‌هایی که این ویژگی در آن‌ها غیرفعال است از \fI\-\-no\-autostart\fP استفاده کنید\&. .SS وجود اسنپ‌شات (Snapshot existence) .sp دامنه‌های دارای تصاویر اسنپ‌شات را می‌توان با پرچم \fI\-\-with\-snapshot\fP و دامنه‌های فاقد اسنپ‌شات را با \fI\-\-without\-snapshot\fP فهرست کرد\&. .SS وجود چک‌پوینت (Checkpoint existence) .sp دامنه‌های دارای چک‌پوینت را می‌توان با استفاده از پرچم \fI\-\-with\-checkpoint\fP و دامنه‌های بدون چک‌پوینت را با \fI\-\-without\-checkpoint\fP فهرست کرد\&. .sp هنگام ارتباط با کارسازهای قدیمی‌تر، این دستور ناچار است از مجموعه‌ای از فراخوانی‌های API با شرایط رقابتی ذاتی (race condition) استفاده کند؛ وضعیتی که در آن اگر حالت دامنه‌ای بین فراخوانی‌ها در حین جمع‌آوری فهرست تغییر کند، ممکن است در فهرست ظاهر نشود یا بیش از یک بار درج گردد. کارسازهای جدیدتر این مشکل را ندارند. .sp اگر \fI\-\-managed\-save\fP مشخص شود، دامنه‌هایی که دارای وضعیت ذخیره مدیریتی هستند (فقط زمانی ممکن است که در وضعیت \fBshut off\fP باشند، بنابراین برای فهرست کردن واقعی آن‌ها باید \fI\-\-inactive\fP یا \fI\-\-all\fP را مشخص کنید) در فهرست به عنوان \fBsaved\fP نمایش داده می‌شوند. این پرچم تنها همراه با خروجی پیش‌فرض \fI\-\-table\fP قابل استفاده است. توجه داشته باشید که این پرچم فهرست دامنه‌ها را پالایش نمی‌کند. .sp اگر \fI\-\-name\fP مشخص شود، به جای خروجی جدولی، نام دامنه‌ها در هر سطر یکی چاپ می‌شوند. اگر \fI\-\-uuid\fP مشخص شود، به جای نام‌ها، UUIDهای دامنه‌ها چاپ می‌شوند. اگر \fI\-\-id\fP مشخص شود، به جای نام‌ها، IDهای دامنه‌ها چاپ می‌شوند. با این حال، می‌توان \fI\-\-name\fP، \fI\-\-uuid\fP و \fI\-\-id\fP را برای انتخاب فیلدهای دلخواه جهت چاپ با یکدیگر ترکیب کرد. پرچم \fI\-\-table\fP مشخص می‌کند که باید از خروجی سنتی با قالب جدول استفاده شود، اما این گزینه با \fI\-\-name\fP و \fI\-\-id\fP مانعة‌الجمع است\&. این حالت پیش‌فرض است و در صورتی که هیچ‌کدام از \fI\-\-name\fP، \fI\-\-uuid\fP یا \fI\-\-id\fP مشخص نشده باشند استفاده خواهد شد. اگر نه \fI\-\-name\fP و نه \fI\-\-uuid\fP مشخص نشوند، اما \fI\-\-id\fP مشخص شده باشد، حتی با پارامتر \fI\-\-all\fP تنها دامنه‌های فعال فهرست می‌شوند، چرا که در غیر این صورت خروجی تنها شامل چندین سطر با فقط \fI\-1\fP خواهد بود\&. اگر \fI\-\-table\fP با \fI\-\-uuid\fP ترکیب شود، UUID دامنه به عنوان یک ستون اضافی چاپ می‌شود. .sp اگر \fI\-\-title\fP مشخص شود، توضیح کوتاه دامنه (عنوان) در یک ستون اضافی چاپ می‌شود. این پرچم تنها با خروجی پیش‌فرض \fI\-\-table\fP قابل استفاده است. .sp \fBمثال ۲:\fP .INDENT 0.0 .INDENT 3.5 .sp .EX $ virsh list \-\-title Id Name State Title \-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\- 0 Domain\-0 running Mailserver 1 2 fedora paused .EE .UNINDENT .UNINDENT .SS freecell .sp \fBنحو:\fP .INDENT 0.0 .INDENT 3.5 .sp .EX freecell [{ [\-\-cellno] cellno | \-\-all }] .EE .UNINDENT .UNINDENT .sp مقدار حافظه دردسترس روی ماشین یا درون یک سلول NUMA را چاپ می‌کند. دستور freecell بسته به گزینه‌های مشخص‌شده می‌تواند یکی از سه حالت نمایش حافظه در دسترس روی ماشین را ارائه دهد. بدون هیچ گزینه‌ای، کل حافظه آزاد روی ماشین را نمایش می‌دهد. با گزینه \-\-all، حافظه آزاد در هر سلول و کل حافظه آزاد روی ماشین را نمایش می‌دهد. در نهایت، با یک آرگومان عددی یا با \-\-cellno به همراه شماره سلول، حافظه آزاد را تنها برای سلول مشخص‌شده نمایش می‌دهد..SS freepages .sp \fBنحو:\fP .INDENT 0.0 .INDENT 3.5 .sp .EX freepages [{ [\-\-cellno] cellno [\-\-pagesize] pagesize | \-\-all }] .EE .UNINDENT .UNINDENT .sp تعداد صفحات دردسترس را در یک سلول NUMA چاپ می‌کند. \fIcellno\fP به سلول NUMA مورد نظر شما اشاره دارد. \fIpagesize\fP یک عدد صحیح مقیاس‌دار است (به \fBNOTES\fP در بالا مراجعه کنید). در غیر این صورت، اگر \fI\-\-all\fP استفاده شود، اطلاعات هر ترکیب ممکن از سلول NUMA و اندازه صفحه چاپ می‌شود. .SS allocpages .sp \fBنحو:\fP .INDENT 0.0 .INDENT 3.5 .sp .EX allocpages [\-\-pagesize] pagesize [\-\-pagecount] pagecount [[\-\-cellno] cellno] [\-\-add] [\-\-all] .EE .UNINDENT .UNINDENT .sp اندازه استخر صفحات با اندازه \fIpagesize\fP را روی میزبان تغییر می‌دهد. اگر \fI\-\-add\fP مشخص شده باشد، تعداد \fIpagecount\fP صفحه به استخر افزوده می‌شود. با این حال، اگر \fI\-\-add\fP مشخص نشده باشد، \fIpagecount\fP به عنوان اندازه مطلق جدید استخر در نظر گرفته می‌شود (این کار می‌تواند برای آزادسازی برخی صفحات و کاهش اندازه استخر استفاده شود). تغییردهنده \fIcellno\fP می‌تواند برای محدود کردن تغییرات به یک سلول NUMA منفرد میزبان استفاده شود. در سمت دیگر طیف، \fI\-\-all\fP قرار دارد که تغییرات را روی همه سلول‌های NUMA اعمال می‌کند. .SS cpu\-baseline .sp \fBنحو:\fP .INDENT 0.0 .INDENT 3.5 .sp .EX cpu\-baseline FILE [\-\-features] [\-\-migratable] .EE .UNINDENT .UNINDENT .sp محاسبه پردازنده پایه (baseline CPU) که توسط تمام پردازنده‌های میزبان ذکر شده در پشتیبانی خواهد شد. (برای دریافت پردازنده‌ای که می‌تواند توسط یک هایپروایزر خاص ارائه شود، به دستور \fBhypervisor\-cpu\-baseline\fP مراجعه کنید.) فهرست پردازنده‌های میزبان با استخراج تمام عناصر از ساخته می‌شود. بنابراین، می‌تواند شامل مجموعه‌ای از عناصر جدا شده با خطوط جدید، یا حتی مجموعه‌ای از عناصر کامل باشد که توسط دستور \fBcapabilities\fP چاپ شده است. اگر \fI\-\-features\fP مشخص شود، توصیف XML حاصل به صراحت شامل تمام ویژگی‌هایی خواهد بود که پردازنده را تشکیل می‌دهند؛ بدون این گزینه ویژگی‌هایی که بخشی از مدل پردازنده هستند در توصیف XML فهرست نخواهند شد. اگر \fI\-\-migratable\fP مشخص شود، ویژگی‌هایی که مانع مهاجرت می‌شوند در پردازنده حاصل گنجانده نخواهند شد. .SS cpu\-compare .sp \fBنحو:\fP .INDENT 0.0 .INDENT 3.5 .sp .EX cpu\-compare FILE [\-\-error] [\-\-validate] .EE .UNINDENT .UNINDENT .sp تعریف پردازنده را از با فرمت XML با پردازنده میزبان مقایسه می‌کند. (برای مقایسه تعریف پردازنده با پردازنده‌ای که یک هایپروایزر خاص قادر است روی میزبان فراهم کند، به دستور \fBhypervisor\-cpu\-compare\fP مراجعه کنید.) فایل XML می‌تواند شامل تعریف پردازنده میزبان یا مهمان باشد. تعریف پردازنده میزبان، همان عنصر و محتویات آن است که توسط دستور \fBcapabilities\fP چاپ می‌شود. تعریف پردازنده مهمان، عنصر و محتویات آن از تعریف XML دامنه، یا تعریف پردازنده ایجاد شده از مدل پردازنده میزبانِ موجود در XML قابلیت‌های دامنه (چاپ‌شده توسط دستور \fBdomcapabilities\fP) است. علاوه بر خودِ عنصر ، این دستور XML کامل دامنه، XML قابلیت‌ها، یا XML قابلیت‌های دامنه حاوی تعریف پردازنده را می‌پذیرد. برای اطلاعات بیشتر درباره تعریف پردازنده مهمان ببینید: https://libvirt.org/formatdomain.html#elementsCPU \%\&. اگر \fI\-\-error\fP مشخص شده باشد، در صورت ناسازگار بودن پردازنده داده‌شده با پردازنده میزبان، دستور خطایی برمی‌گرداند و پیامی حاوی جزئیات بیشتر درباره این ناسازگاری چاپ خواهد شد. اگر \fI\-\-validate\fP مشخص شده باشد، قالب سند XML را در برابر یک شمای RNG داخلی اعتبارسنجی می‌کند..SS cpu\-models .sp \fBنحو:\fP .INDENT 0.0 .INDENT 3.5 .sp .EX cpu\-models arch .EE .UNINDENT .UNINDENT .sp چاپ فهرست مدل‌های CPU شناخته‌شده توسط libvirt برای معماری مشخص‌شده. این که آیا یک هایپروایزر خاص قادر به ایجاد دامنه‌ای است که از هر یک از مدل‌های CPU چاپ‌شده استفاده کند یا خیر، مسئله جداگانه‌ای است که با نگاه کردن به XML قابلیت‌های دامنه بازگردانده‌شده توسط دستور \fBdomcapabilities\fP می‌توان به آن پاسخ داد. علاوه بر این، برای برخی معماری‌ها libvirt هیچ مدل CPUای را نمی‌شناسد و مدل‌های CPU قابل استفاده صرفاً توسط هایپروایزر محدود می‌شوند. این دستور چاپ خواهد کرد که تمامی مدل‌های CPU برای این معماری‌ها پذیرفته می‌شوند و فهرست واقعی مدل‌های CPU پشتیبانی‌شده را می‌توان در XML قابلیت‌های دامنه بررسی کرد. .SS hypervisor\-cpu\-compare .sp \fBنحو:\fP .INDENT 0.0 .INDENT 3.5 .sp .EX hypervisor\-cpu\-compare FILE [virttype] [emulator] [arch] [machine] [\-\-error] [\-\-validate] .EE .UNINDENT .UNINDENT .sp مقایسه تعریف CPU از مربوط به XML با CPUای که هایپروایزر قادر است روی میزبان ارائه دهد. (این دستور با \fBcpu\-compare\fP که تعریف CPU را با CPU میزبان بدون در نظر گرفتن هایپروایزری خاص و توانایی‌های آن مقایسه می‌کند، متفاوت است.) .sp فایل XML با نام \fIFILE\fP باید شامل یک تعریف CPU مهمان باشد: یا عنصر \fB\fP و محتویات آن از یک تعریف XML دامنه، یا یک تعریف CPU ایجادشده از مدل CPU میزبانِ یافت‌شده در عنصر \fB\fP در XML قابلیت‌های دامنه (چاپ‌شده توسط دستور \fBdomcapabilities\fP). خود عنصر \fB\fP یا حتی عنصر والد آن، \fB\fP، که در XML قابلیت‌های دامنه قرار دارد پذیرفته نیست. این عنصر باید به یک تعریف واقعی CPU تبدیل شود. برای اطلاعات بیشتر درباره تعریف CPU مهمان ببینید: https://libvirt.org/formatdomain.html#elementsCPU \%\&. .sp متناوباً، در صورتی که یک XML کامل دامنه یا XML قابلیت‌های دامنه به این دستور ارائه شود، تعریف CPU را به صورت خودکار استخراج خواهد کرد. .sp به دلایل تاریخی، \fIFILE\fPِ XML ممکن است حاوی یک تعریف CPU میزبان نیز باشد، اما چنین استفاده‌ای اکیداً نهی می‌شود زیرا به احتمال زیاد نتایج نادرستی به همراه خواهد داشت. .sp گزینه \fIvirttype\fP نوع مجازی‌سازی را مشخص می‌کند (قابل استفاده در صفت \(aqtype\(aq از عنصر سطح بالای در XML دامنه). \fIemulator\fP مسیر شبیه‌ساز را مشخص می‌کند، \fIarch\fP معماری CPU را تعیین می‌نماید، و \fImachine\fP نوع ماشین را مشخص می‌سازد. اگر \fI\-\-error\fP مشخص شده باشد، در صورتی که CPU داده‌شده با CPU میزبان ناسازگار باشد، دستور یک خطا بازمی‌گرداند و پیامی حاوی جزئیات بیشتر درباره این ناسازگاری چاپ خواهد شد. اگر \fI\-\-validate\fP مشخص شده باشد، قالب سند XML را در برابر یک شِمای داخلی RNG اعتبارسنجی می‌کند. .SS hypervisor\-cpu\-baseline .sp \fBنحو:\fP .INDENT 0.0 .INDENT 3.5 .sp .EX hypervisor\-cpu\-baseline [FILE] [virttype] [emulator] [arch] [machine] [\-\-features] [\-\-migratable] [\-\-ignore\-host] [model] .EE .UNINDENT .UNINDENT .sp محاسبه یک CPU مبنا (baseline) که با تمام CPUهای تعریف‌شده در یک \fIFILE\fPِ XML سازگار باشد. این دستور باید روی یکی از میزبان‌های توصیف‌شده در \fIFILE\fP فراخوانی شود. فراخوانی آن روی یک میزبان دیگر منجر به رفتار تعریف‌نشده می‌شود زیرا مدل CPU محاسبه‌شده تحت تأثیر هایپروایزر است (نتیجه ممکن است از یک مدل CPU غیرمنتظره استفاده کند یا برخی ویژگی‌ها غیرفعال شوند، حتی اگر روی تمام CPUهای ورودی پشتیبانی شوند). از این رفتار تعریف‌نشده می‌توان با استفاده از گزینه \fI\-\-ignore\-host\fP جلوگیری کرد (پایین‌تر را ببینید). .sp این دستور با \fBcpu\-baseline\fP که هنگام محاسبه CPU مبنا توانایی‌های هایپروایزر را در نظر نمی‌گیرد، متفاوت است. .sp به عنوان جایگزینی برای \fIFILE\fP، در صورتی که XML فقط شامل یک مدل CPU بدون هیچ ویژگی اضافی باشد، خود نام مدل CPU را می‌توان به عنوان \fImodel\fP ارسال کرد. دقیقاً یکی از \fIFILE\fP و \fImodel\fP باید استفاده شود. .sp فایل XML با نام \fIFILE\fP باید حاوی تعاریف CPU مهمان ایجادشده از مدل CPU میزبانِ موجود در عنصر \fB\fP در XMLهای قابلیت‌های دامنه باشد (که توسط دستور \fBdomcapabilities\fP روی هر میزبان چاپ می‌شود). خود عناصر \fB\fP یا حتی عناصر والد \fB\fP آن‌ها در XMLهای قابلیت‌های دامنه پذیرفته نیستند. این عناصر باید به تعاریف واقعی CPU تبدیل شوند. .sp متناوباً، این دستور هنگامی که XMLهای قابلیت‌های دامنه به آن ارائه شود، تعاریف CPU را به طور خودکار استخراج خواهد کرد. .sp به دلایل تاریخی، \fIFILE\fPِ XML ممکن است حاوی تعاریف CPU میزبان نیز باشد، اما چنین استفاده‌ای اکیداً نهی می‌شود زیرا به احتمال زیاد نتایج نادرستی ارائه می‌دهد. .sp هنگامی که \fIFILE\fP تنها شامل یک تعریف CPU باشد، دستور همان CPU را با محدودیت‌های اعمال‌شده توسط قابلیت‌های هایپروایزر چاپ خواهد کرد. به طور خاص، اجرای دستور \fBvirsh hypervisor\-cpu\-baseline\fP بدون گزینه‌های اضافی روی خروجی \fBvirsh domcapabilities\fP، مدل CPU میزبان را از XML قابلیت‌های دامنه به قالبی تبدیل می‌کند که مستقیماً در XML دامنه قابل استفاده است. اجرای دستور با \fImodel\fP (یا با \fIFILE\fPِ حاوی تنها یک تعریف CPU همراه با مدل و بدون عناصر ویژگی) که در \fBvirsh domcapabilities\fP به عنوان غیرقابل استفاده علامت‌گذاری شده است، فهرستی از ویژگی‌هایی را ارائه می‌دهد که مانع از قابل استفاده بودن این مدل CPU می‌شوند. .sp گزینه \fIvirttype\fP نوع مجازی‌سازی را مشخص می‌کند (قابل استفاده در صفت \(aqtype\(aq از عنصر سطح بالای در XML دامنه). \fIemulator\fP مسیر شبیه‌ساز را مشخص می‌کند، \fIarch\fP معماری CPU را تعیین می‌نماید، و \fImachine\fP نوع ماشین را مشخص می‌سازد. اگر \fI\-\-features\fP مشخص شده باشد، شرح XML حاصل صراحتاً تمام ویژگی‌هایی را که CPU را تشکیل می‌دهند در بر خواهد گرفت؛ بدون این گزینه، ویژگی‌هایی که بخشی از مدل CPU هستند در شرح XML فهرست نخواهند شد. اگر \fI\-\-migratable\fP مشخص شده باشد، ویژگی‌هایی که مانع مهاجرت می‌شوند در CPU حاصل گنجانده نخواهند شد. اگر \fI\-\-ignore\-host\fP مشخص شده باشد و \fIFILE\fP شامل بیش از یک CPU باشد، دستور هنگام محاسبه مبنا توانایی‌های هایپروایزر را در نظر نخواهد گرفت. با این گزینه، مبنا را می‌توان با اطمینان روی هر میزبانی (حتی آن‌هایی که در \fIFILE\fP توصیف نشده‌اند) محاسبه کرد..SS hypervisor\-cpu\-models .sp \fBنحو:\fP .INDENT 0.0 .INDENT 3.5 .sp .EX hypervisor\-cpu\-models [\-\-virttype virttype] [\-\-emulator emulator] [\-\-arch arch] [\-\-machine machine] [\-\-all] .EE .UNINDENT .UNINDENT .sp فهرست مدل‌های CPU شناخته‌شده توسط هایپروایزر را برای معماری مشخص‌شده چاپ می‌کند. هیچ تضمینی وجود ندارد که یک CPU فهرست‌شده روی میزبان اجرا شود. برای تعیین سازگاری مدل CPU با میزبان، \fBvirsh hypervisor\-cpu\-baseline\fP و \fBvirsh hypervisor\-cpu\-compare\fP را ببینید\&. .sp گزینهٔ \fIvirttype\fP نوع مجازی‌سازی را مشخص می‌کند (قابل استفاده در صفت \(aqtype\(aq از عنصر سطح بالای در XML دامنه). \fIemulator\fP مسیر امولاتور (شبیه‌ساز) را مشخص می‌کند، \fIarch\fP معماری CPU را تعیین می‌کند، و \fImachine\fP نوع ماشین را مشخص می‌نماید. .sp به‌طور پیش‌فرض، تنها مدل‌هایی گزارش می‌شوند که هایپروایزر ادعا می‌کند روی میزبان «قابل استفاده» (\(dqusable\(dq) هستند. گزینهٔ \fI\-\-all\fP تمام مدل‌های CPU شناخته‌شده برای هایپروایزر را گزارش می‌دهد، از جمله مدل‌هایی که روی هایپروایزر پشتیبانی نمی‌شوند (مثلاً مدل‌های نسل جدیدتر). .SH "دستورهای دامنه (DOMAIN COMMANDS)" .sp دستورهای زیر دامنه‌ها را به‌طور مستقیم دستکاری می‌کنند؛ همان‌طور که پیش‌تر گفته شد، بیشتر دستورها domain را به عنوان اولین پارامتر دریافت می‌کنند. \fIdomain\fP می‌تواند به صورت یک عدد صحیح کوتاه، یک نام یا یک UUID کامل مشخص شود. .SS autostart .sp \fBنحو:\fP .INDENT 0.0 .INDENT 3.5 .sp .EX autostart [\-\-disable] [\-\-once] domain .EE .UNINDENT .UNINDENT .sp پیکربندی یک دامنه برای راه‌اندازی خودکار در هر بار بوت میزبان. گزینهٔ \fI\-\-once\fP دامنه را برای راه‌اندازی در بوت بعدی میزبان پیکربندی می‌کند. .sp گزینهٔ \fI\-\-disable\fP راه‌اندازی خودکار متناظر را غیرفعال می‌کند. .sp توجه داشته باشید که راه‌اندازی خودکار پیکربندی‌شده از طریق گزینهٔ \fI\-\-once\fP از راه‌اندازی خودکار پیکربندی‌شده بدون آن مستقل است. فعال کردن هر کدام از آن‌ها باعث می‌شود ماشین مجازی (VM) در بوت بعدی میزبان راه‌اندازی شود. .SS blkdeviotune .sp \fBنحو:\fP .INDENT 0.0 .INDENT 3.5 .sp .EX blkdeviotune domain device [[\-\-config] [\-\-live] | [\-\-current]] [[total\-bytes\-sec] | [read\-bytes\-sec] [write\-bytes\-sec]] [[total\-iops\-sec] | [read\-iops\-sec] [write\-iops\-sec]] [[total\-bytes\-sec\-max] | [read\-bytes\-sec\-max] [write\-bytes\-sec\-max]] [[total\-iops\-sec\-max] | [read\-iops\-sec\-max] [write\-iops\-sec\-max]] [[total\-bytes\-sec\-max\-length] | [read\-bytes\-sec\-max\-length] [write\-bytes\-sec\-max\-length]] [[total\-iops\-sec\-max\-length] | [read\-iops\-sec\-max\-length] [write\-iops\-sec\-max\-length]] [size\-iops\-sec] [group\-name] .EE .UNINDENT .UNINDENT .sp تنظیم یا پرس‌وجوی پارامترهای I/O دیسک بلوکی برای یک دستگاه بلوکی از \fIdomain\fP\&. \fIdevice\fP یک نام هدف یکتا () یا فایل منبع () را برای یکی از دستگاه‌های دیسک متصل به \fIdomain\fP مشخص می‌کند (برای فهرست کردن این نام‌ها همچنین \fBdomblklist\fP را ببینید). .sp اگر هیچ محدودیتی مشخص نشود، تنظیمات محدودیت‌های فعلی I/O را پرس‌وجو می‌کند. در غیر این صورت، محدودیت‌ها را با این پرچم‌ها تغییر دهید: \fI\-\-total\-bytes\-sec\fP حد کل پهنای باند را به صورت یک عدد صحیح مقیاس‌پذیر مشخص می‌کند؛ در صورتی که پسوندی مشخص نشده باشد، پیش‌فرض بایت بر ثانیه است. \fI\-\-read\-bytes\-sec\fP حد پهنای باند خواندن را به صورت یک عدد صحیح مقیاس‌پذیر مشخص می‌کند؛ در صورتی که پسوندی مشخص نشده باشد، پیش‌فرض بایت بر ثانیه است. \fI\-\-write\-bytes\-sec\fP حد پهنای باند نوشتن را به صورت یک عدد صحیح مقیاس‌پذیر مشخص می‌کند؛ در صورتی که پسوندی مشخص نشده باشد، پیش‌فرض بایت بر ثانیه است. \fI\-\-total\-iops\-sec\fP حد کل عملیات‌های I/O بر ثانیه را مشخص می‌کند. \fI\-\-read\-iops\-sec\fP حد عملیات‌های خواندن I/O بر ثانیه را مشخص می‌کند. \fI\-\-write\-iops\-sec\fP حد عملیات‌های نوشتن I/O بر ثانیه را مشخص می‌کند. \fI\-\-total\-bytes\-sec\-max\fP حداکثر حد کل پهنای باند را به صورت یک عدد صحیح مقیاس‌پذیر مشخص می‌کند؛ در صورتی که پسوندی مشخص نشده باشد، پیش‌فرض بایت بر ثانیه است. \fI\-\-read\-bytes\-sec\-max\fP حداکثر حد پهنای باند خواندن را به صورت یک عدد صحیح مقیاس‌پذیر مشخص می‌کند؛ در صورتی که پسوندی مشخص نشده باشد، پیش‌فرض بایت بر ثانیه است. \fI\-\-write\-bytes\-sec\-max\fP حداکثر حد پهنای باند نوشتن را به صورت یک عدد صحیح مقیاس‌پذیر مشخص می‌کند؛ در صورتی که پسوندی مشخص نشده باشد، پیش‌فرض بایت بر ثانیه است. \fI\-\-total\-iops\-sec\-max\fP حداکثر حد کل عملیات‌های I/O بر ثانیه را مشخص می‌کند. \fI\-\-read\-iops\-sec\-max\fP حداکثر حد عملیات‌های خواندن I/O بر ثانیه را مشخص می‌کند. \fI\-\-write\-iops\-sec\-max\fP حداکثر حد عملیات‌های نوشتن I/O بر ثانیه را مشخص می‌کند. \fI\-\-total\-bytes\-sec\-max\-length\fP مدت‌زمان بر حسب ثانیه برای مجاز بودن حداکثر حد کل پهنای باند را مشخص می‌کند. \fI\-\-read\-bytes\-sec\-max\-length\fP مدت‌زمان بر حسب ثانیه برای مجاز بودن حداکثر حد پهنای باند خواندن را مشخص می‌کند. \fI\-\-write\-bytes\-sec\-max\-length\fP مدت‌زمان بر حسب ثانیه برای مجاز بودن حداکثر حد پهنای باند نوشتن را مشخص می‌کند. \fI\-\-total\-iops\-sec\-max\-length\fP مدت‌زمان بر حسب ثانیه برای مجاز بودن حداکثر حد کل عملیات‌های I/O را مشخص می‌کند. \fI\-\-read\-iops\-sec\-max\-length\fP مدت‌زمان بر حسب ثانیه برای مجاز بودن حداکثر حد عملیات‌های خواندن I/O را مشخص می‌کند. \fI\-\-write\-iops\-sec\-max\-length\fP مدت‌زمان بر حسب ثانیه برای مجاز بودن حداکثر حد عملیات‌های نوشتن I/O را مشخص می‌کند. \fI\-\-size\-iops\-sec\fP حد اندازهٔ عملیات‌های I/O بر ثانیه را مشخص می‌کند. \fI\-\-group\-name\fP نام گروه را برای اشتراک سهمیهٔ I/O بین چند درایو مشخص می‌کند. برای یک دامنهٔ QEMU، اگر هیچ نامی ارائه نشود، پیش‌فرض اختصاص یک گروه مجزا برای هر \fIdevice\fP است\&. .sp نسخه‌های قدیمی‌تر virsh این گزینه‌ها را فقط با خط زیر (underscore) به‌جای خط تیره می‌پذیرفتند، مانند \fI\-\-total_bytes_sec\fP\&. .sp مقادیر Bytes و iops مستقل از یکدیگرند، اما تنظیم تنها یک مقدار (مانند \-\-read\-bytes\-sec) دو مقدار دیگر در آن دسته‌بندی را به نامحدود بازنشانی می‌کند. مقدار صریح 0 نیز هر محدودیتی را پاک می‌کند. یک مقدار غیر صفر برای یک total مشخص نمی‌تواند با مقادیر غیر صفر برای read یا write ترکیب شود. .sp تعیین چگونگی مدیریت مقادیر طول (length) بر عهدهٔ هایپروایزر است. برای هایپروایزر QEMU، اگر یک مقدار محدودیت I/O یا مقدار حداکثر تنظیم شود، مقدار پیش‌فرض ۱ ثانیه نمایش داده خواهد شد. ارائهٔ 0، مقدار را به حالت پیش‌فرض بازمی‌گرداند. .sp اگر \fI\-\-live\fP مشخص شده باشد، روی یک مهمان در حال اجرا اعمال می‌شود. اگر \fI\-\-config\fP مشخص شده باشد، روی شروع بعدی یک مهمان ماندگار اعمال خواهد شد. اگر \fI\-\-current\fP مشخص شده باشد، بسته به وضعیت فعلی مهمان، معادل \fI\-\-live\fP یا \fI\-\-config\fP خواهد بود. هنگام تنظیم پارامترهای I/O دیسک، می‌توان هر دو پرچم \fI\-\-live\fP و \fI\-\-config\fP را تعیین کرد، اما \fI\-\-current\fP انحصاری است. برای پرس‌وجو، فقط یکی از پرچم‌های \fI\-\-live\fP، \fI\-\-config\fP یا \fI\-\-current\fP می‌تواند مشخص شود. اگر هیچ پرچمی مشخص نشود، رفتار بسته به هایپروایزر متفاوت خواهد بود..SS domthrottlegroupset .sp \fBنحو:\fP .INDENT 0.0 .INDENT 3.5 .sp .EX domthrottlegroupset domain group\-name [[\-\-config] [\-\-live] | [\-\-current]] [[total\-bytes\-sec] | [read\-bytes\-sec] [write\-bytes\-sec]] [[total\-iops\-sec] | [read\-iops\-sec] [write\-iops\-sec]] [[total\-bytes\-sec\-max] | [read\-bytes\-sec\-max] [write\-bytes\-sec\-max]] [[total\-iops\-sec\-max] | [read\-iops\-sec\-max] [write\-iops\-sec\-max]] [[total\-bytes\-sec\-max\-length] | [read\-bytes\-sec\-max\-length] [write\-bytes\-sec\-max\-length]] [[total\-iops\-sec\-max\-length] | [read\-iops\-sec\-max\-length] [write\-iops\-sec\-max\-length]] [size\-iops\-sec] .EE .UNINDENT .UNINDENT .sp افزودن یا به‌روزرسانی یک throttle group برای \fIdomain\fP مشخص‌شده\&. \fIgroup\-name\fP یک نام یکتای throttle group را مشخص می‌کند که محدودیت را تعیین کرده و توسط درایوها مورد ارجاع قرار خواهد گرفت. .sp اگر هیچ محدودیتی مشخص نشود، به صورت پیش‌فرض تمام آن‌ها صفر در نظر گرفته می‌شوند که ناموفق خواهد بود؛ در غیر این صورت، محدودیت‌ها را با این پرچم‌ها تنظیم کنید: \fI\-\-total\-bytes\-sec\fP حد توان عملیاتی کل را به صورت یک عدد صحیح مقیاس‌دار مشخص می‌کند، که در صورت تعیین نشدن پسوند، پیش‌فرض بایت بر ثانیه است. \fI\-\-read\-bytes\-sec\fP حد توان عملیاتی خواندن را به صورت یک عدد صحیح مقیاس‌دار مشخص می‌کند، که در صورت تعیین نشدن پسوند، پیش‌فرض بایت بر ثانیه است. \fI\-\-write\-bytes\-sec\fP حد توان عملیاتی نوشتن را به صورت یک عدد صحیح مقیاس‌دار مشخص می‌کند، که در صورت تعیین نشدن پسوند، پیش‌فرض بایت بر ثانیه است. \fI\-\-total\-iops\-sec\fP حد کل عملیات I/O در ثانیه را مشخص می‌کند. \fI\-\-read\-iops\-sec\fP حد عملیات خواندن I/O در ثانیه را مشخص می‌کند. \fI\-\-write\-iops\-sec\fP حد عملیات نوشتن I/O در ثانیه را مشخص می‌کند. \fI\-\-total\-bytes\-sec\-max\fP حداکثر حد توان عملیاتی کل را به صورت یک عدد صحیح مقیاس‌دار مشخص می‌کند، که در صورت تعیین نشدن پسوند، پیش‌فرض بایت بر ثانیه است. \fI\-\-read\-bytes\-sec\-max\fP حداکثر حد توان عملیاتی خواندن را به صورت یک عدد صحیح مقیاس‌دار مشخص می‌کند، که در صورت تعیین نشدن پسوند، پیش‌فرض بایت بر ثانیه است. \fI\-\-write\-bytes\-sec\-max\fP حداکثر حد توان عملیاتی نوشتن را به صورت یک عدد صحیح مقیاس‌دار مشخص می‌کند، که در صورت تعیین نشدن پسوند، پیش‌فرض بایت بر ثانیه است. \fI\-\-total\-iops\-sec\-max\fP حداکثر حد کل عملیات I/O در ثانیه را مشخص می‌کند. \fI\-\-read\-iops\-sec\-max\fP حداکثر حد عملیات خواندن I/O در ثانیه را مشخص می‌کند. \fI\-\-write\-iops\-sec\-max\fP حداکثر حد عملیات نوشتن I/O در ثانیه را مشخص می‌کند. \fI\-\-total\-bytes\-sec\-max\-length\fP مدت‌زمان بر حسب ثانیه را برای مجاز بودن حداکثر حد توان عملیاتی کل مشخص می‌کند. \fI\-\-read\-bytes\-sec\-max\-length\fP مدت‌زمان بر حسب ثانیه را برای مجاز بودن حداکثر حد توان عملیاتی خواندن مشخص می‌کند. \fI\-\-write\-bytes\-sec\-max\-length\fP مدت‌زمان بر حسب ثانیه را برای مجاز بودن حداکثر حد توان عملیاتی نوشتن مشخص می‌کند. \fI\-\-total\-iops\-sec\-max\-length\fP مدت‌زمان بر حسب ثانیه را برای مجاز بودن حداکثر حد کل عملیات I/O مشخص می‌کند. \fI\-\-read\-iops\-sec\-max\-length\fP مدت‌زمان بر حسب ثانیه را برای مجاز بودن حداکثر حد عملیات خواندن I/O مشخص می‌کند. \fI\-\-write\-iops\-sec\-max\-length\fP مدت‌زمان بر حسب ثانیه را برای مجاز بودن حداکثر حد عملیات نوشتن I/O مشخص می‌کند. \fI\-\-size\-iops\-sec\fP حد اندازه عملیات I/O در ثانیه را مشخص می‌کند. .sp مقادیر Bytes و iops مستقل از یکدیگرند، اما تنظیم فقط یک مقدار (مانند \-\-read\-bytes\-sec) دو مقدار دیگر در آن دسته‌بندی را به نامحدود بازنشانی می‌کند. یک مقدار صریح 0 نیز هرگونه محدودیتی را پاک می‌کند. یک مقدار غیرصفر برای مقدار کل داده‌شده نمی‌تواند با مقادیر غیرصفر برای خواندن یا نوشتن ترکیب شود. .sp نحوه مدیریت مقادیر طول مدت (length) بر عهده هایپروایزر است. برای هایپروایزر QEMU، اگر یک مقدار حد I/O یا مقدار بیشینه تنظیم شود، مقدار پیش‌فرض ۱ ثانیه نمایش داده خواهد شد. وارد کردن مقدار 0 آن را به مقدار پیش‌فرض بازنشانی خواهد کرد. .sp اگر \fI\-\-live\fP مشخص شود، بر روی مهمان در حال اجرا اثر می‌گذارد. اگر \fI\-\-config\fP مشخص شود، بر راه‌اندازی بعدی یک مهمان ماندگار اثر می‌گذارد. اگر \fI\-\-current\fP مشخص شود، بسته به وضعیت فعلی مهمان، معادل \fI\-\-live\fP یا \fI\-\-config\fP خواهد بود. هنگام تنظیم پارامترهای io دیسک چنانچه هر دو گزینه \fI\-\-live\fP و \fI\-\-config\fP مشخص شوند، هم پیکربندی زنده و هم config به‌روزرسانی می‌شوند، اما \fI\-\-current\fP انحصاری است. اگر هیچ پرچمی مشخص نشود، رفتار بسته به هایپروایزر متفاوت خواهد بود. .SS domthrottlegroupdel .sp \fBنحو:\fP .INDENT 0.0 .INDENT 3.5 .sp .EX domthrottlegroupdel domain group\-name [[\-\-config] [\-\-live] | [\-\-current]] .EE .UNINDENT .UNINDENT .sp یک Throttlegroup را با استفاده از \fIgroup\-name\fP مشخص‌شده از \fIdomain\fP حذف می‌کند\&. اگر یک Throttlegroup در حال حاضر توسط یک منبع دیسک مورد ارجاع باشد، تلاش برای حذف آن ناموفق خواهد بود. اگر \fIgroup\-name\fP وجود نداشته باشد، خطایی رخ خواهد داد. .sp اگر \fI\-\-live\fP مشخص شود، بر روی مهمان در حال اجرا اثر می‌گذارد. اگر مهمان در حال اجرا نباشد، یک خطا برگردانده می‌شود. اگر \fI\-\-config\fP مشخص شود، بر راه‌اندازی بعدی یک مهمان ماندگار اثر می‌گذارد. اگر \fI\-\-current\fP مشخص شود، بسته به وضعیت فعلی مهمان، معادل \fI\-\-live\fP یا \fI\-\-config\fP خواهد بود..SS domthrottlegroupinfo .sp \fBنحو:\fP .INDENT 0.0 .INDENT 3.5 .sp .EX domthrottlegroupinfo domain group\-name [[\-\-config] [\-\-live] | [\-\-current]] .EE .UNINDENT .UNINDENT .sp نمایش اطلاعات Throttlegroup دامنه شامل تنظیمات محدودیت‌های I/O. .sp اگر \fI\-\-live\fP مشخص شده باشد، داده‌های Throttlegroup از مهمان در حال اجرا دریافت می‌شود. اگر مهمان در حال اجرا نباشد، خطایی بازگردانده می‌شود. اگر \fI\-\-config\fP مشخص شده باشد، داده‌های Throttlegroup از راه‌اندازی بعدی یک مهمان ماندگار (persistent) دریافت می‌شود. اگر \fI\-\-current\fP مشخص شده باشد یا \fI\-\-live\fP و \fI\-\-config\fP تعیین نشده باشند، داده‌های Throttlegroup بر اساس وضعیت فعلی مهمان دریافت می‌شود که می‌تواند زنده یا آفلاین باشد. اگر هر دو گزینهٔ \fI\-\-live\fP و \fI\-\-config\fP مشخص شده باشند، گزینهٔ \fI\-\-config\fP در دریافت توصیف فعلی اولویت خواهد داشت. .SS domthrottlegrouplist .sp \fBنحو:\fP .INDENT 0.0 .INDENT 3.5 .sp .EX domthrottlegrouplist domain [\-\-inactive] .EE .UNINDENT .UNINDENT .sp چاپ جدولی شامل نام‌های تمام throttle groups مرتبط با \fIdomain\fP\&. اگر \fI\-\-inactive\fP مشخص شده باشد، داده‌های Throttlegroup که در بوت بعدی استفاده خواهند شد استعلام می‌شوند، به جای مواردی که هم‌اکنون توسط دامنهٔ در حال اجرا استفاده می‌شوند. .SS blkiotune .sp \fBنحو:\fP .INDENT 0.0 .INDENT 3.5 .sp .EX blkiotune domain [\-\-weight weight] [\-\-device\-weights device\-weights] [\-\-device\-read\-iops\-sec device\-read\-iops\-sec] [\-\-device\-write\-iops\-sec device\-write\-iops\-sec] [\-\-device\-read\-bytes\-sec device\-read\-bytes\-sec] [\-\-device\-write\-bytes\-sec device\-write\-bytes\-sec] [[\-\-config] [\-\-live] | [\-\-current]] .EE .UNINDENT .UNINDENT .sp نمایش یا تنظیم پارامترهای blkio. نرم‌افزار QEMU/KVM از \fI\-\-weight\fP پشتیبانی می‌کند. \fI\-\-weight\fP در بازهٔ [100, 1000] قرار دارد. پس از کرنل 2.6.39، مقدار می‌تواند در بازهٔ [10, 1000] باشد. .sp \fBdevice\-weights\fP رشته‌ای تکی است که یک یا چند جفت دستگاه/وزن را با قالب /path/to/device,weight,/path/to/device,weight فهرست می‌کند. هر وزن در بازهٔ [100, 1000]، یا پس از کرنل 2.6.39 در بازهٔ [10, 1000]، یا مقدار 0 برای حذف آن دستگاه از فهرست‌های مبتنی بر دستگاه است. تنها دستگاه‌های فهرست‌شده در این رشته تغییر می‌یابند؛ هرگونه وزن‌های مبتنی بر دستگاهِ موجود برای سایر دستگاه‌ها بدون تغییر باقی می‌مانند. .sp \fBdevice\-read\-iops\-sec\fP رشته‌ای تکی است که یک یا چند جفت device/read_iops_sec را با قالب /path/to/device,read_iops_sec,/path/to/device,read_iops_sec فهرست می‌کند. هر read_iops_sec عددی از نوع unsigned int است، با مقدار 0 برای حذف آن دستگاه از فهرست مبتنی بر دستگاه. تنها دستگاه‌های فهرست‌شده در این رشته تغییر می‌یابند؛ هرگونه read_iops_sec مبتنی بر دستگاهِ موجود برای سایر دستگاه‌ها بدون تغییر باقی می‌مانند. .sp \fBdevice\-write\-iops\-sec\fP رشته‌ای تکی است که یک یا چند جفت device/write_iops_sec را با قالب /path/to/device,write_iops_sec,/path/to/device,write_iops_sec فهرست می‌کند. هر write_iops_sec عددی از نوع unsigned int است، با مقدار 0 برای حذف آن دستگاه از فهرست مبتنی بر دستگاه. تنها دستگاه‌های فهرست‌شده در این رشته تغییر می‌یابند؛ هرگونه write_iops_sec مبتنی بر دستگاهِ موجود برای سایر دستگاه‌ها بدون تغییر باقی می‌مانند. .sp \fBdevice\-read\-bytes\-sec\fP رشته‌ای تکی است که یک یا چند جفت device/read_bytes_sec را با قالب /path/to/device,read_bytes_sec,/path/to/device,read_bytes_sec فهرست می‌کند. هر read_bytes_sec عددی از نوع unsigned long long است، با مقدار 0 برای حذف آن دستگاه از فهرست مبتنی بر دستگاه. تنها دستگاه‌های فهرست‌شده در این رشته تغییر می‌یابند؛ هرگونه read_bytes_sec مبتنی بر دستگاهِ موجود برای سایر دستگاه‌ها بدون تغییر باقی می‌مانند. .sp \fBdevice\-write\-bytes\-sec\fP رشته‌ای تکی است که یک یا چند جفت device/write_bytes_sec را با قالب /path/to/device,write_bytes_sec,/path/to/device,write_bytes_sec فهرست می‌کند. هر write_bytes_sec عددی از نوع unsigned long long است، با مقدار 0 برای حذف آن دستگاه از فهرست مبتنی بر دستگاه. تنها دستگاه‌های فهرست‌شده در این رشته تغییر می‌یابند؛ هرگونه write_bytes_sec مبتنی بر دستگاهِ موجود برای سایر دستگاه‌ها بدون تغییر باقی می‌مانند. .sp اگر \fI\-\-live\fP مشخص شده باشد، روی مهمان در حال اجرا اثر می‌گذارد. اگر \fI\-\-config\fP مشخص شده باشد، بر راه‌اندازی بعدی یک مهمان ماندگار اثر می‌گذارد. اگر \fI\-\-current\fP مشخص شده باشد، بسته به وضعیت فعلی مهمان، معادل \fI\-\-live\fP یا \fI\-\-config\fP خواهد بود. هر دو پرچم \fI\-\-live\fP و \fI\-\-config\fP می‌توانند با هم داده شوند، اما \fI\-\-current\fP مانعة‌الجمع است. اگر هیچ پرچمی مشخص نشود، رفتار بسته به هایپروایزر متفاوت خواهد بود..SS blockcommit .sp \fBشکل دستور:\fP .INDENT 0.0 .INDENT 3.5 .sp .EX blockcommit domain path [bandwidth] [\-\-bytes] [base] [\-\-shallow] [top] [\-\-delete] [\-\-keep\-relative] [\-\-wait [\-\-async] [\-\-verbose]] [\-\-timeout seconds] [\-\-active] [{\-\-pivot | \-\-keep\-overlay}] .EE .UNINDENT .UNINDENT .sp کاهش طول زنجیرهٔ تصویر پشتیبان (backing image chain)، با اعمال کردن (commit) تغییرات در بالای زنجیره (فایل‌های snapshot یا دلتا) به درون تصاویر پشتیبان. به‌طور پیش‌فرض، این دستور تلاش می‌کند کل زنجیره را یکدست (flatten) کند. اگر \fIbase\fP و/یا \fItop\fP به‌عنوان فایل‌هایی در زنجیرهٔ پشتیبان مشخص شوند، عملیات به اعمال فقط همان بخش از زنجیره محدود می‌شود؛ می‌توان به‌جای \fIbase\fP از \fI\-\-shallow\fP برای مشخص کردن فایل پشتیبانِ بی‌واسطهٔ تصویر بالای نهایی که قرار است اعمال شود، استفاده کرد. فایل‌هایی که اعمال می‌شوند نامعتبر می‌شوند، احتمالاً به محض شروع عملیات؛ استفاده از پرچم \fI\-\-delete\fP تلاش خواهد کرد این فایل‌های نامعتبر شده را پس از اتمام موفقیت‌آمیز عملیات اعمال حذف کند. هنگامی که پرچم \fI\-\-keep\-relative\fP استفاده شود، مسیرهای فایل‌های پشتیبان به‌صورت نسبی حفظ خواهند شد. .sp هنگامی که \fItop\fP حذف شود یا به‌عنوان تصویر فعال (active image) مشخص شود، همچنین می‌توان \fI\-\-active\fP را برای راه‌اندازی یک اعمال فعال دوفازی مشخص کرد. در فاز اول، \fItop\fP در \fIbase\fP کپی می‌شود و کار (job) فقط می‌تواند لغو شود، در حالی که top هنوز حاوی داده‌هایی است که در base وجود ندارند. در فاز دوم، \fItop\fP و \fIbase\fP یکسان باقی می‌مانند تا زمانی که فراخوانی به \fBblockjob\fP با پرچم \fI\-\-abort\fP (نگه‌داشتن top به‌عنوان تصویر فعال که تغییرات را از آن نقطهٔ زمانی ردیابی می‌کند) یا پرچم \fI\-\-pivot\fP (تبدیل base به تصویر فعال جدید و نامعتبر کردن top) انجام شود. .sp به‌طور پیش‌فرض، این دستور در سریع‌ترین زمان ممکن بازمی‌گردد و داده‌های کل دیسک در پس‌زمینه اعمال می‌شوند؛ پیشرفت عملیات را می‌توان با \fBblockjob\fP بررسی کرد. با این حال، اگر \fI\-\-wait\fP مشخص شده باشد، این دستور تا زمان تکمیل عملیات (یا برای \fI\-\-active\fP، تا زمان ورود به فاز دوم)، یا تا زمانی که عملیات به دلیل پایان مهلت زمانی اختیاری \fItimeout\fP (به ثانیه) لغو شود یا SIGINT ارسال شود (معمولاً با \fBCtrl\-C\fP)، متوقف (block) خواهد شد. استفاده از \fI\-\-verbose\fP به همراه \fI\-\-wait\fP به‌روزرسانی‌های دوره‌ای وضعیت را ارائه می‌دهد. در صورت لغو کار، \fI\-\-async\fP کنترل را در سریع‌ترین زمان ممکن به کاربر بازمی‌گرداند، در غیر این صورت ممکن است دستور کمی بیشتر مسدود بماند تا عملیات پاک‌سازی کار به پایان برسد. استفاده از \fI\-\-pivot\fP کوته‌نوشتی برای ترکیب \fI\-\-active\fP \fI\-\-wait\fP با اجرای خودکار \fBblockjob\fP \fI\-\-pivot\fP است؛ و استفاده از \fI\-\-keep\-overlay\fP کوته‌نوشتی برای ترکیب \fI\-\-active\fP \fI\-\-wait\fP با اجرای خودکار \fBblockjob\fP \fI\-\-abort\fP است. .sp پارامتر \fIpath\fP مسیر کامل دیسک را مشخص می‌کند؛ این مقدار با یک نام هدف یکتا () یا فایل منبع () برای یکی از دستگاه‌های دیسک متصل به \fIdomain\fP مطابقت دارد (همچنین برای فهرست کردن این نام‌ها \fBdomblklist\fP را ببینید). \fIbandwidth\fP محدودیت پهنای باند کپی را بر حسب MiB/s مشخص می‌کند، اگرچه برای QEMU، ممکن است تنها برای یک دامنهٔ برخط (online) غیر صفر باشد. برای اطلاعات بیشتر دربارهٔ آرگومان \fIbandwidth\fP بخش مربوط به دستور \fBblockjob\fP را ببینید. .SS blockcopy .sp \fBشکل دستور:\fP .INDENT 0.0 .INDENT 3.5 .sp .EX blockcopy domain path { dest [format] [\-\-blockdev] | \-\-xml file } [\-\-shallow] [\-\-reuse\-external] [bandwidth] [\-\-wait [\-\-async] [\-\-verbose]] [{\-\-pivot | \-\-finish}] [\-\-timeout seconds] [granularity] [buf\-size] [\-\-bytes] [\-\-transient\-job] [\-\-synchronous\-writes] [\-\-dest\-is\-zero] [\-\-print\-xml] .EE .UNINDENT .UNINDENT .sp کپی کردن یک زنجیرهٔ تصویر پشتیبان دیسک به یک مقصد. یا \fIdest\fP به‌عنوان نام فایل مقصد، یا \fI\-\-xml\fP با نام یک فایل XML حاوی یک عنصر سطح بالای که مقصد را توصیف می‌کند، باید ارائه شود. علاوه بر این، اگر \fIdest\fP داده شود، \fIformat\fP باید برای تعیین قالب مقصد مشخص گردد (اگر \fIformat\fP حذف شود، libvirt از قالب مبدا مجدداً استفاده خواهد کرد، یا با \fI\-\-reuse\-external\fP مجبور به کاوش (probe) قالب مقصد خواهد شد، که می‌تواند یک رخنهٔ امنیتی بالقوه باشد). این دستور از \fI\-\-raw\fP به‌عنوان یک پرچم بولی مترادف با \fI\-\-format=raw\fP پشتیبانی می‌کند. هنگام استفاده از \fIdest\fP، مقصد به‌عنوان یک فایل معمولی در نظر گرفته می‌شود مگر اینکه از \fI\-\-blockdev\fP برای مشخص کردن اینکه یک دستگاه بلوکی است استفاده شود. به‌طور پیش‌فرض، این دستور کل زنجیره را یکدست (flatten) می‌کند؛ اما اگر \fI\-\-shallow\fP مشخص شده باشد، نسخهٔ کپی‌شده زنجیرهٔ پشتیبان را به اشتراک می‌گذارد. .sp اگر \fI\-\-reuse\-external\fP مشخص شده باشد، مقصد باید وجود داشته و فضای کافی برای نگهداری نسخهٔ کپی داشته باشد. اگر \fI\-\-shallow\fP به همراه \fI\-\-reuse\-external\fP استفاده شود، تصویر از پیش ایجاد شده باید محتویاتی قابل مشاهده برای سیستم‌عامل مهمان داشته باشد که دقیقاً با محتویات قابل مشاهده برای مهمان در فایل پشتیبانِ تصویر اصلی یکسان باشد. این ویژگی می‌تواند برای تغییر نام‌های فایل پشتیبان در مقصد استفاده شود. .sp به‌طور پیش‌فرض، کار کپی در پس‌زمینه اجرا می‌شود و شامل دو فاز است. در ابتدا، کار باید تمام داده‌ها را از مبدا کپی کند، و در طول این فاز، کار تنها می‌تواند لغو شود تا به دیسک مبدا بازگردد، بدون هیچ تضمینی دربارهٔ مقصد. پس از اتمام این فاز، هم مبدا و هم مقصد به‌صورت آینه‌ای (mirrored) باقی می‌مانند تا زمانی که فراخوانی به \fBblockjob\fP با پرچم‌های \fI\-\-abort\fP و \fI\-\-pivot\fP کار را به مقصد منتقل کند (pivot)، یا فراخوانی بدون \fI\-\-pivot\fP مقصد را به‌عنوان یک نسخهٔ کپی وفادار از آن نقطهٔ زمانی باقی بگذارد. با این حال، اگر \fI\-\-wait\fP مشخص شده باشد، این دستور تا زمان شروع فاز آینه‌سازی متوقف (block) می‌شود، یا اگر \fItimeout\fP اختیاری به ثانیه سپری شود یا SIGINT ارسال شود (معمولاً با \fBCtrl\-C\fP)، عملیات لغو خواهد شد. استفاده از \fI\-\-verbose\fP به همراه \fI\-\-wait\fP گزارش‌های دوره‌ای وضعیت را ارائه می‌دهد. استفاده از \fI\-\-pivot\fP (مشابه \fBblockjob\fP \fI\-\-pivot\fP) یا \fI\-\-finish\fP (مشابه \fBblockjob\fP \fI\-\-abort\fP) مستلزم \fI\-\-wait\fP است، و علاوه بر این کار را به‌طور تمیز پایان می‌دهد به‌جای اینکه آن را در فاز آینه‌سازی رها کند. اگر لغو کار به‌وسیلهٔ مهلت زمانی یا \fI\-\-finish\fP فعال شود، \fI\-\-async\fP کنترل را در سریع‌ترین زمان ممکن به کاربر بازمی‌گرداند، در غیر این صورت ممکن است دستور کمی بیشتر مسدود بماند تا کار واقعاً لغو شود. .sp پارامتر \fIpath\fP مسیر کامل دیسک را مشخص می‌کند. \fIbandwidth\fP محدودیت پهنای باند کپی را بر حسب MiB/s مشخص می‌کند. مشخص کردن یک مقدار منفی به‌عنوان یک مقدار unsigned long long تفسیر می‌شود که ممکن است اساساً نامحدود باشد، اما احتمال سرریز شدن (overflow) آن بیشتر است؛ ایمن‌تر است که برای این منظور از 0 استفاده شود. برای اطلاعات بیشتر در مورد آرگومان \fIbandwidth\fP بخش مربوط به دستور \fBblockjob\fP را ببینید. مشخص کردن \fIgranularity\fP امکان تنظیم دقیق دانه‌بندی کپی هنگام شناسایی یک ناحیهٔ تغییریافته (dirty region) را فراهم می‌کند؛ مقادیر بزرگتر بار کاری ورودی/خروجی (I/O) کمتری ایجاد می‌کنند اما ممکن است در کل منجر به کپی شدن داده‌های بیشتری شوند (مقدار پیش‌فرض معمولاً صحیح است)؛ ممکن است هایپروایزرها این مقدار را به توانی از عدد دو محدود کنند یا آن را در محدودهٔ خاصی قرار دهند. مشخص کردن \fIbuf\-size\fP کنترل می‌کند که چه مقدار داده می‌تواند در طول کپی به‌طور همزمان در جریان (in\-flight) باشد؛ مقادیر بزرگتر حافظهٔ بیشتری مصرف می‌کنند اما ممکن است سرعت تکمیل کار را افزایش دهند (مقدار پیش‌فرض معمولاً صحیح است). .sp گزینهٔ \fI\-\-transient\-job\fP این امکان را فراهم می‌کند که مشخص شود در صورت خرابی ماشین مجازی (VM) یا خاموش شدن آن قبل از اتمام کار، نیازی به بازیابی کار توسط کاربر نیست. اگر هایپروایزر محدودیت اجرای کارهای کپی را فقط برای دامنه‌های گذرا (transient domains) اعمال کند، این پرچم آن محدودیت را حذف می‌کند. .sp اگر \fI\-\-synchronous\-writes\fP مشخص شود، کار بلوکی منتظر می‌ماند تا عملیات نوشتن مهمان هم به تصویر اصلی و هم به مقصد کپی منتشر شود تا تضمین گردد که در صورت کندتر بودن فضای ذخیره‌سازی مقصد، کار کپی همگرا خواهد شد. این ممکن است در حین اجرای blockjob بر عملکرد نوشتن‌ها تأثیر منفی بگذارد. .sp اگر \fI\-\-dest\-is\-zero\fP مشخص شود، هایپروایزر ممکن است فرض کند که تصویر مقصد از قبل پاک شده است (خواندن از هر آفستی بایت‌های 0x00 برمی‌گرداند) و بنابراین ممکن است از پاک‌سازی اولیهٔ آن صرف‌نظر کند. .sp اگر \fI\-\-print\-xml\fP مشخص شود، به‌جای شروع کار، کد XML استفاده‌شده برای آغاز کار کپی بلوکی چاپ می‌شود..SS blockjob .sp \fBنحو:\fP .INDENT 0.0 .INDENT 3.5 .sp .EX blockjob domain path { [\-\-abort] [\-\-async] [\-\-pivot] | [\-\-info] [\-\-raw] [\-\-bytes] | [bandwidth] } .EE .UNINDENT .UNINDENT .sp مدیریت عملیات فعال بلوکی. سه حالت مانعة‌الجمع وجود دارد: \fI\-\-info\fP، \fIbandwidth\fP، و \fI\-\-abort\fP\&. گزینه‌های \fI\-\-async\fP و \fI\-\-pivot\fP به معنای حالت abort هستند؛ \fI\-\-raw\fP به معنای حالت info است؛ و اگر هیچ حالتی مشخص نشود، حالت \fI\-\-info\fP فرض می‌شود. .sp آرگومان \fIpath\fP مسیر کامل دیسک را مشخص می‌کند؛ این مقدار با یک نام هدف یکتا () یا فایل منبع () برای یکی از دستگاه‌های دیسک متصل به \fIdomain\fP مطابقت دارد (برای مشاهده فهرست این نام‌ها، \fBdomblklist\fP را نیز ببینید). .sp در حالت \fI\-\-abort\fP، کار فعال روی دیسک مشخص‌شده لغو خواهد شد. اگر \fI\-\-async\fP نیز مشخص شده باشد، این دستور به‌جای انتظار برای تکمیل لغو، فوراً بازمی‌گردد. اگر \fI\-\-pivot\fP مشخص شده باشد، درخواست می‌کند که یک کار کپی فعال یا commit فعال به تصویر جدید منتقل (pivot) شود. .sp در حالت \fI\-\-info\fP، اطلاعات کار فعال روی دیسک مشخص‌شده چاپ خواهد شد. به‌طور پیش‌فرض، خروجی یک خط خلاصه خوانا برای انسان است؛ ممکن است این قالب در نسخه‌های آینده تغییر کند. افزودن \fI\-\-raw\fP هر فیلد از ساختار داده را در قالبی پایدار فهرست می‌کند. اگر پرچم \fI\-\-bytes\fP تنظیم شده باشد، در صورتی که سرور نتواند دقت bytes/s را فراهم کند، دستور با خطا مواجه می‌شود؛ هنگام صرف‌نظر کردن از این پرچم، خروجی خام برحسب MiB/s فهرست شده و خروجی خوانا برای انسان به‌طور خودکار بهترین وضوح پشتیبانی‌شده توسط سرور را انتخاب می‌کند. .sp آرگومان \fIbandwidth\fP می‌تواند برای تعیین محدودیت پهنای باند کار فعال برحسب MiB/s استفاده شود. اگر \fI\-\-bytes\fP مشخص شده باشد، مقدار پهنای باند برحسب bytes/s تفسیر می‌شود. مشخص کردن یک مقدار منفی به‌صورت یک مقدار unsigned long یا اساساً نامحدود تفسیر می‌شود. hypervisor می‌تواند رد کردن مقدار یا تبدیل آن به حداکثر مقدار مجاز را انتخاب کند. به‌صورت اختیاری می‌توان از یک عدد مثبت مقیاس‌بندی‌شده به عنوان پهنای باند استفاده کرد (بخش \fBNOTES\fP در بالا را ببینید). استفاده از \fI\-\-bytes\fP با یک مقدار مقیاس‌بندی‌شده، امکان انتخاب دقت و تفکیک‌پذیری بهتری را فراهم می‌کند. یک مقدار مقیاس‌بندی‌شده بدون \fI\-\-bytes\fP به سمت پایین به MiB/s گرد خواهد شد. توجه داشته باشید که ممکن است \fI\-\-bytes\fP توسط hypervisor پشتیبانی نشود. .sp توجه داشته باشید که پیشرفت گزارش‌شده برای blockjobهای مربوط به پشتیبان‌گیری pull\-mode، نشان‌دهنده پیشرفت پشتیبان‌گیری نیست، بلکه میزان استفاده از فضای موقت مورد نیاز برای پشتیبان‌گیری است. .SS blockpull .sp \fBنحو:\fP .INDENT 0.0 .INDENT 3.5 .sp .EX blockpull domain path [bandwidth] [\-\-bytes] [base] [\-\-wait [\-\-verbose] [\-\-timeout seconds] [\-\-async]] [\-\-keep\-relative] .EE .UNINDENT .UNINDENT .sp پر کردن داده‌های یک دیسک از زنجیره تصاویر پشتیبان (backing image chain) آن. به‌طور پیش‌فرض، این دستور کل زنجیره را مسطح (flatten) می‌کند؛ اما اگر \fIbase\fP مشخص شده باشد و شامل نام یکی از فایل‌های پشتیبان در زنجیره باشد، آن فایل به فایل پشتیبان جدید تبدیل شده و تنها بخش میانی زنجیره کشیده (pull) می‌شود. پس از اینکه تمام داده‌های درخواستی از زنجیره تصاویر پشتیبان کشیده شدند، دیسک دیگر به آن بخش از زنجیره پشتیبان وابسته نخواهد بود. .sp به‌طور پیش‌فرض، این دستور در سریع‌ترین زمان ممکن بازمی‌گردد و داده‌های کل دیسک در پس‌زمینه کشیده می‌شوند؛ پیشرفت عملیات را می‌توان با \fBblockjob\fP بررسی کرد. با این حال، اگر \fI\-\-wait\fP مشخص شده باشد، این دستور تا زمان تکمیل عملیات مسدود خواهد شد، یا در صورتی که زمان اختیاری \fItimeout\fP به ثانیه سپری شود یا سیگنال SIGINT ارسال شود (معمولاً با \fBCtrl\-C\fP)، عملیات را لغو می‌کند. استفاده از \fI\-\-verbose\fP همراه با \fI\-\-wait\fP، وضعیت را به‌صورت دوره‌ای به‌روزرسانی می‌کند. اگر لغو کار فعال شود، \fI\-\-async\fP کنترل را در سریع‌ترین زمان ممکن به کاربر بازمی‌گرداند، در غیر این صورت ممکن است دستور تا پایان پاک‌سازی کار، اندکی بیشتر در حالت مسدود بماند. .sp استفاده از پرچم \fI\-\-keep\-relative\fP نام‌های زنجیره پشتیبان را به‌صورت نسبی نگه می‌دارد. .sp آرگومان \fIpath\fP مسیر کامل دیسک را مشخص می‌کند؛ این مقدار با یک نام هدف یکتا () یا فایل منبع () برای یکی از دستگاه‌های دیسک متصل به \fIdomain\fP مطابقت دارد (برای مشاهده فهرست این نام‌ها، \fBdomblklist\fP را نیز ببینید). \fIbandwidth\fP محدودیت پهنای باند کپی را برحسب MiB/s مشخص می‌کند. برای اطلاعات بیشتر در مورد آرگومان \fIbandwidth\fP بخش مربوط به دستور \fBblockjob\fP را ببینید..SS blockresize .sp \fBنحو:\fP .INDENT 0.0 .INDENT 3.5 .sp .EX blockresize domain path ([size] | [\-\-capacity]) [\-\-extend] .EE .UNINDENT .UNINDENT .sp تغییر اندازه یک دستگاه بلوکی متعلق به domain در حین اجرای دامنه؛ \fIpath\fP مسیر مطلق دستگاه بلوکی را مشخص می‌کند؛ این مقدار با یک نام هدف یکتا () یا فایل منبع () برای یکی از دستگاه‌های دیسک متصل به \fIdomain\fP مطابقت دارد (همچنین برای فهرست کردن این نام‌ها \fBdomblklist\fP را ببینید). .sp پرچم \fI\-\-extend\fP به هایپروایزر دستور می‌دهد تا اطمینان حاصل کند که اندازه جدید کوچک‌تر از اندازه پیشین نیست، بنابراین از کوچک شدن (تصادفی) دستگاه بلوکی که ممکن است منجر به از دست رفتن داده‌ها شود جلوگیری می‌کند. به کاربران توصیه می‌شود همیشه از این پرچم استفاده کنند، مگر هنگام ارتباط با یک هایپروایزر قدیمی‌تر. .sp برای قالب‌های ایمیج فاقد فراداده (raw) ذخیره‌شده درون فضاهای ذخیره‌سازی با اندازه ثابت (مانند دستگاه‌های بلوکی)، می‌توان از پرچم \-\-capacity برای تغییر اندازه دستگاه به اندازه کامل دستگاه پشتیبان استفاده کرد. .sp مقدار \fIsize\fP یک عدد صحیح مقیاس‌پذیر است (بخش \fBNOTES\fP در بالا را ببینید) که در صورت نبود پسوند، پیش‌فرض آن KiB (بلوک‌های ۱۰۲۴ بایتی) است. برای مشخص کردن بایت باید از پسوند \(dqB\(dq استفاده کنید (توجه داشته باشید که به دلایل تاریخی، این رفتار با \fBvol\-resize\fP که بدون پسوند به طور پیش‌فرض بر حسب بایت عمل می‌کند، متفاوت است). .SS console .sp \fBنحو:\fP .INDENT 0.0 .INDENT 3.5 .sp .EX console domain [devname] [\-\-safe] [\-\-force] [\-\-resume] .EE .UNINDENT .UNINDENT .sp اتصال به کنسول سریال مجازی برای ماشین مهمان. پارامتر اختیاری \fIdevname\fP به نام مستعار دستگاه مربوط به یک کنسول جایگزین، دستگاه سریال یا موازی پیکربندی‌شده برای مهمان اشاره دارد. در صورت حذف آن، کنسول اصلی باز خواهد شد. .sp اگر پرچم \fI\-\-safe\fP مشخص شده باشد، تلاش برای اتصال تنها در صورتی انجام می‌شود که درایور از مدیریت امن کنسول پشتیبانی کند. این پرچم مشخص می‌کند که سرور باید دسترسی اختصاصی به دستگاه‌های کنسول را تضمین نماید. به صورت اختیاری می‌توان پرچم \fI\-\-force\fP را برای درخواست قطع هرگونه نشست موجود، مانند مواردی که اتصال قطع شده، مشخص کرد. .sp اگر پرچم \fI\-\-resume\fP مشخص شده باشد، ماشین مهمان پس از اتصال به کنسول از سر گرفته می‌شود (resume). .SS cpu\-stats .sp \fBنحو:\fP .INDENT 0.0 .INDENT 3.5 .sp .EX cpu\-stats domain [\-\-total] [start] [count] .EE .UNINDENT .UNINDENT .sp ارائه اطلاعات آماری پردازنده (cpu) یک دامنه. دامنه باید در حال اجرا باشد. به طور پیش‌فرض، آمار تمامی پردازنده‌ها و مجموع کل نمایش داده می‌شود. از \fI\-\-total\fP فقط برای دریافت آمار کل، از \fIstart\fP فقط برای دریافت آمار پردازنده‌ها به ازای هر CPU از شماره \fIstart\fP به بعد، و از \fIcount\fP فقط برای آمار به تعداد \fIcount\fP پردازنده استفاده کنید. .SS create .sp \fBنحو:\fP .INDENT 0.0 .INDENT 3.5 .sp .EX create FILE [\-\-console] [\-\-paused] [\-\-autodestroy] [\-\-pass\-fds N,M,...] [\-\-validate] [\-\-reset\-nvram] .EE .UNINDENT .UNINDENT .sp ایجاد یک دامنه از یک با قالب XML. به صورت اختیاری، گزینه \fI\-\-validate\fP می‌تواند برای اعتبارسنجی قالب فایل XML ورودی در برابر شِمای RNG داخلی ارسال شود (مشابه با استفاده از ابزار virt\-xml\-validate(1)). دامنه‌های ایجادشده با این دستور یا گذرا (transient) خواهند بود (موارد موقتی که پس از نابود شدن از بین می‌روند) یا مهمان‌های پایدار (persistent) موجود که با یک پیکربندی یک‌بارمصرف اجرا می‌شوند، در حالی که XML پایدار آن‌ها دست‌نخورده باقی می‌ماند (این قابلیت هنگام آزمایش خودکار پیکربندی‌های گوناگون بر پایه XML اصلی بسیار کاربردی است). برای مشاهده نحوه استفاده، مثال زیر را ببینید. .sp اگر گزینه \fI\-\-paused\fP استفاده شود و توسط درایور پشتیبانی گردد، دامنه در وضعیت مکث قرار می‌گیرد؛ در غیر این صورت در حال اجرا خواهد بود. اگر \fI\-\-console\fP درخواست شده باشد، پس از ایجاد به کنسول متصل می‌شود. اگر \fI\-\-autodestroy\fP درخواست شده باشد، زمانی که virsh اتصال خود را به libvirt ببندد یا به هر طریق دیگری خارج شود، مهمان به طور خودکار نابود خواهد شد. .sp اگر \fI\-\-pass\-fds\fP مشخص شود، آرگومان آن فهرستی جداشده با کاما از توصیف‌کننده‌های فایل (file descriptors) باز است که باید به مهمان منتقل شوند. شماره توصیف‌کننده‌های فایل در مهمان تغییر کرده و از ۳ شماره‌گذاری مجدد می‌شوند. این مورد فقط در مجازی‌سازی مبتنی بر کانتینر پشتیبانی می‌شود. .sp اگر \fI\-\-reset\-nvram\fP مشخص شود، هرگونه فایل NVRAM/varstore موجود حذف شده و از روی الگوی اولیه و دست‌نخورده آن مجدداً مقداردهی اولیه خواهد شد. .sp \fBمثال:\fP .INDENT 0.0 .IP 1. 3 آماده‌سازی یک الگو از روی یک دامنه موجود (اگر الگو را از ابتدا می‌نویسید، مستقیماً به مرحله 3a بروید) .INDENT 3.0 .INDENT 3.5 .sp .EX # virsh dumpxml > domain.xml .EE .UNINDENT .UNINDENT .IP 2. 3 ویرایش الگو با استفاده از یک ویرایشگر دلخواه و: .INDENT 3.0 .IP a. 3 حتماً تغییر دهید! و ( را می‌توان حذف نیز کرد)، یا .IP b. 3 اصلاً تغییر ندهید! هیچ‌یک از یا را .UNINDENT .INDENT 3.0 .INDENT 3.5 .sp .EX # $EDITOR domain.xml .EE .UNINDENT .UNINDENT .IP 3. 3 ایجاد یک دامنه از domain.xml، بسته به این‌که به ترتیب گام 2a یا 2b را دنبال کرده‌اید: .INDENT 3.0 .IP a. 3 دامنه قرار است گذرا (transient) باشد .IP b. 3 یک مهمان پایدار موجود با یک پیکربندی اصلاح‌شده یک‌بارمصرف اجرا خواهد شد .UNINDENT .INDENT 3.0 .INDENT 3.5 .sp .EX # virsh create domain.xml .EE .UNINDENT .UNINDENT .UNINDENT.SS define .sp \fBنحو:\fP .INDENT 0.0 .INDENT 3.5 .sp .EX define FILE [\-\-validate] .EE .UNINDENT .UNINDENT .sp تعریف یک دامنه از یک دارای ساختار XML. در صورت تمایل، می‌توان قالب فایل XML ورودی را با استفاده از \fI\-\-validate\fP در برابر یک شِمای داخلی RNG اعتبارسنجی کرد (مشابه استفاده از ابزار virt\-xml\-validate(1)). تعریف دامنه ثبت می‌شود اما شروع به کار نمی‌کند. اگر دامنه از قبل در حال اجرا باشد، تغییرات در راه‌اندازی بعدی اعمال خواهند شد. .SS desc .sp \fBنحو:\fP .INDENT 0.0 .INDENT 3.5 .sp .EX desc domain [[\-\-live] [\-\-config] | [\-\-current]] [\-\-title] [\-\-edit] [\-\-new\-desc New description or title message] .EE .UNINDENT .UNINDENT .sp نمایش یا ویرایش توضیحات و عنوان یک دامنه. این مقادیر فیلدهای کاربری هستند که امکان ذخیره داده‌های متنی اختیاری را برای شناسایی آسان دامنه‌ها فراهم می‌کنند. عنوان باید کوتاه باشد، اگرچه این موضوع اجباری نیست. (همچنین \fBmetadata\fP را ببینید که با متاداده‌های بر پایه XML دامنه کار می‌کند.) .sp پرچم‌های \fI\-\-live\fP یا \fI\-\-config\fP تعیین می‌کنند که این دستور بر روی تعاریف زنده یا پایدار دامنه عمل کند. اگر هر دو گزینه \fI\-\-live\fP و \fI\-\-config\fP مشخص شده باشند، هنگام دریافت توضیحات فعلی، گزینه \fI\-\-config\fP اولویت خواهد داشت و در زمان تنظیم توضیحات، هم پیکربندی زنده و هم config به‌روزرسانی می‌شوند. \fI\-\-current\fP مانعه‌الجمع است و اگر هیچ‌کدام از این موارد مشخص نشده باشند، به صورت ضمنی در نظر گرفته می‌شود. .sp پرچم \fI\-\-edit\fP مشخص می‌کند که یک ویرایشگر حاوی محتوای توضیحات یا عنوان فعلی باز شود و محتویات پس از ویرایش مجدداً ذخیره شوند. .sp پرچم \fI\-\-title\fP به جای توضیحات، عملیات را بر روی فیلد عنوان انتخاب می‌کند. .sp اگر هیچ‌یک از گزینه‌های \fI\-\-edit\fP و \fI\-\-new\-desc\fP مشخص نشده باشند، یادداشت یا توضیحات به جای ویرایش شدن، نمایش داده می‌شوند. .SS destroy .sp \fBنحو:\fP .INDENT 0.0 .INDENT 3.5 .sp .EX destroy domain [\-\-graceful] [\-\-remove\-logs] .EE .UNINDENT .UNINDENT .sp دامنه \fIdomain\fP\& را فوراً متوقف می‌کند. این کار به سیستم‌عامل دامنه هیچ فرصتی برای واکنش نشان دادن نمی‌دهد و معادل کشیدن کابل برق در یک ماشین فیزیکی است. در بیشتر موارد بهتر است به جای آن از دستور \fBshutdown\fP استفاده کنید. با این حال، این کار هیچ‌یک از حجم‌های ذخیره‌سازی استفاده‌شده توسط مهمان را حذف نمی‌کند، و اگر دامنه پایدار باشد، می‌توان بعداً دوباره آن را راه‌اندازی کرد. .sp اگر \fIdomain\fP گذرا باشد، متاداده‌های هرگونه تصویر لحظه‌ای (snapshot) پس از متوقف شدن اجرای مهمان از بین خواهند رفت، اما محتویات تصویر لحظه‌ای همچنان باقی می‌مانند و یک دامنه جدید با همان نام و UUID می‌تواند با استفاده از \fBsnapshot\-create\fP\& متاداده‌های تصویر لحظه‌ای را بازیابی کند. به همین ترتیب، متاداده‌های هرگونه نقطه بررسی (checkpoint) از بین خواهند رفت، اما با \fBcheckpoint\-create\fP\& قابل بازیابی هستند. .sp اگر \fI\-\-graceful\fP مشخص شده باشد، در صورتی که مهمان پس از یک مهلت زمانی معقول متوقف نشود، به اقدامات شدید (مانند SIGKILL) متوسل نشوید؛ در عوض یک خطا بازگردانید. .sp اگر \fI\-\-remove\-logs\fP مشخص شده باشد، فایل‌های گزارش مربوط به هر \fIdomain\fP را حذف کنید. از همه پیکربندی‌های استقرار پشتیبانی نمی‌شود. .sp در مورد QEMU این پرچم تنها در صورتی پشتیبانی می‌شود که از virlogd برای مدیریت خروجی فرایند QEMU استفاده شود. در غیر این صورت این پرچم نادیده گرفته می‌شود..SS domblkerror .sp \fBساختار:\fP .INDENT 0.0 .INDENT 3.5 .sp .EX domblkerror domain .EE .UNINDENT .UNINDENT .sp نمایش خطاهای روی دستگاه‌های بلوکی. این دستور معمولاً زمانی مفید واقع می‌شود که دستور \fBdomstate\fP اعلام کند یک دامنه به دلیل خطای I/O متوقف (pause) شده است. دستور \fBdomblkerror\fP تمامی دستگاه‌های بلوکی دارای وضعیت خطا و خطای رخ‌داده در هر یک از آن‌ها را فهرست می‌کند. .SS domblkinfo .sp \fBساختار:\fP .INDENT 0.0 .INDENT 3.5 .sp .EX domblkinfo domain [block\-device \-\-all] [\-\-human] .EE .UNINDENT .UNINDENT .sp دریافت اطلاعات اندازهٔ دستگاه بلوکی برای یک دامنه. یک \fIblock\-device\fP با یک نام هدفِ یکتا () یا فایل منبع () برای یکی از دیسک‌های متصل به \fIdomain\fP مطابقت دارد (برای دیدن فهرستی از این نام‌ها، همچنین \fBdomblklist\fP را ببینید). اگر \fI\-\-human\fP مشخص شده باشد، خروجی در قالبی خوانا برای انسان ارائه می‌شود. اگر \fI\-\-all\fP مشخص شده باشد، خروجی جدولی خواهد بود که اطلاعات اندازهٔ تمامی دستگاه‌های بلوکی مرتبط با \fIdomain\fP را نشان می‌دهد. گزینهٔ \fI\-\-all\fP نسبت به سایر گزینه‌ها اولویت دارد. .SS domblklist .sp \fBساختار:\fP .INDENT 0.0 .INDENT 3.5 .sp .EX domblklist domain [\-\-inactive] [\-\-details] .EE .UNINDENT .UNINDENT .sp چاپ جدولی شامل اطلاعات مختصر تمامی دستگاه‌های بلوکی مرتبط با \fIdomain\fP\&. اگر \fI\-\-inactive\fP مشخص شود، دستگاه‌های بلوکی که در راه‌اندازی بعدی به کار خواهند رفت استعلام می‌شوند، به جای مواردی که هم‌اکنون توسط یک دامنهٔ در حال اجرا استفاده می‌شوند. اگر \fI\-\-details\fP مشخص شود، نوع دیسک و مقدار دستگاه نیز چاپ خواهند شد. سایر زمینه‌هایی که به نام دستگاه بلوکی نیاز دارند (مانند \fIdomblkinfo\fP یا \fIsnapshot\-create\fP برای اسنپ‌شات‌های دیسک) هر یک از نام‌های هدف یا نام‌های منبع یکتای چاپ‌شده توسط این دستور را خواهند پذیرفت. .SS domblkstat .sp \fBساختار:\fP .INDENT 0.0 .INDENT 3.5 .sp .EX domblkstat domain [block\-device] [\-\-human] .EE .UNINDENT .UNINDENT .sp دریافت آمار دستگاه بلوکی برای یک دامنهٔ در حال اجرا. یک \fIblock\-device\fP با یک نام هدف یکتا () یا فایل منبع () برای یکی از دستگاه‌های دیسک متصل به \fIdomain\fP مطابقت دارد (برای دیدن فهرستی از این نام‌ها، همچنین \fBdomblklist\fP را ببینید). در دامنه‌های LXC یا QEMU، نادیده گرفتن \fIblock\-device\fP، آمار دستگاه‌های بلوکی را به‌صورت خلاصه‌وار برای کل دامنه برمی‌گرداند. .sp برای داشتن خروجی خواناتر برای انسان از \fI\-\-human\fP استفاده کنید. .sp در دسترس بودن این فیلدها به هایپروایزر بستگی دارد. فیلدهای پشتیبانی‌نشده در خروجی نمایش داده نمی‌شوند. در صورت ارتباط با نسخهٔ جدیدتری از libvirtd ممکن است فیلدهای دیگری نیز ظاهر شوند. .sp توضیح فیلدها (فیلدها به ترتیب زیر ظاهر می‌شوند): .INDENT 0.0 .IP \(bu 2 rd_req \- تعداد عملیات‌های خواندن .IP \(bu 2 rd_bytes \- تعداد بایت‌های خوانده‌شده .IP \(bu 2 wr_req \- تعداد عملیات‌های نوشتن .IP \(bu 2 wr_bytes \- تعداد بایت‌های نوشته‌شده .IP \(bu 2 errs \- تعداد خطاها .IP \(bu 2 flush_operations \- تعداد عملیات‌های تخلیه بافر (flush) .IP \(bu 2 rd_total_times \- کل زمان صرف‌شده برای عملیات‌های خواندن (نانوثانیه) .IP \(bu 2 wr_total_times \- کل زمان صرف‌شده برای عملیات‌های نوشتن (نانوثانیه) .IP \(bu 2 flush_total_times \- کل زمان صرف‌شده برای عملیات‌های تخلیه بافر (نانوثانیه) .IP \(bu 2 <\-\- سایر فیلدهای ارائه‌شده توسط هایپروایزر \-\-> .UNINDENT.SS domblkthreshold .sp \fBسینتکس:\fP .INDENT 0.0 .INDENT 3.5 .sp .EX domblkthreshold domain dev threshold .EE .UNINDENT .UNINDENT .sp تنظیم مقدار آستانه برای ارسال رویداد block\-threshold. \fIdev\fP هدف دستگاه دیسک یا عنصری از زنجیره پشتیبان (backing chain) دستگاه داده‌شده را با استفاده از نحو \(aqtarget[1]\(aq مشخص می‌کند. \fIthreshold\fP یک مقدار مقیاس‌بندی‌شده از آفست است. اگر دستگاه بلوکی فراتر از آن آفست بنویسد، رویداد تحویل داده خواهد شد. .SS domcontrol .sp \fBسینتکس:\fP .INDENT 0.0 .INDENT 3.5 .sp .EX domcontrol domain .EE .UNINDENT .UNINDENT .sp وضعیت رابط متصل به VMM را که برای کنترل یک دامنه استفاده می‌شود، برمی‌گرداند. برای وضعیت‌هایی غیر از \(dqok\(dq یا \(dqerror\(dq، این دستور همچنین تعداد ثانیه‌های سپری‌شده از زمان ورود رابط کنترلی به وضعیت فعلی‌اش را چاپ می‌کند. .SS domdirtyrate\-calc .sp \fBسینتکس:\fP .INDENT 0.0 .INDENT 3.5 .sp .EX domdirtyrate\-calc [\-\-seconds ] \-\-mode=[page\-sampling | dirty\-bitmap | dirty\-ring] .EE .UNINDENT .UNINDENT .sp محاسبه نرخ کثیف شدن حافظه (dirty rate) یک دامنه فعال که ممکن است توسط کاربر به منظور تصمیم‌گیری درباره مناسب بودن یا نبودن آن برای مهاجرت مورد انتظار باشد. پارامتر \fBseconds\fP می‌تواند برای محاسبه نرخ داده‌های تغییریافته (dirty rate) در یک بازه زمانی مشخص به کار رود که در حال حاضر حداکثر 60s را مجاز دانسته و در صورت عدم تعیین، پیش‌فرض آن 1s خواهد بود. این سه حالت \fIpage\-sampling, dirty\-bitmap, dirty\-ring\fP هنگام تعیین حالت محاسبه، مانعة‌الجمع و گزینه‌های جایگزین یکدیگر هستند؛ در صورت عدم تعیین، \fIpage\-sampling\fP حالت پیش‌فرض است. اطلاعات نرخ تغییرات حافظه محاسبه‌شده با فراخوانی \(aqdomstats \-\-dirtyrate\(aq در دسترس است. .SS domdisplay .sp \fBسینتکس:\fP .INDENT 0.0 .INDENT 3.5 .sp .EX domdisplay domain [\-\-include\-password] [[\-\-type] type] [\-\-all] .EE .UNINDENT .UNINDENT .sp یک URI در خروجی تولید می‌کند که می‌تواند برای اتصال به نمایشگر گرافیکی دامنه از طریق VNC، SPICE یا RDP استفاده شود. نوع خاص نمایشگر گرافیکی را می‌توان با استفاده از پارامتر \fBtype\fP انتخاب کرد (مانند \(dqvnc\(dq، \(dqspice\(dq، \(dqrdp\(dq). اگر \fI\-\-include\-password\fP مشخص شده باشد، گذرواژه کانال SPICE در URI گنجانده خواهد شد. اگر \fI\-\-all\fP مشخص شود، تمام نمایشگرهای گرافیکی ممکن را نشان می‌دهد، چرا که یک ماشین مجازی می‌تواند بیش از یک نمایشگر گرافیکی داشته باشد. .SS domdisplay\-reload .sp \fBسینتکس:\fP .INDENT 0.0 .INDENT 3.5 .sp .EX domdisplay\-reload [\-\-type ] .EE .UNINDENT .UNINDENT .sp بازآوری (reload) نمایشگر گرافیکی دامنه. این دستور گواهی‌های TLS آن را بدون راه‌اندازی مجدد دامنه بازآوری می‌کند. \fBtype\fP می‌تواند هر مقداری از ثوابت نوع شمارشی \fIvirDomainGraphicsReloadType\fP باشد. به‌طور پیش‌فرض هر نوعِ پشتیبانی‌شده‌ای بازآوری می‌شود (تاکنون فقط VNC)..SS domfsfreeze .sp \fBنحو:\fP .INDENT 0.0 .INDENT 3.5 .sp .EX domfsfreeze domain [[\-\-mountpoint] mountpoint...] .EE .UNINDENT .UNINDENT .sp سیستم‌فایل‌های سوارشده در یک دامنهٔ در حال اجرا را برای آماده‌سازی اسنپ‌شات‌های سازگار منجمد (freeze) می‌کند. .sp گزینهٔ \fI\-\-mountpoint\fP پارامتری به نام \fBmountpoint\fP می‌پذیرد که مسیر نقطهٔ اتصال سیستم‌فایل مورد نظر برای انجماد است. این گزینه می‌تواند چندین بار تکرار شود. در صورت عدم تعیین این گزینه، تمام سیستم‌فایل‌های سوارشده منجمد خواهند شد. .sp نکته: دستور \fBsnapshot\-create\fP دارای گزینهٔ \fI\-\-quiesce\fP جهت انجماد و رفع انجماد (thaw) خودکار سیستم‌فایل‌ها است تا سازگاری اسنپ‌شات‌ها حفظ شود. دستور \fBdomfsfreeze\fP تنها زمانی لازم است که کاربر بخواهد از قابلیت‌های اسنپ‌شات بومی دستگاه‌های ذخیره‌سازی که توسط libvirt پشتیبانی نمی‌شوند، استفاده کند. .SS domfsinfo .sp \fBنحو:\fP .INDENT 0.0 .INDENT 3.5 .sp .EX domfsinfo domain .EE .UNINDENT .UNINDENT .sp فهرستی از سیستم‌فایل‌های سوارشده در دامنهٔ در حال اجرا را نمایش می‌دهد. این فهرست شامل نقاط اتصال، نام دستگاه‌های سوارشده در ماشین مهمان، نوع سیستم‌فایل‌ها و نام‌های یکتای هدف استفاده‌شده در XML دامنه () است. .sp توجه داشته باشید که این دستور نیازمند یک guest agent پیکربندی‌شده و در حال اجرا در سیستم‌عامل مهمانِ دامنه است. .SS domfsthaw .sp \fBنحو:\fP .INDENT 0.0 .INDENT 3.5 .sp .EX domfsthaw domain [[\-\-mountpoint] mountpoint...] .EE .UNINDENT .UNINDENT .sp سیستم‌فایل‌های سوارشده در یک دامنهٔ در حال اجرا را که توسط دستور domfsfreeze منجمد شده‌اند، از حالت انجماد خارج می‌کند (thaw). .sp گزینهٔ \fI\-\-mountpoint\fP پارامتری به نام \fBmountpoint\fP می‌پذیرد که مسیر نقطهٔ اتصال سیستم‌فایل مورد نظر برای رفع انجماد است. این گزینه می‌تواند چندین بار تکرار شود. در صورت عدم تعیین این گزینه، تمام سیستم‌فایل‌های سوارشده از انجماد خارج خواهند شد. .SS domfstrim .sp \fBنحو:\fP .INDENT 0.0 .INDENT 3.5 .sp .EX domfstrim domain [\-\-minimum bytes] [\-\-mountpoint mountPoint] .EE .UNINDENT .UNINDENT .sp دستور fstrim را روی تمام سیستم‌فایل‌های سوارشده در یک دامنهٔ در حال اجرا صادر می‌کند. این عمل بلوک‌هایی را که دیگر توسط سیستم‌فایل استفاده نمی‌شوند، دور می‌ریزد (discard). اگر مقدار \fI\-\-minimum\fP \fBbytes\fP تعیین شود، طول بازهٔ آزادِ پیوسته را به کرنل مهمان اعلام می‌کند. محدوده‌های کوچک‌تر از این مقدار ممکن است نادیده گرفته شوند (این یک پیشنهاد است و ممکن است سیستم مهمان آن را رعایت نکند). با افزایش این مقدار، عملیات fstrim برای سیستم‌فایل‌هایی با فضای آزاد بسیار پراکنده (fragmented) سریع‌تر پایان می‌یابد، اگرچه ممکن است همهٔ بلوک‌ها دور ریخته نشوند. مقدار پیش‌فرض صفر است، به معنی \(dqدور انداختن هر بلوک آزاد\(dq. علاوه بر این، چنانچه کاربر بخواهد تنها یک نقطهٔ اتصال را trim کند، می‌توان آن را با پارامتر اختیاری \fI\-\-mountpoint\fP مشخص نمود..SS domhostname .sp \fBسینتکس:\fP .INDENT 0.0 .INDENT 3.5 .sp .EX domhostname domain [\-\-source lease|agent] .EE .UNINDENT .UNINDENT .sp نام میزبان (hostname) یک دامنه را، در صورتی که هایپروایزر آن را در دسترس قرار دهد، برمی‌گرداند. .sp آرگومان \fI\-\-source\fP مشخص می‌کند چه منبع داده‌ای برای نام‌های میزبان استفاده شود؛ در حال حاضر \(aqlease\(aq برای خواندن اجاره‌های DHCP یا \(aqagent\(aq برای پرس‌وجو از سیستم‌عامل مهمان از طریق یک عامل (agent). اگر مشخص نشود، درایور روش پیش‌فرضِ دردسترس را برمی‌گرداند (برخی درایورها تنها از یک نوع منبع پشتیبانی می‌کنند). .SS domid .sp \fBسینتکس:\fP .INDENT 0.0 .INDENT 3.5 .sp .EX domid domain\-name\-or\-uuid .EE .UNINDENT .UNINDENT .sp تبدیل یک نام دامنه (یا UUID) به یک شناسه دامنه (domain id). .SS domif\-getlink .sp \fBسینتکس:\fP .INDENT 0.0 .INDENT 3.5 .sp .EX domif\-getlink domain interface\-device [\-\-config] .EE .UNINDENT .UNINDENT .sp پرس‌وجوی وضعیت پیوند (link state) رابط مجازی دامنه. اگر \fI\-\-config\fP مشخص شده باشد، پیکربندی ماندگار را پرس‌وجو می‌کند؛ برای اهداف سازگاری، \fI\-\-persistent\fP نام مستعاری برای \fI\-\-config\fP است\&. .sp \fIinterface\-device\fP می‌تواند نام مقصد رابط یا آدرس MAC آن باشد. .SS domif\-setlink .sp \fBسینتکس:\fP .INDENT 0.0 .INDENT 3.5 .sp .EX domif\-setlink domain interface\-device state [\-\-config] [\-\-print\-xml] .EE .UNINDENT .UNINDENT .sp تغییر وضعیت پیوند رابط مجازی دامنه. مقادیر ممکن برای state عبارت‌اند از \(dqup\(dq و \(dqdown\(dq. اگر \fI\-\-config\fP مشخص شده باشد، تنها پیکربندی ماندگار دامنه تغییر می‌یابد؛ برای اهداف سازگاری، \fI\-\-persistent\fP نام مستعاری برای \fI\-\-config\fP است\&. \fIinterface\-device\fP می‌تواند نام مقصد رابط یا آدرس MAC آن باشد. .sp اگر \fI\-\-print\-xml\fP مشخص شده باشد، به جای آن XML استفاده‌شده برای به‌روزرسانی رابط چاپ می‌شود. .SS domifaddr .sp \fBسینتکس:\fP .INDENT 0.0 .INDENT 3.5 .sp .EX domifaddr domain [interface] [\-\-full] [\-\-source lease|agent|arp] .EE .UNINDENT .UNINDENT .sp دریافت فهرستی از رابط‌های یک دامنهٔ در حال اجرا به همراه آدرس‌های IP و MAC آن‌ها، یا خروجی محدود فقط برای یک رابط در صورتی که \fIinterface\fP مشخص شده باشد. توجه داشته باشید که \fIinterface\fP می‌تواند وابسته به درایور باشد؛ این نام می‌تواند نام درون سیستم‌عامل مهمان یا نامی باشد که در XML دامنه مشاهده می‌کنید. علاوه بر این، ممکن است در برخی هایپروایزرها، به‌ویژه QEMU، کل دستور نیازمند پیکربندی یک عامل مهمان (guest agent) برای دامنهٔ موردپرسش باشد. .sp اگر \fI\-\-full\fP مشخص شده باشد، هنگامی که رابط دارای چندین آدرس IP یا نام مستعار است، نام رابط و آدرس MAC همواره نمایش داده می‌شود؛ در غیر این صورت، نام رابط و آدرس MAC تنها برای اولین نام و آدرس MAC نمایش داده می‌شود و برای سایر مواردی که از همان نام و آدرس MAC استفاده می‌کنند مقدار \(dq\-\(dq نشان داده می‌شود. .sp آرگومان \fI\-\-source\fP مشخص می‌کند چه منبع داده‌ای برای آدرس‌ها استفاده شود؛ در حال حاضر \(aqlease\(aq برای خواندن اجاره‌های DHCP، ‏\(aqagent\(aq برای پرس‌وجو از سیستم‌عامل مهمان از طریق یک عامل، یا \(aqarp\(aq برای دریافت IP از جدول‌های arp میزبان است. در صورت مشخص نشدن، \(aqlease\(aq پیش‌فرض است..SS backup\-begin .sp \fBنحو:\fP .INDENT 0.0 .INDENT 3.5 .sp .EX backup\-begin domain [backupxml] [checkpointxml] [\-\-reuse\-external] [\-\-preserve\-domain\-on\-shutdown] .EE .UNINDENT .UNINDENT .sp یک عملیات پشتیبان‌گیری جدید را آغاز می‌کند. اگر \fIbackupxml\fP مشخص نشود، پیش‌فرض یک پشتیبان‌گیری کامل با استفاده از مدل push روی نام‌فایل‌های تولیدشده توسط libvirt خواهد بود؛ ارائه XML امکان تنظیمات دقیق‌تری مانند درخواست پشتیبان‌گیری افزایشی نسبت به یک چک‌پوینت پیشین، کنترل دیسک‌های درگیر یا نام‌فایل‌های مرتبط، یا درخواست استفاده از مدل پشتیبان‌گیری pull را فراهم می‌کند. دستور \fIbackup\-dumpxml\fP مقادیر حاصل از تخصیص توسط libvirt را نمایش می‌دهد. برای اطلاعات بیشتر درباره XML پشتیبان‌گیری، ببینید: \% .sp اگر \fI\-\-reuse\-external\fP استفاده شود، به libvirt دستور می‌دهد تا فایل‌های موقت و خروجی ارائه‌شده توسط کاربر در \fIbackupxml\fP را دوباره استفاده کند\&. .sp هنگامی که پرچم \fI\-\-preserve\-domain\-on\-shutdown\fP استفاده شود، چنانچه سیستم‌عامل مهمان در حین اجرای پشتیبان‌گیری خاموش شود، libvirt ماشین مجازی را متوقف (terminate) نخواهد کرد. در عوض، ماشین مجازی تا زمان اتمام عملیات پشتیبان‌گیری در وضعیت VIR_DOMAIN_PAUSED نگه داشته می‌شود. ماشین مجازی همچنین می‌تواند برای بوت دوباره، از سر گرفته (resume) شود. .sp اگر \fIcheckpointxml\fP مشخص شده باشد، فایل دومی با عنصر ریشه \fIdomaincheckpoint\fP برای ایجاد یک چک‌پوینت هم‌زمان استفاده می‌شود تا بعداً بتوان یک پشتیبان‌گیری افزایشی نسبت به زمان ایجاد این پشتیبان تهیه کرد. برای جزئیات بیشتر درباره چک‌پوینت‌ها، \fIcheckpoint\-create\fP را ببینید. .sp این دستور بلافاصله بازمی‌گردد و عملیات پشتیبان‌گیری در پس‌زمینه اجرا می‌شود؛ پیشرفت پشتیبان‌گیری در مدل push را می‌توان با \fIdomjobinfo\fP یا با منتظر ماندن برای یک رویداد با \fIevent\fP بررسی کرد (پیشرفت پشتیبان‌گیری در مدل pull تحت کنترل سرویس شخص ثالثی است که به export پروتکل NBD متصل می‌شود). این عملیات با \fIdomjobabort\fP پایان می‌یابد\&. .SS backup\-dumpxml .sp \fBنحو:\fP .INDENT 0.0 .INDENT 3.5 .sp .EX backup\-dumpxml [\-\-xpath EXPRESSION] [\-\-wrap] domain .EE .UNINDENT .UNINDENT .sp خروجی دادن XML توصیف‌کننده عملیات پشتیبان‌گیری فعلی. .sp اگر آرگومان \fB\-\-xpath\fP یک عبارت XPath ارائه دهد، بر روی خروجی XML ارزیابی شده و تنها گره‌های منطبق چاپ خواهند شد. رفتار پیش‌فرض این است که هر گره منطبق به عنوان یک سند مستقل چاپ شود، با این حال، برای سهولت در پردازش‌های بیشتر، آرگومان \fB\-\-wrap\fP باعث می‌شود گره‌های منطبق درون یک گره ریشه مشترک قرار گیرند. .SS domiflist .sp \fBنحو:\fP .INDENT 0.0 .INDENT 3.5 .sp .EX domiflist domain [\-\-inactive] .EE .UNINDENT .UNINDENT .sp چاپ جدولی که اطلاعات مختصری از تمام رابط‌های مجازی مرتبط با \fIdomain\fP را نمایش می‌دهد\&. اگر \fI\-\-inactive\fP مشخص شده باشد، رابط‌های مجازی که در بوت بعدی استفاده خواهند شد بررسی می‌شوند، نه آن‌هایی که در حال حاضر توسط یک دامنه در حال اجرا استفاده می‌شوند. سایر دستوراتی که به آدرس MAC رابط مجازی نیاز دارند (مانند \fIdetach\-interface\fP یا \fIdomif\-setlink\fP)، آدرس MAC چاپ‌شده توسط این دستور را خواهند پذیرفت. .SS domifstat .sp \fBنحو:\fP .INDENT 0.0 .INDENT 3.5 .sp .EX domifstat domain interface\-device .EE .UNINDENT .UNINDENT .sp دریافت آمار رابط شبکه برای یک دامنه در حال اجرا. آمار رابط شبکه تنها برای رابط‌هایی در دسترس است که یک رابط مبدأ فیزیکی داشته باشند. این شامل مواردی چون نوع رابط \(aquser\(aq نمی‌شود، زیرا یک LAN مجازی با NAT به دنیای خارج است. \fIinterface\-device\fP می‌تواند نام هدف رابط یا آدرس MAC آن باشد. لطفاً توجه داشته باشید، برای نوع مدیریت‌نشده \fIethernet\fP ممکن است در آمار بازگردانده‌شده جای RX/TX معکوس باشد..SS domiftune .sp \fBساختار:\fP .INDENT 0.0 .INDENT 3.5 .sp .EX domiftune domain interface\-device [[\-\-config] [\-\-live] | [\-\-current]] [*\-\-inbound average,peak,burst,floor*] [*\-\-outbound average,peak,burst*] .EE .UNINDENT .UNINDENT .sp تنظیم یا پرس‌وجوی پارامترهای پهنای باند رابط شبکهٔ دامنه (domain). \fIinterface\-device\fP می‌تواند نام هدف رابط () یا نشانی MAC باشد. .sp اگر هیچ‌یک از \fI\-\-inbound\fP یا \fI\-\-outbound\fP مشخص نشده باشد، این دستور تنظیمات پهنای باند را پرس‌وجو کرده و نمایش می‌دهد. در غیر این صورت، پهنای باند ورودی یا خروجی را تنظیم می‌کند. مقادیر \fIaverage,peak,burst,floor\fP مشابه دستور \fIattach\-interface\fP است\&. مقادیر برای \fIaverage\fP، \fIpeak\fP و \fIfloor\fP بر حسب کیبی‌بایت بر ثانیه (kiB) بیان می‌شوند، در حالی که \fIburst\fP بر حسب kiB در یک فوران (burst) منفرد با سرعت \fIpeak\fP بیان می‌شود، همان‌طور که در مستندات Network XML در \%\& شرح داده شده است. .sp برای پاک کردن تنظیمات ورودی یا خروجی، به‌ترتیب از \fI\-\-inbound\fP یا \fI\-\-outbound\fP با مقدار میانگین (average) صفر استفاده کنید. .sp اگر \fI\-\-live\fP مشخص شود، روی یک مهمان در حال اجرا اعمال می‌شود. اگر \fI\-\-config\fP مشخص شود، بر راه‌اندازی بعدی یک مهمان پایدار تأثیر می‌گذارد. اگر \fI\-\-current\fP مشخص شود، بسته به وضعیت کنونی مهمان، معادل \fI\-\-live\fP یا \fI\-\-config\fP خواهد بود. هر دو پرچم \fI\-\-live\fP و \fI\-\-config\fP را می‌توان هم‌زمان داد، اما \fI\-\-current\fP مانعة‌الجمع (انحصاری) است. اگر هیچ پرچمی تعیین نشود، رفتار بسته به هایپروایزر متفاوت خواهد بود. .SS domifannounce .sp \fBساختار\fP .INDENT 0.0 .INDENT 3.5 .sp .EX domifannounce domain [interface\-device] [parameters] .EE .UNINDENT .UNINDENT .sp درخواست از یک دامنه برای تزریق پاسخ‌های ARP از نوع \(dqgratuitous\(dq (بی‌درخواست) به جریان داده‌های خروجی یک رابط شبکهٔ مشخص از دامنه (یا اگر هیچ interface\-device داده نشده باشد، تزریق پاسخ‌های ARP به جریان داده‌های خروجی تمام رابط‌های شبکهٔ دامنه). این کار می‌تواند برای همگام‌سازی مجدد سوییچ‌های شبکه در دامنهٔ انتشار (broadcast domain) رابط‌های یادشده هنگام تغییر توپولوژی شبکه مفید باشد. این عمل معمولاً هنگام راه‌اندازی یک دامنه یا پس از مهاجرت (migration) آن به‌طور خودکار انجام می‌شود (برای نمونه، این رفتار پیش‌فرض QEMU است)، اما یک پیکربندی پیچیده‌تر که در آن توپولوژی در اطراف یک دامنهٔ از قبل فعال تغییر می‌کند (یا احتمالاً در زمان اعلان خودکار، هنوز تمام اتصالات برقرار نشده‌اند و ترافیک عبور نمی‌کند) ممکن است از اعلانی که به‌صورت دستی راه‌اندازی می‌شود بهره ببرد. .sp پارامترهای اختیاری عبارتند از: .INDENT 0.0 .IP \(bu 2 \fI\-\-initial n\fP .sp تأخیر اولیه پیش از نخستین اعلان (میلی‌ثانیه)، پیش‌فرض: 50 .IP \(bu 2 \fI\-\-max n\fP .sp حداکثر تأخیر میان اعلان‌ها (میلی‌ثانیه)، پیش‌فرض: 550 .IP \(bu 2 \fI\-\-rounds n\fP .sp تعداد کل اعلان‌ها، پیش‌فرض: 5 .IP \(bu 2 \fI\-\-step n\fP .sp افزایش اضافه‌شده به تأخیر (میلی‌ثانیه) پس از هر اعلان، پیش‌فرض 50 .UNINDENT.SS dominfo .sp \fBنحو:\fP .INDENT 0.0 .INDENT 3.5 .sp .EX dominfo domain .EE .UNINDENT .UNINDENT .sp اطلاعات پایه‌ای درباره domain بازمی‌گرداند. .SS domjobabort .sp \fBنحو:\fP .INDENT 0.0 .INDENT 3.5 .sp .EX domjobabort domain [\-\-postcopy] .EE .UNINDENT .UNINDENT .sp کار (job) در حال اجرای domain را لغو می‌کند. .sp هنگامی که کار مورد نظر برای لغو، یک مهاجرت باشد که وارد حالت post\-copy شده است، نمی‌توان آن را لغو کرد زیرا هیچ‌یک از میزبان‌های درگیر در مهاجرت وضعیت کاملی از domain را در اختیار ندارند. گزینه اختیاری \fI\-\-postcopy\fP می‌تواند برای متوقف کردن چنین مهاجرتی استفاده شود، اگرچه انجام این کار ممکن است domain را عملاً تا زمانی که مهاجرت از سر گرفته شود به حالت تعلیق درآورد (همچنین گزینه \fI\-\-postcopy\-resume\fP از دستور \fBmigrate\fP را ببینید). .SS domjobinfo .sp \fBنحو:\fP .INDENT 0.0 .INDENT 3.5 .sp .EX domjobinfo domain [\-\-completed [\-\-keep\-completed]] [\-\-anystats] [\-\-rawstats] .EE .UNINDENT .UNINDENT .sp اطلاعاتی درباره کارهای در حال اجرا روی یک domain بازمی‌گرداند. گزینه \fI\-\-completed\fP به virsh می‌گوید که اطلاعات مربوط به یک کار اخیراً پایان‌یافته را بازگرداند. آمار یک کار تکمیل‌شده به محض خوانده شدن (مگر اینکه از \fI\-\-keep\-completed\fP استفاده شود) یا هنگام راه‌اندازی مجدد libvirtd به طور خودکار پاک می‌شود. .sp به طور معمول تنها آمار مربوط به کارهای در حال اجرا و کارهای با موفقیت پایان‌یافته چاپ می‌شوند. از \fI\-\-anystats\fP می‌توان برای نمایش آمار کارهای ناموفق نیز استفاده کرد. .sp در صورتی که از \fI\-\-rawstats\fP استفاده شود، تمام فیلدها دقیقاً همان‌گونه که از سرور دریافت شده‌اند و بدون هیچ تلاشی برای تفسیر داده‌ها چاپ می‌شوند. فیلد \(dqJob type:\(dq ویژه است، زیرا توسط API گزارش می‌شود و بخشی از stats نیست. .sp توجه داشته باشید اطلاعات زمانی بازگردانده شده برای مهاجرت‌های تکمیل‌شده ممکن است کاملاً نامعتبر باشد، مگر اینکه زمان هر دو میزبان مبدا و مقصد همگام‌سازی شده باشد (یعنی دیمن NTP روی هر دوی آن‌ها در حال اجرا باشد). .SS domlaunchsecinfo .sp \fBنحو:\fP .INDENT 0.0 .INDENT 3.5 .sp .EX domlaunchsecinfo domain .EE .UNINDENT .UNINDENT .sp اطلاعاتی درباره پارامترهای امنیت راه‌اندازی (launch security) مرتبط با یک domain در حال اجرا بازمی‌گرداند. .sp مجموعه پارامترهای گزارش‌شده بسته به اینکه کدام نوع از حفاظت امنیت راه‌اندازی فعال است، متفاوت خواهد بود. اگر هیچ‌کدام فعال نباشد، هیچ پارامتری گزارش نخواهد شد. .SS domsetlaunchsecstate .sp \fBنحو:\fP .INDENT 0.0 .INDENT 3.5 .sp .EX domsetlaunchsecstate domain \-\-secrethdr hdr\-filename \-\-secret secret\-filename [\-\-set\-address address] .EE .UNINDENT .UNINDENT .sp یک راز امنیت راه‌اندازی (launch security secret) را در حافظه مهمان (guest) تنظیم می‌کند. مهمان باید نوع launchSecurity را در پیکربندی خود فعال کرده باشد و در حالت paused باشد. در صورت موفقیت، مهمان می‌تواند به حالت در حال اجرا (running) منتقل شود. در صورت شکست، مهمان باید نابود (destroy) شود. .sp گزینه \fI\-\-secrethdr\fP نام فایلی را مشخص می‌کند که شامل سرآیند راز کدگذاری‌شده با base64 است. این سرآیند شامل داده‌های مورد نیاز سفت‌افزار (firmware) هایپروایزر برای بازیابی متن آشکار راز راه‌اندازی است. گزینه \fI\-\-secret\fP نام فایلی را مشخص می‌کند که حاوی راز راه‌اندازی رمزگذاری‌شده با کدگذاری base64 است. .sp گزینه \fI\-\-set\-address\fP می‌تواند برای مشخص کردن یک آدرس فیزیکی درون حافظه مهمان جهت تنظیم راز استفاده شود. در صورت مشخص نشدن، آدرس توسط هایپروایزر تعیین خواهد شد..SS dommemstat .sp \fBنحو:\fP .INDENT 0.0 .INDENT 3.5 .sp .EX dommemstat domain [\-\-period seconds] [[\-\-config] [\-\-live] | [\-\-current]] .EE .UNINDENT .UNINDENT .sp دریافت آمارهای حافظه برای یک دامنهٔ در حال اجرا. .sp در دسترس بودن این فیلدها به هایپروایزر بستگی دارد. فیلدهای پشتیبانی‌نشده در خروجی نمایش داده نمی‌شوند. در صورت ارتباط با نسخه‌های جدیدتر libvirtd، ممکن است فیلدهای دیگری نیز ظاهر شوند. .sp توضیح فیلدها: .INDENT 0.0 .IP \(bu 2 \fBswap_in\fP \- مقدار داده‌های خوانده‌شده از فضای swap (بر حسب KiB) .IP \(bu 2 \fBswap_out\fP \- مقدار حافظهٔ نوشته‌شده روی فضای swap (بر حسب KiB) .IP \(bu 2 \fBmajor_fault\fP \- تعداد نقص‌های صفحه (page faults) که نیازمند I/O دیسک بوده‌اند .IP \(bu 2 \fBminor_fault\fP \- تعداد سایر نقص‌های صفحه .IP \(bu 2 \fBunused\fP \- مقدار حافظهٔ بدون استفاده مانده توسط سیستم (بر حسب KiB) .IP \(bu 2 \fBavailable\fP \- مقدار حافظهٔ قابل استفاده از دید دامنه (بر حسب KiB) .IP \(bu 2 \fBactual\fP \- مقدار فعلی balloon (بر حسب KiB) .IP \(bu 2 \fBrss\fP \- اندازهٔ مجموع مقیم (RSS) فرایندِ دامنهٔ در حال اجرا (بر حسب KiB) .IP \(bu 2 \fBusable\fP \- مقدار حافظه‌ای که می‌تواند توسط balloon بازیابی شود بدون اینکه باعث ایجاد swap در میزبان گردد (بر حسب KiB) .IP \(bu 2 \fBlast\-update\fP \- برچسب زمانی آخرین به‌روزرسانی آمارها (بر حسب ثانیه) .IP \(bu 2 \fBdisk_caches\fP \- مقدار حافظه‌ای که می‌تواند بدون I/O اضافی بازیابی شود، معمولاً حافظه‌های نهان دیسک (بر حسب KiB) .IP \(bu 2 \fBhugetlb_pgalloc\fP \- تعداد تخصیص‌های موفق huge page که از داخل دامنه آغاز شده‌اند .IP \(bu 2 \fBhugetlb_pgfail\fP \- تعداد تخصیص‌های ناموفق huge page که از داخل دامنه آغاز شده‌اند .UNINDENT .sp برای QEMU/KVM مجهز به balloon حافظه، تنظیم گزینهٔ اختیاری \fI\-\-period\fP روی مقداری بزرگ‌تر از ۰ (بر حسب ثانیه) به درایور balloon اجازه می‌دهد تا آمارهای بیشتری را برگرداند که با دستورهای بعدی \fBdommemstat\fP نمایش داده خواهند شد. تنظیم \fI\-\-period\fP روی ۰ جمع‌آوری اطلاعات درایور balloon را متوقف می‌کند، اما آمارهای موجود در آن را پاک نخواهد کرد. نیازمند اجرای حداقل نسخهٔ 1.5 از QEMU/KVM روی میزبان است. .sp پرچم‌های \fI\-\-live\fP، \fI\-\-config\fP و \fI\-\-current\fP تنها هنگام استفاده از گزینهٔ \fI\-\-period\fP جهت تنظیم دورهٔ جمع‌آوری برای درایور balloon معتبر هستند. اگر \fI\-\-live\fP مشخص شود، تنها دورهٔ جمع‌آوری مهمانِ در حال اجرا تحت تأثیر قرار می‌گیرد. اگر \fI\-\-config\fP مشخص شود، بر راه‌اندازی بعدی یک مهمان ماندگار (persistent) تأثیر می‌گذارد. اگر \fI\-\-current\fP مشخص شود، بسته به وضعیت فعلی مهمان، معادل \fI\-\-live\fP یا \fI\-\-config\fP خواهد بود. .sp می‌توان هر دو پرچم \fI\-\-live\fP و \fI\-\-config\fP را هم‌زمان ارائه داد، اما \fI\-\-current\fP مانعة‌الجمع (انحصاری) است. در صورتی که هیچ پرچمی مشخص نشود، رفتار بسته به وضعیت مهمان متفاوت خواهد بود. .SS domname .sp \fBنحو:\fP .INDENT 0.0 .INDENT 3.5 .sp .EX domname domain\-id\-or\-uuid .EE .UNINDENT .UNINDENT .sp تبدیل شناسهٔ دامنه (یا UUID) به نام دامنه.SS dompmsuspend .sp \fBنحو:\fP .INDENT 0.0 .INDENT 3.5 .sp .EX dompmsuspend domain target [\-\-duration] .EE .UNINDENT .UNINDENT .sp تعلیق یک دامنه در حال اجرا به یکی از این وضعیت‌ها (مقادیر ممکن برای \fItarget\fP): .INDENT 0.0 .IP \(bu 2 \fBmem\fP \- معادل وضعیت S3 ACPI .IP \(bu 2 \fBdisk\fP \- معادل وضعیت S4 ACPI .IP \(bu 2 \fBhybrid\fP \- حافظه RAM روی دیسک ذخیره می‌شود اما برق دستگاه قطع نمی‌شود .UNINDENT .sp آرگومان \fI\-\-duration\fP تعداد ثانیه‌هایی را مشخص می‌کند که دامنه پس از تعلیق، بیدار می‌شود (همچنین \fBdompmwakeup\fP را ببینید). مقدار پیش‌فرض 0 برای زمان تعلیق نامحدود است. (این ویژگی در حال حاضر توسط هیچ درایور هایپروایزری پشتیبانی نمی‌شود و باید از 0 استفاده شود). .sp توجه داشته باشید که این دستور نیازمند یک guest agent پیکربندی‌شده و در حال اجرا در سیستم‌عامل مهمان (guest OS) دامنه است. .sp توجه داشته باشید که دست‌کم برای QEMU، هنگامی که از هدف disk استفاده می‌شود، فرآیند دامنه خاتمه می‌یابد و زمانی که از libvirt درخواست بیدار کردن دامنه شود، فرآیند جدیدی راه‌اندازی خواهد شد. در نتیجه این امر، هرگونه تغییر در زمان اجرا، مانند اتصال گرم دستگاه (device hotplug) یا تنظیمات حافظه از بین می‌روند، مگر اینکه چنین تغییراتی با پرچم \fI\-\-config\fP اعمال شده باشند. .SS dompmwakeup .sp \fBنحو:\fP .INDENT 0.0 .INDENT 3.5 .sp .EX dompmwakeup domain .EE .UNINDENT .UNINDENT .sp بیدار کردن یک دامنه از وضعیت pmsuspended (خواه توسط dompmsuspend معلق شده باشد یا از درون خود مهمان). به‌جای انتظار برای سپری شدن مدت‌زمان درخواست‌شده قبلی (در صورت وجود)، رویداد بیدارباش را به مهمانی که در وضعیت pmsuspended است تزریق می‌کند. در صورتی که دامنه در حال اجرا باشد، این عملیات لزوماً با شکست مواجه نمی‌شود. .SS domrename .sp \fBنحو:\fP .INDENT 0.0 .INDENT 3.5 .sp .EX domrename domain new\-name .EE .UNINDENT .UNINDENT .sp تغییر نام یک دامنه. این دستور نام فعلی دامنه را به نام جدید مشخص‌شده در آرگومان دوم تغییر می‌دهد. .sp \fBتوجه\fP: دامنه باید غیرفعال باشد. .SS domstate .sp \fBنحو:\fP .INDENT 0.0 .INDENT 3.5 .sp .EX domstate domain [\-\-reason] .EE .UNINDENT .UNINDENT .sp وضعیت یک دامنه را بازمی‌گرداند. گزینه \fI\-\-reason\fP به virsh می‌گوید که دلیل وضعیت را نیز چاپ کند..SS domstats .sp \fBساختار دستور:\fP .INDENT 0.0 .INDENT 3.5 .sp .EX domstats [\-\-raw] [\-\-enforce] [\-\-backing] [\-\-nowait] [\-\-state] [\-\-cpu\-total] [\-\-balloon] [\-\-vcpu] [\-\-interface] [\-\-block] [\-\-perf] [\-\-iothread] [\-\-memory] [\-\-dirtyrate] [\-\-vm] [[\-\-list\-active] [\-\-list\-inactive] [\-\-list\-persistent] [\-\-list\-transient] [\-\-list\-running]y [\-\-list\-paused] [\-\-list\-shutoff] [\-\-list\-other]] | [domain ...] .EE .UNINDENT .UNINDENT .sp دریافت آمار برای چندین یا همهٔ دامنه‌ها. بدون هیچ آرگومانی، این دستور تمام آمارهای موجود را برای همهٔ دامنه‌ها چاپ می‌کند. .sp فهرست دامنه‌هایی که آمار آن‌ها گردآوری می‌شود را می‌توان یا با ذکر دامنه‌ها به‌صورت فهرستی جداشده با فاصله، یا با تعیین یکی از پرچم‌های پالایشی \fI\-\-list\-NNN\fP\& محدود کرد. (این دو روش را نمی‌توان ترکیب کرد.) .sp به‌طور پیش‌فرض ممکن است برخی از فیلدهای بازگردانده‌شده توسط مجموعه‌ای از زیباسازهای متنی به مقادیر خواناتر برای انسان تبدیل شوند. برای جلوگیری از این رفتار، از پرچم \fI\-\-raw\fP استفاده کنید. .sp گروه‌های آماری مجزا از طریق پرچم‌های خاص قابل انتخاب هستند. به‌طور پیش‌فرض همهٔ گروه‌های آماری پشتیبانی‌شده بازگردانده می‌شوند. پرچم‌های گروه‌های آماری پشتیبانی‌شده عبارتند از: \fI\-\-state\fP، \fI\-\-cpu\-total\fP، \fI\-\-balloon\fP، \fI\-\-vcpu\fP، \fI\-\-interface\fP، \fI\-\-block\fP، \fI\-\-perf\fP، \fI\-\-iothread\fP، \fI\-\-memory\fP، \fI\-\-dirtyrate\fP، \fI\-\-vm\fP\&. .sp توجه داشته باشید که \- بسته به نوع و نسخهٔ هایپروایزر یا وضعیت دامنه \- ممکن است همهٔ آمارهای زیر بازگردانده نشوند. .sp هنگام انتخاب گروه \fI\-\-state\fP فیلدهای زیر بازگردانده می‌شوند: .INDENT 0.0 .IP \(bu 2 \fBstate.state\fP \- وضعیت ماشین مجازی، بازگردانده‌شده به‌صورت عددی از شمارشگر virDomainState .IP \(bu 2 \fBstate.reason\fP \- دلیل ورود به وضعیت داده‌شده، بازگردانده‌شده به‌صورت int از شمارشگر virDomain*Reason متناظر با وضعیت داده‌شده .UNINDENT .sp \fI\-\-cpu\-total\fP موارد زیر را بازمی‌گرداند: .INDENT 0.0 .IP \(bu 2 \fBcpu.time\fP \- کل زمان پردازندهٔ صرف‌شده برای این دامنه به نانوثانیه .IP \(bu 2 \fBcpu.user\fP \- زمان پردازندهٔ کاربری صرف‌شده به نانوثانیه .IP \(bu 2 \fBcpu.system\fP \- زمان پردازندهٔ سیستمی صرف‌شده به نانوثانیه .IP \(bu 2 \fBcpu.haltpoll.success.time\fP \- زمان موفقیت نظرسنجی توقف پردازنده صرف‌شده به نانوثانیه .IP \(bu 2 \fBcpu.haltpoll.fail.time\fP \- زمان شکست نظرسنجی توقف پردازنده صرف‌شده به نانوثانیه .IP \(bu 2 \fBcpu.cache.monitor.count\fP \- تعداد پایشگرهای حافظهٔ نهان برای این دامنه .IP \(bu 2 \fBcpu.cache.monitor..name\fP \- نام پایشگر حافظهٔ نهان .IP \(bu 2 \fBcpu.cache.monitor..vcpus\fP \- فهرست vcpu برای پایشگر حافظهٔ نهان .IP \(bu 2 \fBcpu.cache.monitor..bank.count\fP \- تعداد بانک‌های حافظهٔ نهان در پایشگر حافظهٔ نهان .IP \(bu 2 \fBcpu.cache.monitor..bank..id\fP \- شناسهٔ حافظهٔ نهان تخصیص‌یافته توسط میزبان برای بانک در پایشگر حافظهٔ نهان .IP \(bu 2 \fBcpu.cache.monitor..bank..bytes\fP \- تعداد بایت‌های آخرین سطح حافظهٔ نهان که دامنه در بانک کش استفاده می‌کند .UNINDENT .sp \fI\-\-balloon\fP موارد زیر را بازمی‌گرداند: .INDENT 0.0 .IP \(bu 2 \fBballoon.current\fP \- حافظهٔ در حال حاضر استفاده‌شده به KiB .IP \(bu 2 \fBballoon.maximum\fP \- حداکثر حافظهٔ مجاز به KiB .IP \(bu 2 \fBballoon.swap_in\fP \- مقدار داده‌های خوانده‌شده از فضای swap (به KiB) .IP \(bu 2 \fBballoon.swap_out\fP \- مقدار حافظهٔ نوشته‌شده در فضای swap (به KiB) .IP \(bu 2 \fBballoon.major_fault\fP \- تعداد خطاهای عمدهٔ صفحه هنگامی که ورودی/خروجی دیسک لازم بوده است .IP \(bu 2 \fBballoon.minor_fault\fP \- تعداد سایر خطاهای جزئی صفحه .IP \(bu 2 \fBballoon.unused\fP \- مقدار حافظهٔ استفاده‌نشده توسط سیستم (به KiB) .IP \(bu 2 \fBballoon.available\fP \- مقدار حافظهٔ قابل استفاده از دیدگاه دامنه (به KiB) .IP \(bu 2 \fBballoon.rss\fP \- مقدار Resident Set Size فرایند دامنه‌ٔ در حال اجرا (به KiB) .IP \(bu 2 \fBballoon.usable\fP \- مقدار حافظه‌ای که می‌تواند توسط balloon بدون ایجاد swap در میزبان بازپس گرفته شود (به KiB) .IP \(bu 2 \fBballoon.last\-update\fP \- برچسب زمانی آخرین به‌روزرسانی آمارها (به ثانیه) .IP \(bu 2 \fBballoon.disk_caches\fP \- مقدار حافظه‌ای که می‌تواند بدون ورودی/خروجی اضافی بازپس گرفته شود، معمولاً کش دیسک (به KiB) .IP \(bu 2 \fBballoon.hugetlb_pgalloc\fP \- تعداد تخصیص‌های موفق صفحات بزرگ از داخل دامنه از طریق virtio balloon .IP \(bu 2 \fBballoon.hugetlb_pgfail\fP \- تعداد تخصیص‌های ناموفق صفحات بزرگ از داخل دامنه از طریق virtio balloon .UNINDENT .sp \fI\-\-vcpu\fP موارد زیر را بازمی‌گرداند: .INDENT 0.0 .IP \(bu 2 \fBvcpu.current\fP \- تعداد فعلی پردازنده‌های مجازی برخط .IP \(bu 2 \fBvcpu.maximum\fP \- حداکثر تعداد پردازنده‌های مجازی برخط .IP \(bu 2 \fBvcpu..state\fP \- وضعیت پردازندهٔ مجازی ، به‌صورت عددی از شمارشگر virVcpuState .IP \(bu 2 \fBvcpu..time\fP \- زمان پردازندهٔ مجازی صرف‌شده توسط پردازندهٔ مجازی (به نانوثانیه) .IP \(bu 2 \fBvcpu..wait\fP \- مدت زمانی که رشتهٔ vCPU در صف اجرا منتظر مانده است چرا که زمان‌بند مورد دیگری را جلوتر از آن اجرا می‌کرده (به نانوثانیه)، در لینوکس نیازمند CONFIG_SCHED_INFO است .IP \(bu 2 \fBvcpu..halted\fP \- پردازندهٔ مجازی متوقف است: yes یا no (بسته به معماری ممکن است نشان‌دهندهٔ بیکار بودن یا حتی غیرفعال بودن پردازنده باشد) .IP \(bu 2 \fBvcpu..delay\fP \- مدت زمانی که رشتهٔ vCPU در صف اجرا منتظر مانده است چرا که زمان‌بند مورد دیگری را جلوتر از آن اجرا می‌کرده (به نانوثانیه). به‌عنوان steal time به ماشین مجازی ارائه می‌شود. .UNINDENT .sp این گروه از آمارها همچنین آمارهای تکمیلی بر پایهٔ هر vCPU نشأت‌گرفته از هایپروایزر را گزارش می‌دهد. آمارهای مختص هایپروایزر در این گروه از الگوی نام‌گذاری زیر پیروی می‌کنند: .INDENT 0.0 .INDENT 3.5 \fBvcpu..$NAME.$TYPE\fP .INDENT 0.0 .TP .B \fB$NAME\fP نام فیلد آماری ارائه‌شده توسط هایپروایزر .TP .B \fB$TYPE\fP نوع مقدار. انواع زیر بازگردانده می‌شوند: .INDENT 7.0 .TP .B \fBcur\fP مقدار لحظه‌ای فعلی .TP .B \fBsum\fP مقدار تجمیعی .TP .B \fBmax\fP مقدار اوج .UNINDENT .UNINDENT .sp مقدار بازگردانده‌شده ممکن است یک unsigned long long یا یک مقدار boolean باشد. مفهوم آن مختص هایپروایزر است. لطفاً بخش سلب مسئولیت مربوط به گروه \fI\-\-vm\fP را که آن هم شامل آمارهای مختص هایپروایزر است بررسی کنید. .UNINDENT .UNINDENT .sp \fI\-\-interface\fP موارد زیر را بازمی‌گرداند: .INDENT 0.0.IP \(bu 2 \fBnet.count\fP \- تعداد رابط‌های شبکه در این دامنه .IP \(bu 2 \fBnet..name\fP \- نام رابط .IP \(bu 2 \fBnet..rx.bytes\fP \- تعداد بایت‌های دریافت‌شده .IP \(bu 2 \fBnet..rx.pkts\fP \- تعداد بسته‌های دریافت‌شده .IP \(bu 2 \fBnet..rx.errs\fP \- تعداد خطاهای دریافت .IP \(bu 2 \fBnet..rx.drop\fP \- تعداد بسته‌های دریافتی دور انداخته‌شده .IP \(bu 2 \fBnet..tx.bytes\fP \- تعداد بایت‌های ارسال‌شده .IP \(bu 2 \fBnet..tx.pkts\fP \- تعداد بسته‌های ارسال‌شده .IP \(bu 2 \fBnet..tx.errs\fP \- تعداد خطاهای ارسال .IP \(bu 2 \fBnet..tx.drop\fP \- تعداد بسته‌های ارسالی دور انداخته‌شده .UNINDENT .sp گزینهٔ \fI\-\-perf\fP آمار تمام رویدادهای perf فعال‌شده را بازمی‌گرداند: .INDENT 0.0 .IP \(bu 2 \fBperf.cmt\fP \- میزان حافظهٔ نهانِ استفاده‌شده در حال حاضر به بایت .IP \(bu 2 \fBperf.mbmt\fP \- پهنای باند کل سیستم از یک سطح حافظهٔ نهان .IP \(bu 2 \fBperf.mbml\fP \- پهنای باند ترافیک حافظه برای یک کنترل‌کنندهٔ حافظه .IP \(bu 2 \fBperf.cpu_cycles\fP \- تعداد چرخه‌های cpu (کل/سپری‌شده) .IP \(bu 2 \fBperf.instructions\fP \- تعداد دستورالعمل‌ها .IP \(bu 2 \fBperf.cache_references\fP \- تعداد مراجعات به حافظهٔ نهان (cache hits) .IP \(bu 2 \fBperf.cache_misses\fP \- تعداد عدم دسترسی‌ها به حافظهٔ نهان (cache misses) .IP \(bu 2 \fBperf.branch_instructions\fP \- تعداد دستورالعمل‌های انشعاب (branch) .IP \(bu 2 \fBperf.branch_misses\fP \- تعداد خطاهای پیش‌بینی انشعاب (branch misses) .IP \(bu 2 \fBperf.bus_cycles\fP \- تعداد چرخه‌های گذرگاه (bus) .IP \(bu 2 \fBperf.stalled_cycles_frontend\fP \- تعداد چرخه‌های متوقف‌شدهٔ بخش جلویی (frontend) پردازنده .IP \(bu 2 \fBperf.stalled_cycles_backend\fP \- تعداد چرخه‌های متوقف‌شدهٔ بخش عقبی (backend) پردازنده .IP \(bu 2 \fBperf.ref_cpu_cycles\fP \- تعداد چرخه‌های مرجع cpu .IP \(bu 2 \fBperf.cpu_clock\fP \- زمان ساعت cpu .IP \(bu 2 \fBperf.task_clock\fP \- زمان ساعت وظیفه (task clock) .IP \(bu 2 \fBperf.page_faults\fP \- تعداد خطاهای صفحه (page faults) .IP \(bu 2 \fBperf.context_switches\fP \- تعداد تعویض‌های زمینه (context switches) .IP \(bu 2 \fBperf.cpu_migrations\fP \- تعداد مهاجرت‌های cpu .IP \(bu 2 \fBperf.page_faults_min\fP \- تعداد خطاهای جزئی صفحه (minor page faults) .IP \(bu 2 \fBperf.page_faults_maj\fP \- تعداد خطاهای عمدهٔ صفحه (major page faults) .IP \(bu 2 \fBperf.alignment_faults\fP \- تعداد خطاهای هم‌ترازی (alignment faults) .IP \(bu 2 \fBperf.emulation_faults\fP \- تعداد خطاهای شبیه‌سازی (emulation faults) .UNINDENT .sp برای جزئیات بیشتر دربارهٔ هر رویداد، دستور \fBperf\fP را ببینید. .sp گزینهٔ \fI\-\-block\fP اطلاعات دیسک‌های مرتبط با هر دامنه را بازمی‌گرداند. استفاده از پرچم \fI\-\-backing\fP این اطلاعات را گسترش می‌دهد تا تمام منابع موجود در زنجیرهٔ پشتیبان (backing chain) را پوشش دهد، به جای حالت پیش‌فرض که اطلاعات را به لایهٔ فعال هر دیسک مهمان محدود می‌کند. اطلاعات فهرست‌شده عبارتند از: .INDENT 0.0 .IP \(bu 2 \fBblock.count\fP \- تعداد دستگاه‌های بلوکی فهرست‌شده .IP \(bu 2 \fBblock..name\fP \- نام هدف دستگاه بلوکی (در صورت حضور \fI\-\-backing\fP برای چندین مدخل نام یکسانی خواهد بود) .IP \(bu 2 \fBblock..backingIndex\fP \- هنگام حضور \fI\-\-backing\fP، با نمایهٔ فهرست‌شده در XML دامنه برای فایل‌های پشتیبان مطابقت دارد .IP \(bu 2 \fBblock..path\fP \- منبع فایلیِ دستگاه بلوکی ، در صورتی که یک فایل محلی یا دستگاه بلوکی باشد .IP \(bu 2 \fBblock..rd.reqs\fP \- تعداد درخواست‌های خواندن .IP \(bu 2 \fBblock..rd.bytes\fP \- تعداد بایت‌های خوانده‌شده .IP \(bu 2 \fBblock..rd.times\fP \- زمان کل (نانوثانیه) صرف‌شده برای خواندن .IP \(bu 2 \fBblock..wr.reqs\fP \- تعداد درخواست‌های نوشتن .IP \(bu 2 \fBblock..wr.bytes\fP \- تعداد بایت‌های نوشته‌شده .IP \(bu 2 \fBblock..wr.times\fP \- زمان کل (نانوثانیه) صرف‌شده برای نوشتن .IP \(bu 2 \fBblock..fl.reqs\fP \- تعداد کل درخواست‌های تخلیهٔ بافر (flush) .IP \(bu 2 \fBblock..fl.times\fP \- زمان کل (نانوثانیه) صرف‌شده برای تخلیهٔ حافظهٔ نهان .IP \(bu 2 \fBblock..errors\fP \- فقط در Xen: مقدار \(aqoo_req\(aq .IP \(bu 2 \fBblock..allocation\fP \- انحراف بالاترین بخش (sector) نوشته‌شده به بایت .IP \(bu 2 \fBblock..capacity\fP \- اندازهٔ منطقی فایل مبدأ به بایت .IP \(bu 2 \fBblock..physical\fP \- اندازهٔ فیزیکی فایل مبدأ به بایت .IP \(bu 2 \fBblock..threshold\fP \- مقدار آستانه (به بایت) برای ارسال رویداد VIR_DOMAIN_EVENT_ID_BLOCK_THRESHOLD. به domblkthreshold مراجعه کنید. .IP \(bu 2 \fBblock..limits.request_alignment\fP \- الزام هم‌ترازی برای درخواست‌ها به بایت .IP \(bu 2 \fBblock..limits.discard_max\fP \- حداکثر تعداد بایت‌هایی که می‌توانند در یک مرحله نادیده گرفته شوند (discard) .IP \(bu 2 \fBblock..limits.discard_alignment\fP \- هم‌ترازی بهینه برای درخواست‌های discard به بایت .IP \(bu 2 \fBblock..limits.write_zeroes_max\fP \- حداکثر تعداد بایت‌هایی که می‌توانند در یک مرحله صفر شوند .IP \(bu 2 \fBblock..limits.write_zeroes_alignment\fP \- هم‌ترازی بهینه برای درخواست‌های write_zeroes به بایت .IP \(bu 2 \fBblock..limits.transfer_optimal\fP \- طول انتقال بهینه به بایت .IP \(bu 2 \fBblock..limits.transfer_max\fP \- حداکثر طول انتقال به بایت .IP \(bu 2 \fBblock..limits.transfer_hw_max\fP \- حداکثر طول انتقال سخت‌افزاری به بایت برای درخواست‌هایی که زمان‌بند IO هسته را دور می‌زنند .IP \(bu 2 \fBblock..limits.iov_max\fP \- حداکثر تعداد عناصر scatter/gather .IP \(bu 2 \fBblock..limits.iov_hw_max\fP \- حداکثر تعداد عناصر scatter/gather برای درخواست‌هایی که زمان‌بند IO هسته را دور می‌زنند .IP \(bu 2 \fBblock..limits.memory_alignment_minimal\fP \- هم‌ترازی حافظه به بایت به‌گونه‌ای که نیازی به میانگیر جهشی (bounce buffer) نباشد .IP \(bu 2 \fBblock..limits.memory_alignment_optimal\fP \- هم‌ترازی بهینهٔ حافظه به بایت که برای میانگیرهای جهشی استفاده می‌شود .IP \(bu 2 \fBblock..timed_group.count\fP \- تعداد بلوک‌های آمار گروه زمان‌بندی‌شده .IP \(bu 2 \fBblock..timed_group..interval_length\fP \- بازهٔ زمانی برحسب ثانیه که آمار این گروه در طول آن گردآوری شده است. .IP \(bu 2 \fBblock..timed_group..rd_latency_min\fP \- حداقل تأخیر عملیات خواندن در بازهٔ تعیین‌شده برحسب نانوثانیه .IP \(bu 2 \fBblock..timed_group..rd_latency_max\fP \- حداکثر تأخیر عملیات خواندن در بازهٔ تعیین‌شده برحسب نانوثانیه .IP \(bu 2 \fBblock..timed_group..rd_latency_avg\fP \- میانگین تأخیر عملیات خواندن در بازهٔ تعیین‌شده برحسب نانوثانیه .IP \(bu 2 \fBblock..timed_group..wr_latency_min\fP \- حداقل تأخیر عملیات نوشتن در بازهٔ تعیین‌شده برحسب نانوثانیه .IP \(bu 2 \fBblock..timed_group..wr_latency_max\fP \- حداکثر تأخیر عملیات نوشتن در بازهٔ تعیین‌شده برحسب نانوثانیه .IP \(bu 2 \fBblock..timed_group..wr_latency_avg\fP \- میانگین تأخیر عملیات نوشتن در بازهٔ تعیین‌شده برحسب نانوثانیه .IP \(bu 2 \fBblock..timed_group..zone_append_latency_min\fP \- حداقل تأخیر عملیات zone append در بازهٔ تعیین‌شده برحسب نانوثانیه .IP \(bu 2 \fBblock..timed_group..zone_append_latency_max\fP \- حداکثر تأخیر عملیات zone append در بازهٔ تعیین‌شده برحسب نانوثانیه.IP \(bu 2 \fBblock..timed_group..zone_append_latency_avg\fP \- میانگین تاخیر عملیات zone append در بازه زمانی تعیین‌شده بر حسب نانوثانیه .IP \(bu 2 \fBblock..timed_group..flush_latency_min\fP \- کمینه تاخیر عملیات flush در بازه زمانی تعیین‌شده بر حسب نانوثانیه .IP \(bu 2 \fBblock..timed_group..flush_latency_max\fP \- بیشینه تاخیر عملیات flush در بازه زمانی تعیین‌شده بر حسب نانوثانیه .IP \(bu 2 \fBblock..timed_group..flush_latency_avg\fP \- میانگین تاخیر عملیات flush در بازه زمانی تعیین‌شده بر حسب نانوثانیه .IP \(bu 2 \fBblock..timed_group..rd_queue_depth_avg\fP \- میانگین تعداد عملیات خواندن معلق در بازه زمانی تعیین‌شده .IP \(bu 2 \fBblock..timed_group..wr_queue_depth_avg\fP \- میانگین تعداد عملیات نوشتن معلق در بازه زمانی تعیین‌شده .IP \(bu 2 \fBblock..timed_group..zone_append_queue_depth_avg\fP \- میانگین تعداد عملیات zone append معلق در بازه زمانی تعیین‌شده .IP \(bu 2 \fBblock..latency_histogram..bin.count\fP \- تعداد ستون‌ها (bins) در هیستوگرام تاخیر. مقدار یکی از مقادیر \fBread\fP، \fBwrite\fP، \fBzone_append\fP یا \fBflush\fP است .IP \(bu 2 \fBblock..latency_histogram..bin..start\fP مرز شروع یک ستون (bin) هیستوگرام تاخیر بر حسب نانوثانیه برای مدت‌زمان عملیات داده‌شده .IP \(bu 2 \fBblock..latency_histogram..bin..value\fP تعداد فعلی رویدادهای مربوط به ستون و نوع داده‌شده .UNINDENT .sp گزینه \fI\-\-iothread\fP در صورت پشتیبانی توسط hypervisor، اطلاعاتی را درباره IOThreads در مهمان در حال اجرا برمی‌گرداند. .sp مقدار \(dqpoll\-max\-ns\(dq برای هر رشته، بیشینه نانوثانیه‌های مجاز برای رخ دادن هر بازه polling است. بازه polling دوره‌ای زمانی است که به یک رشته داده می‌شود تا پیش از پس دادن سهم پردازنده (CPU quantum) مهمان به میزبان، به پردازش داده بپردازد. مقداری که بیش از حد کوچک تنظیم شود، به IOThread اجازه نخواهد داد تا برای پردازش داده‌ها به مدت کافی روی CPU اجرا شود. مقداری که بیش از حد بزرگ تنظیم شود، زمان زیادی از CPU را به ازای هر IOThread مصرف می‌کند و مانع از اختصاص زمان به سایر رشته‌های در حال اجرا روی CPU می‌شود. بازه polling برای اهداف آماری در دسترس نیست. .INDENT 0.0 .IP \(bu 2 .INDENT 2.0 .TP .B \fBiothread.count\fP \- بیشینه تعداد IOThreads در فهرست متعاقب به‌صورت unsigned int. هر IOThread در فهرست از مقدار iothread_id خود به عنوان استفاده خواهد کرد. در صورتی که مقادیر polling پشتیبانی نشوند، ممکن است مدخل‌های کمتری نسبت به مقدار iothread.count وجود داشته باشد. .UNINDENT .IP \(bu 2 \fBiothread..poll\-max\-ns\fP \- بیشینه زمان polling بر حسب نانوثانیه که توسط IOThread با شناسه استفاده می‌شود. مقدار 0 (صفر) نشان‌دهنده غیرفعال بودن polling است. .IP \(bu 2 \fBiothread..poll\-grow\fP \- مقدار افزایش زمان polling. مقدار 0 (صفر) نشان می‌دهد که رشد توسط hypervisor مدیریت می‌شود. .IP \(bu 2 \fBiothread..poll\-shrink\fP \- مقدار کاهش زمان polling. مقدار 0 (صفر) نشان می‌دهد که کاهش توسط hypervisor مدیریت می‌شود. .IP \(bu 2 \fBiothread..poll\-weight\fP \- مقدار تغییر وزن polling. مقدار 0 (صفر) نشان می‌دهد که از وزن پیش‌فرض hypervisor استفاده می‌شود. .UNINDENT .sp گزینه \fI\-\-memory\fP موارد زیر را برمی‌گرداند: .INDENT 0.0 .IP \(bu 2 \fBmemory.bandwidth.monitor.count\fP \- تعداد پایشگرهای پهنای باند حافظه برای این دامنه .IP \(bu 2 \fBmemory.bandwidth.monitor..name\fP \- نام پایشگر .IP \(bu 2 \fBmemory.bandwidth.monitor..vcpus\fP \- فهرست vcpuهای پایشگر .IP \(bu 2 .INDENT 2.0 .TP .B \fBmemory.bandwidth.monitor..node.count\fP \- تعداد کنترل‌کننده‌های حافظه در پایشگر .UNINDENT .IP \(bu 2 \fBmemory.bandwidth.monitor..node..id\fP \- شناسه کنترل‌کننده حافظه تخصیص‌یافته توسط میزبان برای کنترل‌کننده از پایشگر .IP \(bu 2 \fBmemory.bandwidth.monitor..node..bytes.local\fP \- بایت‌های تجمیعی مصرف‌شده توسط @vcpus که از کنترل‌کننده حافظه در همان پردازنده‌ای عبور می‌کند که CPU زمان‌بندی‌شده میزبان به آن تعلق دارد. .IP \(bu 2 \fBmemory.bandwidth.monitor..node..bytes.total\fP \- کل بایت‌های مصرف‌شده توسط @vcpus که از تمام کنترل‌کننده‌های حافظه، اعم از کنترل‌کننده محلی یا دوردست عبور می‌کند. .UNINDENT .sp گزینه \fI\-\-dirtyrate\fP موارد زیر را برمی‌گرداند: .INDENT 0.0 .IP \(bu 2 \fBdirtyrate.calc_status\fP \- وضعیت آخرین محاسبه نرخ کثیف شدن حافظه، برگردانده‌شده به‌صورت عددی از نوع شمارشی virDomainDirtyRateStatus. .IP \(bu 2 \fBdirtyrate.calc_start_time\fP \- زمان شروع آخرین محاسبه نرخ کثیف شدن حافظه. .IP \(bu 2 \fBdirtyrate.calc_period\fP \- دوره زمانی آخرین محاسبه نرخ کثیف شدن حافظه. .IP \(bu 2 \fBdirtyrate.megabytes_per_second\fP \- نرخ کثیف شدن محاسبه‌شده حافظه بر حسب MiB/s. .IP \(bu 2 \fBdirtyrate.calc_mode\fP \- حالت محاسبه استفاده‌شده در آخرین اندازه‌گیری (\fBpage\-sampling\fP/\fBdirty\-bitmap\fP/\fBdirty\-ring\fP) .IP \(bu 2 \fBdirtyrate.vcpu..megabytes_per_second\fP \- نرخ کثیف شدن محاسبه‌شده حافظه برای یک پردازنده مجازی بر حسب MiB/s .UNINDENT .sp گزینه \fI\-\-vm\fP موارد زیر را برمی‌گرداند: .sp گزینه \fI\-\-vm\fP گزارش‌گیری از آمارهای مختص hypervisor را فعال می‌کند. نام‌گذاری و مفهوم فیلدها کاملاً وابسته به hypervisor است. .sp آمارهای این گروه از الگوی نام‌گذاری زیر پیروی می‌کنند: .INDENT 0.0 .INDENT 3.5 \fBvm.$NAME.$TYPE\fP .INDENT 0.0 .TP .B \fB$NAME\fP نام فیلد آماری ارائه‌شده توسط hypervisor .TP .B \fB$TYPE\fP نوع مقدار. انواع زیر برگردانده می‌شوند: .INDENT 7.0 .TP .B \fBcur\fP مقدار لحظه‌ای فعلی .TP .B \fBsum\fP مقدار مجموع (تجمیعی) .TP .B \fBmax\fP مقدار اوج (بیشینه) .UNINDENT .UNINDENT .sp مقدار برگردانده‌شده ممکن است یک unsigned long long یا boolean باشد. .sp \fBهشدار\fP: آمارهای گزارش‌شده در این گروه در زمان اجرا جمع‌آوری شده و منشأ آن‌ها hypervisor است، بنابراین خارج از سیاست‌های معمول پایداری API در libvirt قرار می‌گیرند. .sp ‏libvirt نمی‌تواند تضمین کند که آمارهای گزارش‌شده از منبع خارجی در نسخه‌های بعدی hypervisor نیز حضور داشته باشند، یا نام‌گذاری و معانی آن‌ها سازگار بماند. با این حال، انتظار می‌رود تغییرات در فیلدهای موجود نادر باشد. .UNINDENT .UNINDENT .sp انتخاب یک گروه آماری خاص تضمین نمی‌کند که دیمن از گروه آماری انتخاب‌شده پشتیبانی کند. پرچم \fI\-\-enforce\fP در صورتی که دیمن از گروه انتخاب‌شده پشتیبانی نکند، دستور را وادار به شکست می‌کند. .sp هنگام جمع‌آوری آمار، در صورتی که کار دیگری از قبل روی دامنه مشخص‌شده در حال اجرا باشد، ممکن است libvirtd مدتی منتظر پایان آن بماند. این امر ممکن است باعث تاخیر غیرضروری در ارائه آمار شود. استفاده از \fI\-\-nowait\fP این رفتار را متوقف می‌کند. از سوی دیگر، ممکن است برخی آمارها برای چنین دامنه‌ای ناموجود باشند..SS domtime .sp \fBنحو:\fP .INDENT 0.0 .INDENT 3.5 .sp .EX domtime domain { [\-\-now] [\-\-pretty] [\-\-sync] [\-\-time time] } .EE .UNINDENT .UNINDENT .sp زمان سیستم دامنه را دریافت یا تنظیم می‌کند. در صورت اجرا بدون هیچ آرگومانی (به جز \fIdomain\fP)، زمان فعلی سیستم دامنه چاپ می‌شود. از اصلاح‌کنندهٔ \fI\-\-pretty\fP می‌توان برای چاپ زمان در قالبی خواناتر برای انسان استفاده کرد. .sp هنگامی که \fI\-\-time\fP \fBtime\fP مشخص شده باشد، زمان دامنه دریافت نمی‌شود بلکه تنظیم می‌گردد. اصلاح‌کنندهٔ \fI\-\-now\fP مانند نام مستعاری برای \fI\-\-time\fP \fB$now\fP عمل می‌کند، به این معنی که زمان را برابر با زمان فعلی میزبانی که virsh روی آن در حال اجرا است تنظیم می‌کند. در هر دو حالت (تنظیم و دریافت)، زمان بر حسب ثانیه نسبت به Epoch در تاریخ 1970\-01\-01 در UTC است. گزینهٔ \fI\-\-sync\fP رفتار تنظیم را اندکی تغییر می‌دهد: زمان ارسال‌شده نادیده گرفته می‌شود، اما زمان تنظیم از RTC دامنه خوانده می‌شود. لطفاً توجه داشته باشید که برخی از هایپروایزرها ممکن است برای دریافت یا تنظیم زمان مهمان، نیازمند پیکربندی guest agent باشند. .SS domuuid .sp \fBنحو:\fP .INDENT 0.0 .INDENT 3.5 .sp .EX domuuid domain\-name\-or\-id .EE .UNINDENT .UNINDENT .sp تبدیل یک نام یا شناسهٔ دامنه به UUID دامنه. .SS domxml\-from\-native .sp \fBنحو:\fP .INDENT 0.0 .INDENT 3.5 .sp .EX domxml\-from\-native format config .EE .UNINDENT .UNINDENT .sp تبدیل فایل \fIconfig\fP در قالب پیکربندی بومی مهمان با نام \fIformat\fP به قالب XML دامنه. برای هایپروایزر QEMU/KVM، آرگومان \fIformat\fP باید \fBqemu\-argv\fP\& باشد. برای هایپروایزر Xen، آرگومان \fIformat\fP می‌تواند \fBxen\-xm\fP، \fBxen\-xl\fP یا \fBxen\-sxpr\fP\& باشد. برای هایپروایزر LXC، آرگومان \fIformat\fP باید \fBlxc\-tools\fP\& باشد. برای هایپروایزر VMware/ESX، آرگومان \fIformat\fP باید \fBvmware\-vmx\fP\& باشد. برای هایپروایزر Bhyve، آرگومان \fIformat\fP باید \fBbhyve\-argv\fP\& باشد. .SS domxml\-to\-native .sp \fBنحو:\fP .INDENT 0.0 .INDENT 3.5 .sp .EX domxml\-to\-native format { [\-\-xml] xml | \-\-domain domain\-name\-or\-id\-or\-uuid } .EE .UNINDENT .UNINDENT .sp تبدیل فایل \fIxml\fP به قالب XML دامنه یا تبدیل یک \fI\-\-domain\fP موجود به قالب پیکربندی بومی مهمان با نام \fIformat\fP\&. آرگومان‌های \fIxml\fP و \fI\-\-domain\fP مانعة‌الجمع هستند. برای اطلاع از انواع آرگومان \fIformat\fP، به \fBdomxml\-from\-native\fP مراجعه کنید. .SS dump .sp \fBنحو:\fP .INDENT 0.0 .INDENT 3.5 .sp .EX dump domain corefilepath [\-\-bypass\-cache] { [\-\-live] | [\-\-crash] | [\-\-reset] } [\-\-verbose] [\-\-memory\-only] [\-\-format string] .EE .UNINDENT .UNINDENT .sp تخلیه هسته (core dump) یک دامنه در یک فایل برای تجزیه و تحلیل. اگر \fI\-\-live\fP مشخص شده باشد، دامنه به جای اینکه از همان ابتدا متوقف شود، تا زمان تکمیل تخلیه به اجرای خود ادامه می‌دهد. اگر \fI\-\-crash\fP مشخص شده باشد، دامنه به جای اینکه تنها در وضعیت مکث باقی بماند، با وضعیت ازکارافتاده (crashed) متوقف می‌شود. اگر \fI\-\-reset\fP مشخص شده باشد، دامنه پس از تخلیهٔ موفقیت‌آمیز بازنشانی می‌شود. توجه داشته باشید که این سه سوئیچ مانعة‌الجمع هستند. اگر \fI\-\-bypass\-cache\fP مشخص شده باشد، ذخیره‌سازی از حافظهٔ پنهان سیستم‌فایل صرف‌نظر می‌کند، اگرچه این کار ممکن است سرعت عملیات را کاهش دهد. اگر \fI\-\-memory\-only\fP مشخص شده باشد، فایل خروجی یک فایل elf خواهد بود و تنها شامل حافظه دامنه و مقادیر ثبات‌های عمومی cpu می‌شود. این گزینه در صورتی که دامنه مستقیماً از دستگاه‌های میزبان استفاده کند بسیار مفید است. \fI\-\-format\fP \fIstring\fP برای تعیین قالب تخلیه \(aqmemory\-only\(aq به کار می‌رود و \fIstring\fP می‌تواند یکی از این موارد باشد: elf، kdump\-zlib (قالب فشرده‌شده kdump با فشرده‌سازی zlib)، kdump\-lzo (قالب فشرده‌شده kdump با فشرده‌سازی lzo)، kdump\-snappy (قالب فشرده‌شده kdump با فشرده‌سازی snappy)، win\-dmp (قالب crashdump کامل ویندوز). .sp پیشرفت عملیات را می‌توان با استفاده از دستور virsh به نام \fBdomjobinfo\fP پایش کرد و با دستور \fBdomjobabort\fP (ارسال‌شده از یک نمونهٔ دیگر virsh) لغو نمود. راهکار دیگر ارسال سیگنال SIGINT (معمولاً با \fBCtrl\-C\fP) به فرایند virsh در حال اجرای دستور \fBdump\fP است. گزینهٔ \fI\-\-verbose\fP میزان پیشرفت تخلیه را نمایش می‌دهد. .sp نکته: برخی از هایپروایزرها ممکن است از کاربر بخواهند که مجوزهای لازم روی فایل و مسیر مشخص‌شده توسط آرگومان \fIcorefilepath\fP\& را به صورت دستی بررسی و تضمین کند. .sp نکته: پرونده تخلیه خرابی (Crash dump) در قالب قدیمی kvmdump منسوخ شده است و از نسخه 6.1.0 به بعد نمی‌تواند توسط ابزار crash بارگذاری و پردازش شود. گزینهٔ \-\-memory\-only برای تولید فایل ELF معتبر که بعداً توسط ابزار crash قابل پردازش باشد الزامی است..SS dumpxml .sp \fBنحو:\fP .INDENT 0.0 .INDENT 3.5 .sp .EX dumpxml [\-\-inactive] [\-\-security\-info] [\-\-update\-cpu] [\-\-migratable] [\-\-xpath EXPRESSION] [\-\-wrap] domain .EE .UNINDENT .UNINDENT .sp اطلاعات دامنه را به صورت یک دامپ XML در خروجی استاندارد (stdout) نمایش می‌دهد؛ از این قالب می‌توان برای دستور \fBcreate\fP استفاده کرد. گزینه‌های دیگری نیز که بر دامپ XML اثر می‌گذارند می‌توانند استفاده شوند. گزینه \fI\-\-inactive\fP به virsh دستور می‌دهد که بر خلاف پیکربندی فعلی دامنه، پیکربندی‌ای را استخراج کند که در راه‌اندازی بعدی دامنه استفاده خواهد شد. با استفاده از \fI\-\-security\-info\fP، اطلاعات حساس امنیتی نیز در خروجی XML گنجانده می‌شوند. \fI\-\-update\-cpu\fP نیازمندی‌های پردازنده دامنه را بر اساس پردازنده میزبان به‌روزرسانی می‌کند. با \fI\-\-migratable\fP می‌توان یک XML مناسب برای مهاجرت درخواست کرد، به این معنی که با نگارش‌های قدیمی‌تر libvirt سازگار بوده و احتمالاً با گزینه‌های داخلی زمان اجرا اصلاح شده است. این گزینه ممکن است در صورت نیاز به طور خودکار گزینه‌های دیگر (\fI\-\-update\-cpu\fP، \fI\-\-security\-info\fP و ...) را فعال کند. .sp اگر آرگومان \fB\-\-xpath\fP یک عبارت XPath ارائه دهد، آن عبارت روی XML خروجی ارزیابی می‌شود و فقط گره‌های منطبق چاپ خواهند شد. رفتار پیش‌فرض این است که هر گره منطبق به عنوان یک سند مجزا چاپ شود، اما برای سهولت پردازش‌های بیشتر، آرگومان \fB\-\-wrap\fP باعث می‌شود گره‌های منطبق درون یک گره ریشه مشترک احاطه شوند. .SS edit .sp \fBنحو:\fP .INDENT 0.0 .INDENT 3.5 .sp .EX edit domain .EE .UNINDENT .UNINDENT .sp فایل پیکربندی XML یک دامنه را ویرایش می‌کند، که بر راه‌اندازی بعدی مهمان اثر خواهد گذاشت. .sp این دستور معادل است با: .INDENT 0.0 .INDENT 3.5 .sp .EX virsh dumpxml \-\-inactive \-\-security\-info domain > domain.xml vi domain.xml (or make changes with your other text editor) virsh define domain.xml .EE .UNINDENT .UNINDENT .sp با این تفاوت که برخی بررسی‌های خطا را نیز انجام می‌دهد. .sp ویرایشگر مورد استفاده می‌تواند از طریق متغیرهای محیطی \fB$VISUAL\fP یا \fB$EDITOR\fP مشخص شود و به صورت پیش‌فرض \fBvi\fP است. .SS emulatorpin .sp \fBنحو:\fP .INDENT 0.0 .INDENT 3.5 .sp .EX emulatorpin domain [cpulist] [[\-\-live] [\-\-config] | [\-\-current]] .EE .UNINDENT .UNINDENT .sp پرس‌وجو یا تغییر وضعیت سنجاق‌کردن نخ‌های شبیه‌ساز دامنه به پردازنده‌های فیزیکی میزبان. .sp برای \fIcpulist\fP به \fBvcpupin\fP مراجعه کنید. .sp اگر \fI\-\-live\fP مشخص شده باشد، بر یک مهمان در حال اجرا اعمال می‌شود. اگر \fI\-\-config\fP مشخص شده باشد، بر راه‌اندازی بعدی یک مهمان ماندگار اثر می‌گذارد. اگر \fI\-\-current\fP مشخص شده باشد، بسته به وضعیت فعلی مهمان، معادل \fI\-\-live\fP یا \fI\-\-config\fP خواهد بود. در صورتی که \fIcpulist\fP ارائه شده باشد، هر دو پرچم \fI\-\-live\fP و \fI\-\-config\fP می‌توانند داده شوند، اما پرچم \fI\-\-current\fP انحصاری و مانعة‌الجمع است. اگر هیچ پرچمی مشخص نشود، رفتار بسته به هایپروایزر متفاوت خواهد بود..SS event .sp \fBنحو:\fP .INDENT 0.0 .INDENT 3.5 .sp .EX event {[domain] { event | \-\-all } [\-\-loop] [\-\-timeout seconds] [\-\-timestamp] | \-\-list} .EE .UNINDENT .UNINDENT .sp برای وقوع دسته‌ای از رویدادهای دامنه منتظر می‌ماند و جزئیات مناسب رویدادها را هنگام رخ دادن آن‌ها چاپ می‌کند. رویدادها را می‌توان به‌طور اختیاری بر اساس \fIdomain\fP فیلتر کرد. استفاده از \fI\-\-list\fP به‌عنوان تنها آرگومان، فهرستی از مقادیر ممکن \fIevent\fP را که توسط این کلاینت شناخته شده است ارائه می‌دهد، اگرچه ممکن است اتصال اجازه ثبت‌نام برای همه این رویدادها را ندهد. همچنین می‌توان به جای \fIevent\fP از \fI\-\-all\fP استفاده کرد تا به‌طور هم‌زمان برای همه انواع رویداد ممکن ثبت‌نام شود. .sp به‌طور پیش‌فرض، این دستور یک‌باره (one\-shot) است و به محض وقوع یک رویداد، وضعیت موفقیت را برمی‌گرداند؛ می‌توانید SIGINT (معمولاً از طریق \fBCtrl\-C\fP) را ارسال کنید تا بلافاصله خارج شوید. اگر \fI\-\-timeout\fP مشخص شده باشد، دستور پس از سپری شدن \fIseconds\fP ثانیه از انتظار برای رویدادها دست می‌کشد. با \fI\-\-loop\fP، دستور همه رویدادها را تا زمان پایان مهلت زمانی یا فشرده شدن کلید وقفه چاپ می‌کند. .sp هنگامی که \fI\-\-timestamp\fP استفاده شود، یک برچسب زمانی خوانا برای انسان پیش از رویداد چاپ خواهد شد. .SS await .sp \fBنحو:\fP .INDENT 0.0 .INDENT 3.5 .sp .EX await \-\-condition [\-\-timeout seconds] .EE .UNINDENT .UNINDENT .sp تا زمانی که \fI\-\-condition\fP برای برآورده شود منتظر می‌ماند. برای به‌روزرسانی کارآمد وضعیت از رویدادها استفاده می‌کند. .sp شرایط پشتیبانی‌شده: .INDENT 0.0 .INDENT 3.5 \fIdomain\-inactive\fP .INDENT 0.0 .INDENT 3.5 دامنه غیرفعال است یا غیرفعال می‌شود .UNINDENT .UNINDENT .sp \fIguest\-agent\-available\fP .INDENT 0.0 .INDENT 3.5 عامل مهمان (guest agent) در داخل مهمان متصل شده و برای دریافت دستورها در دسترس قرار می‌گیرد (معمولاً به این معنی است که سیستم‌عامل مهمان راه‌اندازی شده است) .UNINDENT .UNINDENT .UNINDENT .UNINDENT .sp اگر \fI\-\-timeout\fP مشخص شده باشد، دستور پس از سپری شدن \fIseconds\fP ثانیه از انتظار برای برآورده شدن شرط دست می‌کشد. اگر SIGINT به virsh تحویل داده شود (معمولاً با \fBCtrl\-C\fP)، انتظار بلافاصله لغو می‌شود. در حالت غیرتعاملی (non\-interactive)، در هر یک از این موارد virsh به جای \(aq1\(aq که به معنای رخ دادن خطا است، مقدار \(aq2\(aq را برمی‌گرداند. .SS get\-user\-sshkeys .sp \fBنحو:\fP .INDENT 0.0 .INDENT 3.5 .sp .EX get\-user\-sshkeys domain user .EE .UNINDENT .UNINDENT .sp کلیدهای مجاز SSH (authorized keys) را برای \fIuser\fP داده‌شده در \fIdomain\fP مهمان چاپ می‌کند. لطفاً توجه داشته باشید که هر مدخل در فایل ساختاری درونی مطابق با تعریف \fIsshd(8)\fP دارد و virsh/libvirt با کلیدها به‌عنوان رشته‌های مات (opaque strings) رفتار می‌کند، یعنی آن‌ها را تفسیر نمی‌کند..SS guest\-agent\-timeout .sp \fBساختار:\fP .INDENT 0.0 .INDENT 3.5 .sp .EX guest\-agent\-timeout domain [\-\-timeout value] .EE .UNINDENT .UNINDENT .sp تعیین مدت‌زمان انتظار برای دریافت پاسخ از دستورهای guest agent. به‌طور پیش‌فرض، دستورهای عامل تا ابد در انتظار دریافت پاسخ مسدود (block) می‌شوند. \fBvalue\fP باید یک مقدار مثبت (انتظار برای تعداد ثانیه‌های مشخص) یا یکی از مقادیر زیر باشد: .INDENT 0.0 .IP \(bu 2 \-2 \- تا ابد در انتظار نتیجه مسدود بماند (زمانی که \-\-timeout قید نشود استفاده می‌شود)، .IP \(bu 2 \-1 \- بازنشانی مهلت زمانی (timeout) به مقدار پیش‌فرض (در حال حاضر در دیمن libvirt به میزان ۵ ثانیه تعریف شده است)، .IP \(bu 2 0 \- اصلاً منتظر نماند، .UNINDENT .sp در تمامی APIهای مبتنی بر guest\-agent، در صورت رخداد اتمام مهلت زمانی (timeout)، چنانچه دستوری واقعی به guest agent ارسال شده باشد، کد خطای بازگردانده شده VIR_ERR_AGENT_COMMAND_TIMEOUT خواهد بود. .SS guestinfo .sp \fBساختار:\fP .INDENT 0.0 .INDENT 3.5 .sp .EX guestinfo domain [\-\-user] [\-\-os] [\-\-timezone] [\-\-hostname] [\-\-filesystem] [\-\-disk] [\-\-interface] [\-\-devices] .EE .UNINDENT .UNINDENT .sp چاپ اطلاعات مربوط به مهمان از دیدگاه guest agent. توجه داشته باشید که این دستور مستلزم آن است که یک guest agent در سیستم‌عامل مهمان دامنه پیکربندی شده و در حال اجرا باشد. .sp هنگام اجرا بدون هیچ‌گونه آرگومان، این دستور تمامی انواع اطلاعاتی را که در آن لحظه توسط guest agent پشتیبانی می‌شوند چاپ کرده و از موارد غیرقابل‌دسترس صرف‌نظر می‌کند. در این حالت همیشه وضعیت موفقیت‌آمیز گزارش می‌شود. .sp می‌توانید با مشخص کردن یک یا چند پرچم، انواع اطلاعات بازگردانده‌شده را محدود کنید. پرچم‌های انواع اطلاعات موجود عبارتند از \fI\-\-user\fP، \fI\-\-os\fP، \fI\-\-timezone\fP، \fI\-\-hostname\fP، \fI\-\-filesystem\fP، \fI\-\-disk\fP، \fI\-\-interface\fP، \fI\-\-load\fP و \fI\-\-devices\fP\&. اگر نوع اطلاعاتی که صراحتاً درخواست شده در آن لحظه توسط guest agent پشتیبانی نشود، فرایندها کد خروج 1 را ارائه خواهند داد. .sp توجه داشته باشید که بسته به نوع هایپروایزر و نگارش guest agent در حال اجرا درون دامنه، ممکن است همه اطلاعات زیر بازگردانده نشود. .sp هنگام انتخاب نوع اطلاعات \fI\-\-user\fP، ممکن است فیلدهای زیر بازگردانده شوند: .INDENT 0.0 .IP \(bu 2 \fBuser.count\fP \- تعداد کاربران فعال در این domain .IP \(bu 2 \fBuser..name\fP \- نام کاربری کاربر .IP \(bu 2 \fBuser..domain\fP \- دامنه‌ی کاربر (ممکن است فقط در انواع خاصی از مهمان‌ها موجود باشد) .IP \(bu 2 \fBuser..login\-time\fP \- زمان ورود کاربر به میلی‌ثانیه از مبدأ زمانی (epoch) .UNINDENT .sp \fI\-\-os\fP بازمی‌گرداند: .INDENT 0.0 .IP \(bu 2 \fBos.id\fP \- رشته‌ای برای شناسایی سیستم‌عامل .IP \(bu 2 \fBos.name\fP \- نام سیستم‌عامل .IP \(bu 2 \fBos.pretty\-name\fP \- نام خوانا و زیبا برای سیستم‌عامل .IP \(bu 2 \fBos.version\fP \- نگارش سیستم‌عامل .IP \(bu 2 \fBos.version\-id\fP \- شناسه نگارش سیستم‌عامل .IP \(bu 2 \fBos.kernel\-release\fP \- شماره انتشار هسته سیستم‌عامل .IP \(bu 2 \fBos.kernel\-version\fP \- نگارش هسته سیستم‌عامل .IP \(bu 2 \fBos.machine\fP \- نام سخت‌افزاری ماشین .IP \(bu 2 \fBos.variant\fP \- گونه یا ویرایش خاصی از سیستم‌عامل .IP \(bu 2 \fBos.variant\-id\fP \- شناسه گونه یا ویرایش خاصی از سیستم‌عامل .UNINDENT .sp \fI\-\-timezone\fP بازمی‌گرداند: .INDENT 0.0 .IP \(bu 2 \fBtimezone.name\fP \- نام منطقه زمانی .IP \(bu 2 \fBtimezone.offset\fP \- اختلاف زمانی با UTC به ثانیه .UNINDENT .sp \fI\-\-hostname\fP بازمی‌گرداند: .INDENT 0.0 .IP \(bu 2 \fBhostname\fP \- نام میزبان (hostname) دامنه .UNINDENT .sp \fI\-\-filesystem\fP بازمی‌گرداند: .INDENT 0.0 .IP \(bu 2 \fBfs.count\fP \- تعداد سیستم‌های فایل تعریف‌شده روی این domain .IP \(bu 2 \fBfs..mountpoint\fP \- مسیر نقطه اتصال (mount point) برای سیستم فایل .IP \(bu 2 \fBfs..name\fP \- نام دستگاه در مهمان (مانند \fBsda1\fP) برای سیستم فایل .IP \(bu 2 \fBfs..fstype\fP \- نوع سیستم فایل .IP \(bu 2 \fBfs..total\-bytes\fP \- اندازه کل سیستم فایل .IP \(bu 2 \fBfs..used\-bytes\fP \- تعداد بایت‌های استفاده‌شده در سیستم فایل .IP \(bu 2 \fBfs..disk.count\fP \- تعداد دیسک‌های هدف سیستم فایل .IP \(bu 2 \fBfs..disk..alias\fP \- نام مستعار دستگاه دیسک (مانند sda) .IP \(bu 2 \fBfs..disk..serial\fP \- شماره سریال دیسک .IP \(bu 2 \fBfs..disk..device\fP \- گره دستگاه (device node) دیسک .UNINDENT .sp \fI\-\-disk\fP بازمی‌گرداند: .INDENT 0.0 .IP \(bu 2 \fBdisk.count\fP \- تعداد دیسک‌های تعریف‌شده روی این domain .IP \(bu 2 \fBdisk..name\fP \- گره دستگاه (Linux) یا UNC دستگاه (Windows) .IP \(bu 2 \fBdisk..partition\fP \- مشخص‌کننده اینکه این مورد یک پارتیشن است یا دیسک .IP \(bu 2 \fBdisk..dependency.count\fP \- تعداد وابستگی‌های دستگاه .IP \(bu 2 \fBdisk..dependency..name\fP \- نام وابستگی .IP \(bu 2 \fBdisk..serial\fP \- شماره سریال اختیاری دیسک .IP \(bu 2 \fBdisk..alias\fP \- نام مستعار دستگاه دیسک (مانند sda) .IP \(bu 2 \fBdisk..guest_alias\fP \- نام مستعار اختیاری اختصاص‌یافته به دیسک .IP \(bu 2 \fBdisk..guest_bus\fP \- نوع گذرگاه (bus) گزارش‌شده توسط مهمان .UNINDENT .sp \fI\-\-interface\fP بازمی‌گرداند: * \fBif.count\fP \- تعداد رابط‌های تعریف‌شده روی این domain * \fBif..name\fP \- نام در سیستم مهمان (مانند \fBeth0\fP) برای رابط * \fBif..hwaddr\fP \- آدرس سخت‌افزاری در سیستم مهمان برای رابط * \fBif..addr.count\fP \- تعداد آدرس‌های IP رابط * \fBif..addr..type\fP \- نوع آدرس IP مربوط به addr (مانند ipv4) * \fBif..addr..addr\fP \- آدرس IP مربوط به addr * \fBif..addr..prefix\fP \- پیشوند آدرس IP مربوط به addr .sp \fI\-\-load\fP بازمی‌گرداند: * \fBload.1m\fP \- میانگین بار پردازشی در مهمان در ۱ دقیقه گذشته * \fBload.5m\fP \- میانگین بار پردازشی در مهمان در ۵ دقیقه گذشته * \fBload.15m\fP \- میانگین بار پردازشی در مهمان در ۱۵ دقیقه گذشته .sp \fI\-\-devices\fP بازمی‌گرداند: * \fBdevice.count\fP \- تعداد دستگاه‌هایی که اطلاعات آن‌ها بازگردانده شده است * \fBdevice..driverName\fP \- نام درایور مرتبط با دستگاه * \fBdevice..driverDate\fP \- تاریخ انتشار درایور به ثانیه از مبدأ زمانی (epoch) * \fBdevice..driverVersion\fP \- نگارش درایور مرتبط با دستگاه * \fBdevice..idType\fP \- نوع شناسایی دستگاه (مانند pci) * \fBdevice..pciVendor\fP \- شناسه سازنده (vendor ID) دستگاه PCI (به ده‌دهی) * \fBdevice..pciDevice\fP \- شناسه دستگاه (device ID) دستگاه PCI (به ده‌دهی).SS guestvcpus .sp \fBنحو:\fP .INDENT 0.0 .INDENT 3.5 .sp .EX guestvcpus domain [[\-\-enable] | [\-\-disable]] [cpulist] .EE .UNINDENT .UNINDENT .sp پرس‌وجو یا تغییر وضعیت vCPUها از دید مهمان با استفاده از guest agent. هنگامی که بدون \fIcpulist\fP فراخوانی شود، اطلاعات مربوط به vCPUهای در دسترس مهمان، وضعیت آن‌ها و امکان برون‌خط شدن (offline) آن‌ها از مهمان پرس‌وجو می‌شود. .sp اگر \fIcpulist\fP ارائه شود، باید یکی از گزینه‌های \fI\-\-enable\fP یا \fI\-\-disable\fP نیز مشخص گردد. سپس عملیات مورد نظر روی domain اجرا می‌شود. .sp برای اطلاعات بیشتر دربارهٔ \fIcpulist\fP، \fBvcpupin\fP را ببینید\&. .SS iothreadadd .sp \fBنحو:\fP .INDENT 0.0 .INDENT 3.5 .sp .EX iothreadadd domain iothread_id [[\-\-config] [\-\-live] | [\-\-current]] .EE .UNINDENT .UNINDENT .sp افزودن یک IOThread جدید به domain با استفاده از \fIiothread_id\fP مشخص‌شده\&. اگر \fIiothread_id\fP از قبل وجود داشته باشد، دستور ناموفق خواهد بود. مقدار \fIiothread_id\fP باید بزرگ‌تر از صفر باشد. .sp اگر \fI\-\-live\fP مشخص شود، بر روی مهمان در حال اجرا اثر می‌گذارد. اگر مهمان در حال اجرا نباشد، خطایی بازگردانده می‌شود. اگر \fI\-\-config\fP مشخص شود، بر راه‌اندازی بعدی یک مهمان ماندگار (persistent) اثر می‌گذارد. اگر \fI\-\-current\fP مشخص شود، بسته به وضعیت فعلی مهمان، معادل \fI\-\-live\fP یا \fI\-\-config\fP خواهد بود. .SS iothreaddel .sp \fBنحو:\fP .INDENT 0.0 .INDENT 3.5 .sp .EX iothreaddel domain iothread_id [[\-\-config] [\-\-live] | [\-\-current]] .EE .UNINDENT .UNINDENT .sp حذف یک IOThread از domain با استفاده از \fIiothread_id\fP مشخص‌شده\&. اگر یک IOThread در حال حاضر به یک منبع دیسک تخصیص یافته باشد (مانند از طریق دستور \fBattach\-disk\fP)، تلاش برای حذف IOThread ناموفق خواهد بود. اگر \fIiothread_id\fP وجود نداشته باشد، خطایی رخ خواهد داد. .sp اگر \fI\-\-live\fP مشخص شود، بر روی مهمان در حال اجرا اثر می‌گذارد. اگر مهمان در حال اجرا نباشد، خطایی بازگردانده می‌شود. اگر \fI\-\-config\fP مشخص شود، بر راه‌اندازی بعدی یک مهمان ماندگار (persistent) اثر می‌گذارد. اگر \fI\-\-current\fP مشخص شود، بسته به وضعیت فعلی مهمان، معادل \fI\-\-live\fP یا \fI\-\-config\fP خواهد بود. .SS iothreadinfo .sp \fBنحو:\fP .INDENT 0.0 .INDENT 3.5 .sp .EX iothreadinfo domain [[\-\-live] [\-\-config] | [\-\-current]] .EE .UNINDENT .UNINDENT .sp نمایش اطلاعات پایه‌ای IOThreadهای domain شامل شناسهٔ IOThread و CPU Affinity برای هر IOThread. .sp اگر \fI\-\-live\fP مشخص شود، داده‌های IOThreadها را از مهمان در حال اجرا دریافت می‌کند. اگر مهمان در حال اجرا نباشد، خطایی بازگردانده می‌شود. اگر \fI\-\-config\fP مشخص شود، داده‌های IOThreadها را از راه‌اندازی بعدی یک مهمان ماندگار (persistent) دریافت می‌کند. اگر \fI\-\-current\fP مشخص شود یا گزینه‌های \fI\-\-live\fP و \fI\-\-config\fP مشخص نشده باشند، داده‌های IOThread بر اساس وضعیت فعلی مهمان دریافت می‌شود که می‌تواند برخط (live) یا خاموش (offline) باشد..SS iothreadpin .sp \fBنحو:\fP .INDENT 0.0 .INDENT 3.5 .sp .EX iothreadpin domain iothread cpulist [[\-\-live] [\-\-config] | [\-\-current]] .EE .UNINDENT .UNINDENT .sp سنجاق‌کردن یک IOThread دامنه به پردازنده‌های فیزیکی میزبان را تغییر می‌دهد. به منظور دریافت فهرستی از تمام IOThreadها، از \fBiothreadinfo\fP استفاده کنید. برای سنجاق‌کردن یک \fIiothread\fP، فهرست پردازنده‌های مورد نظر (\fIcpulist\fP) را برای شناسهٔ IOThread همان‌طور که در خروجی \fBiothreadinfo\fP فهرست شده است، مشخص نمایید. .sp مقدار \fIcpulist\fP فهرستی از شماره‌های پردازنده‌های فیزیکی است. نحو آن یک فهرست جداشده با کاما است و نشانه‌گذاری ویژه با استفاده از \(aq\-\(aq و \(aq^\(aq (مانند \(aq0\-4\(aq، \(aq0\-3,^2\(aq) نیز مجاز است. علامت \(aq\-\(aq بیانگر محدوده و علامت \(aq^\(aq بیانگر استثنا است. اگر می‌خواهید تنظیمات iothreadpin را بازنشانی کنید، یعنی یک \fIiothread\fP را به همهٔ پردازنده‌های فیزیکی سنجاق کنید، کافی است مقدار \(aqr\(aq را برای \fIcpulist\fP مشخص نمایید. .sp اگر \fI\-\-live\fP مشخص شود، مهمان در حال اجرا تحت تأثیر قرار می‌گیرد. اگر مهمان در حال اجرا نباشد، یک خطا بازگردانده می‌شود. اگر \fI\-\-config\fP مشخص شود، بر راه‌اندازی بعدی یک مهمان ماندگار اثر می‌گذارد. اگر \fI\-\-current\fP مشخص شود، بسته به وضعیت فعلی مهمان، معادل \fI\-\-live\fP یا \fI\-\-config\fP خواهد بود. در صورت ارائهٔ \fIcpulist\fP، هر دو پرچم \fI\-\-live\fP و \fI\-\-config\fP می‌توانند داده شوند، اما \fI\-\-current\fP مانعة‌الجمع است. اگر هیچ پرچمی مشخص نشده باشد، رفتار بسته به ناظر مجازی‌سازی (hypervisor) متفاوت خواهد بود. .sp \fBنکته\fP: عبارت به‌صورت ترتیبی ارزیابی می‌شود، بنابراین \(dq0\-15,^8\(dq دقیقاً معادل \(dq9\-14,0\-7,15\(dq است اما با \(dq^8,0\-15\(dq یکسان نیست. .SS iothreadset .sp \fBنحو:\fP .INDENT 0.0 .INDENT 3.5 .sp .EX iothreadset domain iothread_id [[\-\-poll\-max\-ns ns] [\-\-poll\-grow factor] [\-\-poll\-shrink divisor] [\-\-poll\-weight factor] [\-\-thread\-pool\-min value] [\-\-thread\-pool\-max value]] [[\-\-config] [\-\-live] | [\-\-current]] .EE .UNINDENT .UNINDENT .sp یک iothread موجود در دامنه را با استفاده از \fIiothread_id\fP مشخص‌شده تغییر می‌دهد. گزینهٔ \fI\-\-poll\-max\-ns\fP بیشینه بازهٔ زمانی مجاز برای سرکشی (polling) یک IOThread را برحسب نانوثانیه تعیین می‌کند. اگر مقدار 0 (صفر) داده شود، سرکشی برای IOThread غیرفعال می‌شود. گزینهٔ \fI\-\-poll\-grow\fP ضریبی است که زمان سرکشی فعلی بر مبنای آن تنظیم می‌شود تا به بیشینه زمان سرکشی برسد. اگر 0 (صفر) داده شود، از ضریب پیش‌فرض استفاده خواهد شد. گزینهٔ \fI\-\-poll\-shrink\fP ضریب کاهشی است که زمان سرکشی فعلی بر مبنای آن کاهش می‌یابد تا به کمتر از بیشینه بازهٔ سرکشی برسد. اگر 0 (صفر) داده شود، از ضریب کاهشی پیش‌فرض استفاده خواهد شد. گزینهٔ \fI\-\-poll\-weight\fP مقدار جابه‌جایی وزن را برای سرکشی تطبیقی تنظیم می‌کند و تعیین می‌کند که بازهٔ رویداد اخیر چقدر بر محاسبهٔ مدت‌زمان سرکشی بعدی تأثیر بگذارد. مقادیر بزرگ‌تر وزن رویدادهای اخیر را کاهش می‌دهند. محدودهٔ معتبر [0, 63] است. در صورت عدم ذکر، مقدار تغییری نمی‌کند. مقادیر سرکشی برای یک مهمانِ در حال اجرا کاملاً پویا هستند. ذخیره‌سازی، نابودسازی، متوقف کردن و موارد مشابه در مهمان منجر به بازگشت مقادیر سرکشی به مقادیر پیش‌فرض هایپروایزر در راه‌اندازی، بازیابی و موارد بعدی خواهد شد. .sp گزینه‌های \fI\-\-thread\-pool\-min\fP و \fI\-\-thread\-pool\-max\fP به‌ترتیب کران پایین و بالای تعداد رشته‌ها در استخر کاری (worker pool) مربوط به iothread مشخص‌شده را تعیین می‌کنند. برای تغییر در یک پیکربندی غیرفعال، می‌توان \-1 را برای حذف مرز مربوطه از پیکربندی دامنه مشخص کرد. برای اعمال تغییرات بر روی یک مهمان در حال اجرا، توصیه می‌شود ابتدا کران بالا (\fI\-\-thread\-pool\-max\fP) و تنها پس از آن کران پایین (\fI\-\-thread\-pool\-min\fP) تنظیم شود. برابر بودن کران پایین با کران بالا مجاز است، اما کران بالا نمی‌تواند مقدار صفر داشته باشد. .sp اگر \fI\-\-live\fP مشخص شود، مهمان در حال اجرا تحت تأثیر قرار می‌گیرد. اگر مهمان در حال اجرا نباشد، خطایی بازگردانده می‌شود. اگر \fI\-\-current\fP مشخص شود یا \fI\-\-live\fP مشخص نشده باشد، عملیات به‌گونه‌ای انجام می‌شود که گویی \fI\-\-live\fP مشخص شده است. (در اینجا منظور از \(dqcurrent\(dq هر وضعیتی است که مهمان در حال حاضر دارد: زنده یا آفلاین.).SS managedsave .sp \fBنحو:\fP .INDENT 0.0 .INDENT 3.5 .sp .EX managedsave domain [\-\-bypass\-cache] [{\-\-running | \-\-paused}] [\-\-verbose] .EE .UNINDENT .UNINDENT .sp یک دامنهٔ در حال اجرا را ذخیره و متوقف (stop) می‌کند، تا بتوان آن را بعداً از همان وضعیت مجدداً راه‌اندازی کرد. هنگامی که دستور \fBstart\fP در virsh دفعهٔ بعد برای این دامنه اجرا شود، دامنه به‌طور خودکار از این وضعیت ذخیره‌شده راه‌اندازی خواهد شد. اگر \fI\-\-bypass\-cache\fP مشخص شده باشد، ذخیره‌سازی حافظهٔ موقت (کَش) سیستم‌فایل را دور می‌زند، هرچند ممکن است این کار سرعت عملیات را کاهش دهد. .sp پیشرفت کار را می‌توان با دستور virsh به نام \fBdomjobinfo\fP پایش کرد و با دستور \fBdomjobabort\fP (ارسال‌شده از یک نمونهٔ دیگر virsh) لغو نمود. گزینهٔ دیگر، ارسال SIGINT (معمولاً با \fBCtrl\-C\fP) به فرآیند virsh در حال اجرای دستور \fBmanagedsave\fP است. گزینهٔ \fI\-\-verbose\fP پیشرفت ذخیره‌سازی را نمایش می‌دهد. .sp به‌طور معمول، راه‌اندازی یک ذخیرهٔ مدیریت‌شده (managed save) وضعیت در حال اجرا (running) یا مکث‌شده (paused) را بر اساس وضعیتی که دامنه هنگام ذخیره‌سازی داشت تعیین می‌کند؛ تعیین هر یک از پرچم‌های \fI\-\-running\fP یا \fI\-\-paused\fP امکان بازنویسی وضعیتی را که \fBstart\fP باید استفاده کند فراهم می‌سازد. .sp دستور \fBdominfo\fP می‌تواند برای پرس‌وجو دربارهٔ این که آیا یک دامنه در حال حاضر ایمیج ذخیرهٔ مدیریت‌شده دارد یا خیر استفاده شود. .SS managedsave\-define .sp \fBنحو:\fP .INDENT 0.0 .INDENT 3.5 .sp .EX managedsave\-define domain xml [{\-\-running | \-\-paused}] .EE .UNINDENT .UNINDENT .sp فایل XML دامنه را که هنگام راه‌اندازی بعدی \fIdomain\fP استفاده خواهد شد، به‌روزرسانی می‌کند. آرگومان \fIxml\fP باید نام فایلی حاوی XML جایگزین باشد، که تغییرات آن تنها در بخش‌های وابسته به میزبان از XML دامنه اِعمال شده است. برای نمونه، می‌توان از آن برای تغییر مسیر فایل‌های دیسک استفاده کرد. .sp ایمیج ذخیرهٔ مدیریت‌شده ثبت می‌کند که دامنه باید در وضعیت در حال اجرا یا مکث‌شده راه‌اندازی شود. به‌طور معمول، این دستور وضعیت ثبت‌شده را تغییر نمی‌دهد؛ تعیین هر یک از پرچم‌های \fI\-\-running\fP یا \fI\-\-paused\fP امکان بازنویسی وضعیتی را که \fBstart\fP باید استفاده کند فراهم می‌کند. .SS managedsave\-dumpxml .sp \fBنحو:\fP .INDENT 0.0 .INDENT 3.5 .sp .EX managedsave\-dumpxml [\-\-security\-info] [\-\-xpath EXPRESSION] [\-\-wrap] domain .EE .UNINDENT .UNINDENT .sp فایل XML دامنه‌ای را که هنگام ایجاد فایل وضعیت ذخیره‌شده با دستور \fBmanagedsave\fP حاکم بوده است، استخراج می‌کند. استفاده از \fI\-\-security\-info\fP اطلاعات حساس امنیتی را نیز شامل خواهد کرد. .sp اگر آرگومان \fB\-\-xpath\fP یک عبارت XPath را ارائه دهد، روی خروجی XML ارزیابی شده و تنها گره‌های منطبق چاپ خواهند شد. رفتار پیش‌فرض این است که هر گرهٔ منطبق به عنوان یک سند مستقل چاپ شود؛ با این حال، جهت سهولت در پردازش‌های بیشتر، آرگومان \fB\-\-wrap\fP باعث می‌شود گره‌های منطبق درون یک گرهٔ ریشهٔ مشترک قرار گیرند. .SS managedsave\-edit .sp \fBنحو:\fP .INDENT 0.0 .INDENT 3.5 .sp .EX managedsave\-edit domain [{\-\-running | \-\-paused}] .EE .UNINDENT .UNINDENT .sp پیکربندی XML مرتبط با فایل وضعیت ذخیره‌شدهٔ یک \fIdomain\fP را که توسط دستور \fBmanagedsave\fP ایجاد شده بود، ویرایش می‌کند. .sp ایمیج ذخیرهٔ مدیریت‌شده ثبت می‌کند که دامنه باید در وضعیت در حال اجرا یا مکث‌شده راه‌اندازی شود. به‌طور معمول، این دستور وضعیت ثبت‌شده را تغییر نمی‌دهد؛ تعیین هر یک از پرچم‌های \fI\-\-running\fP یا \fI\-\-paused\fP امکان بازنویسی وضعیتی را که \fBrestore\fP باید استفاده کند فراهم می‌سازد. .sp این معادل است با: .INDENT 0.0 .INDENT 3.5 .sp .EX virsh managedsave\-dumpxml domain\-name > state\-file.xml vi state\-file.xml (or make changes with your other text editor) virsh managedsave\-define domain\-name state\-file\-xml .EE .UNINDENT .UNINDENT .sp با این تفاوت که برخی بررسی‌های خطا را نیز انجام می‌دهد. .sp ویرایشگر مورد استفاده می‌تواند از طریق متغیرهای محیطی \fB$VISUAL\fP یا \fB$EDITOR\fP مشخص شود، و پیش‌فرض آن \fBvi\fP\& است..SS managedsave\-remove .sp \fBنحو:\fP .INDENT 0.0 .INDENT 3.5 .sp .EX managedsave\-remove domain .EE .UNINDENT .UNINDENT .sp فایل وضعیت \fBmanagedsave\fP را برای یک دامنه، در صورت وجود، حذف می‌کند. این کار تضمین می‌کند که دامنه در دفعه بعدی راه‌اندازی، یک بوت کامل انجام خواهد داد. .SS maxvcpus .sp \fBنحو:\fP .INDENT 0.0 .INDENT 3.5 .sp .EX maxvcpus [type] .EE .UNINDENT .UNINDENT .sp حداکثر تعداد پردازنده‌های مجازی (vCPU) پشتیبانی‌شده برای یک ماشین مجازی مهمان را در این اتصال ارائه می‌دهد. در صورت ارائه، پارامتر \fItype\fP باید یک صفت type معتبر برای عنصر در XML باشد. .SS memtune .sp \fBنحو:\fP .INDENT 0.0 .INDENT 3.5 .sp .EX memtune domain [\-\-hard\-limit size] [\-\-soft\-limit size] [\-\-swap\-hard\-limit size] [\-\-min\-guarantee size] [[\-\-config] [\-\-live] | [\-\-current]] .EE .UNINDENT .UNINDENT .sp امکان مشاهده یا تنظیم پارامترهای حافظه دامنه را فراهم می‌کند. بدون پرچم‌ها، تنظیمات فعلی نمایش داده می‌شوند؛ با یک پرچم، در صورت پشتیبانی توسط هایپروایزر، حد مربوطه تنظیم می‌شود. فناوری‌های LXC و QEMU/KVM از \fI\-\-hard\-limit\fP، \fI\-\-soft\-limit\fP و \fI\-\-swap\-hard\-limit\fP پشتیبانی می‌کنند\&. \fI\-\-min\-guarantee\fP تنها توسط هایپروایزر ESX پشتیبانی می‌شود. هر یک از این محدودیت‌ها اعداد صحیح مقیاس‌پذیر هستند (بخش \fBNOTES\fP در بالا را ببینید)، و در صورت عدم وجود پسوند، مقدار پیش‌فرض بر حسب کیبی‌بایت (بلوک‌های 1024 بایتی) خواهد بود. لایب‌ویرت (Libvirt) مقادیر را به نزدیک‌ترین کیبی‌بایت به بالا گرد می‌کند. برخی از هایپروایزرها به دانه‌بندی بزرگ‌تری نسبت به KiB نیاز دارند، و درخواست‌هایی که مضرب صحیحی از آن نباشند به بالا گرد خواهند شد. برای مثال، vSphere/ESX پارامتر را به مبی‌بایت (1024 کیبی‌بایت) به سمت بالا گرد می‌کند. .sp اگر \fI\-\-live\fP مشخص شود، بر یک مهمان در حال اجرا تأثیر می‌گذارد. اگر \fI\-\-config\fP مشخص شود، بر راه‌اندازی بعدی یک مهمان ماندگار (persistent) تأثیر می‌گذارد. اگر \fI\-\-current\fP مشخص شود، بسته به وضعیت فعلی مهمان، معادل \fI\-\-live\fP یا \fI\-\-config\fP خواهد بود. می‌توان هر دو پرچم \fI\-\-live\fP و \fI\-\-config\fP را ارائه داد، اما \fI\-\-current\fP مانعة‌الجمع (انحصاری) است. اگر هیچ پرچمی مشخص نشود، رفتار برنامه بسته به هایپروایزر متفاوت خواهد بود. .sp برای QEMU/KVM، پارامترها بر کل فرآیند QEMU اعمال می‌شوند. بنابراین، هنگام محاسبه آن‌ها، باید RAM مهمان، RAM گرافیکی مهمان و مقداری سربار حافظه خود QEMU را با هم جمع کرد. بخش آخر به سختی قابل تعیین است، بنابراین باید حدس زد و آزمایش کرد. .sp برای LXC، مقدار نمایش داده شده hard_limit همان تنظیم حافظه فعلی از XML یا نتایج حاصل از دستور \fBvirsh setmem\fP است. .INDENT 0.0 .IP \(bu 2 \fI\-\-hard\-limit\fP .sp حداکثر حافظه‌ای که مهمان می‌تواند مصرف کند. .IP \(bu 2 \fI\-\-soft\-limit\fP .sp محدودیت حافظه‌ای که در زمان رقابت یا کمبود حافظه (contention) اعمال می‌شود. .IP \(bu 2 \fI\-\-swap\-hard\-limit\fP .sp حداکثر حافظه به علاوه فضای swap که مهمان می‌تواند مصرف کند. این مقدار باید بیشتر از مقدار ارائه‌شده برای hard\-limit باشد. .IP \(bu 2 \fI\-\-min\-guarantee\fP .sp حداقل حافظه تخصیص‌یافته تضمین‌شده برای مهمان. .UNINDENT .sp مشخص کردن مقدار \-1 برای این محدودیت‌ها به عنوان نامحدود تفسیر می‌شود..SS metadata .sp \fBSyntax:\fP .INDENT 0.0 .INDENT 3.5 .sp .EX metadata domain [[\-\-live] [\-\-config] | [\-\-current]] [\-\-edit] [uri] [key] [set] [\-\-remove] .EE .UNINDENT .UNINDENT .sp نمایش یا ویرایش متاداده‌های سفارشی XML یک دامنه. این متاداده یک XML تعریف‌شده توسط کاربر است که امکان ذخیره داده‌های دلخواه XML را در تعریف دامنه فراهم می‌کند. چندین بخش مجزای متاداده سفارشی را می‌توان در XML دامنه ذخیره کرد. این بخش‌ها توسط یک فضای نام (namespace) اختصاصی XML که از طریق آرگومان \fIuri\fP ارائه می‌شود، شناسایی می‌گردند. (همچنین \fBdesc\fP را ببینید که با متاداده‌های متنی یک دامنه کار می‌کند.) .sp پرچم‌های \fI\-\-live\fP یا \fI\-\-config\fP انتخاب می‌کنند که آیا این دستور بر روی تعاریف زنده یا ماندگار دامنه کار کند. اگر هر دو گزینه \fI\-\-live\fP و \fI\-\-config\fP مشخص شوند، در دریافت توضیحات فعلی گزینه \fI\-\-config\fP اولویت دارد و هنگام تنظیم توضیحات، هم پیکربندی زنده و هم پیکربندی ذخیره‌شده (config) به‌روزرسانی می‌شوند. گزینه \fI\-\-current\fP مانعة‌الجمع است و اگر هیچ‌یک از این‌ها مشخص نشده باشد به‌طور ضمنی اعمال می‌شود. .sp پرچم \fI\-\-remove\fP مشخص می‌کند عنصر متاداده‌ای که توسط آرگومان \fIuri\fP تعیین شده است، باید به‌جای به‌روزرسانی، حذف شود. .sp پرچم \fI\-\-edit\fP مشخص می‌کند که یک ویرایشگر حاوی متاداده شناسایی‌شده توسط آرگومان \fIuri\fP باز شود و محتویات پس از آن ذخیره گردند. در غیر این صورت، محتوای جدید می‌تواند از طریق آرگومان \fIset\fP ارائه شود. .sp هنگام تنظیم متاداده از طریق \fI\-\-edit\fP یا \fIset\fP، آرگومان \fIkey\fP باید مشخص شود و برای پیشوند دادن به عناصر سفارشی جهت اتصال آن‌ها به فضای نام اختصاصی استفاده می‌شود. .sp اگر هیچ‌یک از گزینه‌های \fI\-\-edit\fP و \fIset\fP مشخص نشده باشند، متاداده XML مربوط به فضای نام \fIuri\fP به‌جای تغییر یافتن، نمایش داده می‌شود. .SS migrate .sp \fBSyntax:\fP .INDENT 0.0 .INDENT 3.5 .sp .EX migrate [\-\-live] [\-\-offline] [\-\-direct] [\-\-p2p [\-\-tunnelled]] [\-\-persistent] [\-\-undefinesource] [\-\-suspend] [\-\-copy\-storage\-all] [\-\-copy\-storage\-inc] [\-\-change\-protection] [\-\-unsafe] [\-\-verbose] [\-\-rdma\-pin\-all] [\-\-abort\-on\-error] [\-\-postcopy] [\-\-postcopy\-after\-precopy] [\-\-postcopy\-resume] [\-\-zerocopy] domain desturi [migrateuri] [graphicsuri] [listen\-address] [dname] [\-\-timeout seconds [\-\-timeout\-suspend | \-\-timeout\-postcopy]] [\-\-xml file] [\-\-migrate\-disks disk\-list] [\-\-migrate\-disks\-detect\-zeroes disk\-list] [\-\-migrate\-disks\-target\-zero disk\-list] [\-\-disks\-port port] [\-\-compressed] [\-\-comp\-methods method\-list] [\-\-comp\-mt\-level] [\-\-comp\-mt\-threads] [\-\-comp\-mt\-dthreads] [\-\-comp\-xbzrle\-cache] [\-\-comp\-zlib\-level] [\-\-comp\-zstd\-level] [\-\-auto\-converge] [auto\-converge\-initial] [auto\-converge\-increment] [\-\-persistent\-xml file] [\-\-tls] [\-\-postcopy\-bandwidth bandwidth] [\-\-parallel [\-\-parallel\-connections connections]] [\-\-bandwidth bandwidth] [\-\-tls\-destination hostname] [\-\-disks\-uri URI] [\-\-copy\-storage\-synchronous\-writes] [\-\-available\-switchover\-bandwidth bandwidth] .EE .UNINDENT .UNINDENT .sp مهاجرت دامنه به یک میزبان دیگر. برای مهاجرت زنده \fI\-\-live\fP، برای مهاجرت همتا‌به‌همتا <\-\-p2p>، برای مهاجرت مستقیم \fI\-\-direct\fP، یا برای مهاجرت تونل‌شده \fI\-\-tunnelled\fP را اضافه کنید. گزینه \fI\-\-offline\fP تعریف دامنه را بدون راه‌اندازی دامنه در مقصد و بدون متوقف کردن آن در میزبان مبدأ مهاجرت می‌دهد. مهاجرت آفلاین ممکن است با دامنه‌های غیرفعال استفاده شود و باید همراه با گزینه \fI\-\-persistent\fP به کار رود. .sp گزینه \fI\-\-persistent\fP دامنه را در میزبان مقصد ماندگار باقی می‌گذارد (برای نکات خاص هنگام استفاده با \fI\-\-xml\fP به بخش زیر مراجعه کنید)، \fI\-\-undefinesource\fP تعریف دامنه را در میزبان مبدأ حذف (undefine) می‌کند، و \fI\-\-suspend\fP دامنه را در میزبان مقصد در حالت تعلیق باقی می‌گذارد. .sp گزینه \fI\-\-copy\-storage\-all\fP نشان‌دهنده مهاجرت با فضای ذخیره‌سازی غیرمشترک همراه با رونوشت کامل دیسک است، و \fI\-\-copy\-storage\-inc\fP نشان‌دهنده مهاجرت با ذخیره‌سازی غیرمشترک به همراه رونوشت افزایشی است (ایمیج پایه یکسانی بین مبدأ و مقصد به اشتراک گذاشته شده است). در هر دو حالت، ایمیج‌های دیسک باید در میزبان مقصد وجود داشته باشند؛ گزینه‌های \fI\-\-copy\-storage\-...\fP تنها به libvirt می‌گویند داده‌ها را از ایمیج‌های میزبان مبدأ به ایمیج‌های موجود در همان مسیر در میزبان مقصد منتقل کند. به‌طور پیش‌فرض تنها ایمیج‌های غیرمشترک و غیرفقط‌خواندنی منتقل می‌شوند. از \fI\-\-migrate\-disks\fP برای مشخص کردن صریح فهرستی از دیسک‌های هدف جهت انتقال از طریق آرگومان جداشده با کامای \fBdisk\-list\fP استفاده کنید. گزینه \fI\-\-migrate\-disks\-detect\-zeroes\fP که فهرستی از نام‌های دیسک هدفِ جداشده با کاما را دریافت می‌کند، تشخیص بلوک‌های صفر را برای دیسک‌های مهاجرت‌یافته فهرست‌شده فعال می‌کند. این بلوک‌ها در مقصد منتقل یا تخصیص داده نمی‌شوند (نیاز دارد که گزینه \(aqdiscard\(aq در دیسک مربوطه روی \(aqunmap\(aq تنظیم شده باشد)، که در عمل دیسک را با هزینه بار اضافه CPU، تُنُک (sparse) می‌سازد. گزینه \fI\-\-migrate\-disks\-target\-zero\fP که فهرستی از نام‌های دیسک هدفِ جداشده با کاما را دریافت می‌کند، ایمیج‌های دیسکی را مشخص می‌سازد که هدف آن‌ها پیش از مهاجرت صفر شده است و بنابراین ناظر مجازی‌سازی (hypervisor) تلاشی برای صفر کردن آن‌ها نخواهد کرد. با استفاده از پرچم \fI\-\-copy\-storage\-synchronous\-writes\fP، مهاجرت داده‌های دیسک به‌طور همگام نوشتن‌های دیسک مهمان را هم در مبدأ اصلی و هم در مقصد مدیریت می‌کند تا اطمینان حاصل شود که مهاجرت دیسک همگرا می‌شود، هرچند ممکن است به بهای کاهش کارایی انفجاری (burst performance) تمام شود. .sp گزینه \fI\-\-change\-protection\fP اعمال می‌کند که در حین انجام مهاجرت هیچ تغییر پیکربندی ناسازگاری بر روی دامنه رخ ندهد؛ این پرچم در صورت پشتیبانی توسط ناظر مجازی‌سازی به‌صورت ضمنی فعال است، اما می‌تواند به‌طور صریح برای رد کردن مهاجرت در صورتی که ناظر فاقد پشتیبانی از محافظت تغییرات باشد، استفاده شود. .sp گزینه \fI\-\-verbose\fP پیشرفت مهاجرت را نمایش می‌دهد. .sp گزینه \fI\-\-abort\-on\-error\fP در صورت وقوع یک خطای نرم/گذرا (برای مثال خطای I/O) در حین مهاجرت، عملیات را لغو می‌کند. .sp گزینه \fI\-\-postcopy\fP منطق پس‌رونوشت (post\-copy) را در مهاجرت فعال می‌کند، اما در عمل post\-copy را آغاز نمی‌کند، به این معنی که مهاجرت در حالت پیش‌رونوشت (pre\-copy) شروع می‌شود. پس از در حال اجرا بودن مهاجرت، کاربر می‌تواند با استفاده از دستور \fBmigrate\-postcopy\fP که از یک نمونه دیگر virsh ارسال می‌شود به حالت post\-copy تغییر وضعیت دهد یا از \fI\-\-postcopy\-after\-precopy\fP همراه با \fI\-\-postcopy\fP استفاده کند تا به libvirt اجازه دهد پس از پایان اولین دور pre\-copy به‌طور خودکار به post\-copy تغییر وضعیت دهد. بیشینه پهنای باند مصرفی در طول فاز post\-copy می‌تواند با استفاده از \fI\-\-postcopy\-bandwidth\fP\& محدود شود. بیشینه پهنای باند مصرفی در طول فاز pre\-copy می‌تواند با استفاده از \fI\-\-bandwidth\fP\& محدود شود. در صورتی که اتصال میان میزبان‌ها در حین قرار داشتن مهاجرت در حالت post\-copy قطع شود، دامنه را نمی‌توان در هیچ‌یک از میزبان‌های مبدأ یا مقصد ادامه داد و دستور \fBmigrate\fP خطایی را گزارش کرده و دامنه را در هر دو میزبان در حالت فعال باقی می‌گذارد. برای بازیابی از چنین وضعیتی، دستور اولیه \fBmigrate\fP را با پرچم اضافی \fI\-\-postcopy\-resume\fP تکرار کنید. .sp گزینه \fI\-\-auto\-converge\fP همگرایی را در طول مهاجرت زنده تحمیل می‌کند. نرخ مهار اولیه CPU مهمان را می‌توان با \fIauto\-converge\-initial\fP\& تنظیم کرد. اگر نرخ مهار اولیه برای تضمین همگرایی کافی نباشد، این نرخ به‌صورت دوره‌ای به میزان \fIauto\-converge\-increment\fP\& افزایش می‌یابد. .sp گزینه \fI\-\-rdma\-pin\-all\fP می‌تواند با مهاجرت RDMA (یعنی زمانی که \fImigrateuri\fP با rdma:// شروع می‌شود) استفاده شود تا به ناظر مجازی‌سازی بگوید تمام حافظه دامنه را یک‌باره قبل از آغاز مهاجرت پین (قفل در حافظه) کند، به جای اینکه صفحات حافظه را بر حسب نیاز پین کند. در QEMU/KVM این مستلزم آن است که عنصر تنظیم حافظه hard_limit (در XML دامنه) استفاده شود و روی حداکثر حافظه پیکربندی‌شده برای دامنه به‌علاوه هر مقدار حافظه مصرفی توسط خود فرایند QEMU تنظیم گردد. از تعیین بیش از حد بالای حد حافظه (و در نتیجه امکان قفل کردن بیشتر حافظه میزبان توسط دامنه) برحذر باشید. انجام این کار می‌تواند هم برای دامنه و هم برای خود میزبان خطرناک باشد زیرا هسته میزبان ممکن است با کمبود حافظه مواجه شود. .sp گزینه \fI\-\-zerocopy\fP درخواست می‌کند که از سازوکار نسخه‌برداری صفر (zero\-copy) برای مهاجرت صفحات حافظه استفاده شود. برای QEMU/KVM این بدان معناست که QEMU موقتاً مجاز خواهد بود تمام صفحات مهمان را در حافظه میزبان قفل کند، هرچند تنها صفحاتی که در صف انتقال قرار دارند در یک زمان قفل خواهند شد. .sp \fBنکته\fP: ناظرهای مجازی‌سازی مجزا معمولاً از تمام انواع ممکن مهاجرت پشتیبانی نمی‌کنند. برای مثال، QEMU از مهاجرت مستقیم پشتیبانی نمی‌کند. .sp در برخی موارد ممکن است libvirt از مهاجرت دامنه خودداری کند زیرا انجام این کار می‌تواند منجر به مشکلات بالقوه‌ای مانند خرابی داده‌ها شود، و بنابراین مهاجرت ناامن در نظر گرفته می‌شود. برای دامنه QEMU، این امر ممکن است هنگامی رخ دهد که دامنه از دیسک‌هایی بدون تنظیم صریح حالت کش بر روی \(dqnone\(dq استفاده کند. مهاجرت چنین دامنه‌هایی ناامن است مگر اینکه ایمیج‌های دیسک بر روی یک فایل‌سیستم خوشه‌ای همگام (coherent clustered filesystem) مانند GFS2 یا GPFS ذخیره شده باشند. اگر مطمئن هستید که مهاجرت امن است یا اهمیتی برایتان ندارد، از \fI\-\-unsafe\fP برای تحمیل مهاجرت استفاده کنید. .sp آرگومان \fIdname\fP برای تغییر نام دامنه به نامی جدید در طول مهاجرت استفاده می‌شود، که معمولاً می‌توان از آن نیز صرف‌نظر کرد. .sp گزینه \fI\-\-xml\fP \fBfile\fP، اگرچه معمولاً لازم نیست، می‌تواند برای ارائه یک فایل XML جایگزین جهت استفاده در مقصد به کار رود تا مجموعه بزرگ‌تری از تغییرات را در هر بخش مختص میزبان از XML دامنه اعمال کند، مانند در نظر گرفتن تفاوت‌های نام‌گذاری میان مبدأ و مقصد در دسترسی به فضای ذخیره‌سازی زیرین. اگر \fI\-\-xml\fP همراه با \fI\-\-persistent\fP استفاده شود، معمولاً لازم است تعریف ماندگار XML از طریق \fI\-\-persistent\-xml\fP (به زیر مراجعه کنید) ارائه شود که به همان ترتیبی که XML ارائه‌شده به \fI\-\-file\fP اصلاح شده بود، تصحیح شود. .sp اگر \fI\-\-persistent\fP فعال باشد، \fI\-\-persistent\-xml\fP \fBfile\fP می‌تواند برای ارائه یک فایل XML جایگزین که به عنوان تعریف مهمان ماندگار در میزبان مقصد استفاده خواهد شد، به کار رود. .sp گزینه \fI\-\-timeout\fP \fBseconds\fP به virsh می‌گوید هنگامی که مهاجرت زنده بیش از آن تعداد ثانیه طول کشید، یک اقدام مشخص‌شده را اجرا کند. این گزینه تنها همراه با \fI\-\-live\fP\& می‌تواند به کار رود. اگر \fI\-\-timeout\-suspend\fP مشخص شده باشد، دامنه پس از اتمام مهلت زمانی معلق می‌شود و مهاجرت به‌صورت آفلاین کامل خواهد شد؛ این حالت پیش‌فرض است اگر هیچ گزینه \fI\-\-timeout\-\e\(ga\(ga در خط فرمان مشخص نشده باشد. هنگامی که *\-\-timeout\-postcopy\fP استفاده شود، virsh در زمان پایان مهلت، مهاجرت را از pre\-copy به post\-copy تغییر وضعیت می‌دهد؛ برای کارکرد این قابلیت، مهاجرت باید با گزینه \fI\-\-postcopy\fP آغاز شده باشد..sp گزینهٔ \fI\-\-compressed\fP فشرده‌سازی را فعال می‌کند؛ روش فشرده‌سازی با \fI\-\-comp\-methods\fP انتخاب می‌شود\&. روش‌های پشتیبانی‌شده عبارتند از \(dqmt\(dq، \(dqxbzrle\(dq، \(dqzlib\(dq و \(dqzstd\(dq. مجموعه روش‌های پشتیبانی‌شده و ترکیب‌های آن‌ها به هایپروایزر و گزینه‌های مهاجرت بستگی دارد. QEMU فقط در صورت استفاده از \fI\-\-parallel\fP از روش‌های \(dqzlib\(dq و \(dqzstd\(dq پشتیبانی می‌کند و نمی‌توان آن‌ها را هم‌زمان به کار برد. هنگامی که هیچ روشی مشخص نشده باشد، روش‌های پیش‌فرض هایپروایزر استفاده خواهند شد. QEMU تا زمانی که \fI\-\-parallel\fP استفاده نشود، به‌طور پیش‌فرض از \(dqxbzrle\(dq استفاده می‌کند. برای مهاجرت‌های \fI\-\-parallel\fP، بستهٔ QEMU هیچ روش فشرده‌سازی پیش‌فرضی ارائه نمی‌دهد و بنابراین باید با استفاده از \fI\-\-comp\-method\fP به‌طور صریح مشخص شود. روش‌های فشرده‌سازی را می‌توان بیشتر تنظیم کرد. \fI\-\-comp\-mt\-level\fP سطح فشرده‌سازی را برای روش \(dqmt\(dq مشخص می‌کند. مقادیر در بازهٔ ۰ تا ۹ هستند که در آن ۱ بیشترین سرعت و ۹ بیشترین فشرده‌سازی است. \fI\-\-comp\-mt\-threads\fP و \fI\-\-comp\-mt\-dthreads\fP به ترتیب تعداد رشته‌های فشرده‌سازی در مبدأ و تعداد رشته‌های بازگشایی در مقصد را تنظیم می‌کنند. \fI\-\-comp\-xbzrle\-cache\fP اندازهٔ page cache را بر حسب بایت مشخص می‌کند. \fI\-\-comp\-zlib\-level\fP سطح فشرده‌سازی را هنگام استفاده از روش \(dqzlib\(dq تنظیم می‌کند. مقادیر در بازهٔ ۰ تا ۹ قرار دارند و پیش‌فرض آن ۱ است، که در آن ۰ عدم فشرده‌سازی، ۱ حداکثر سرعت و ۹ بیشترین فشرده‌سازی است. \fI\-\-comp\-zstd\-level\fP سطح فشرده‌سازی را هنگام استفاده از روش \(dqzstd\(dq تنظیم می‌کند. مقادیر در بازهٔ ۰ تا ۲۰ قرار دارند و پیش‌فرض آن ۱ است، که در آن ۰ بدون فشرده‌سازی، ۱ حداکثر سرعت و ۲۰ بیشترین فشرده‌سازی است. .sp ارائهٔ \fI\-\-tls\fP باعث می‌شود که مهاجرت، برای انجام مهاجرت دامین، از پیکربندی TLS تنظیم‌شده روی میزبان استفاده کند (به migrate_tls_x509_cert_dir در /etc/libvirt/qemu.conf مراجعه کنید). استفاده از این گزینه مستلزم پیکربندی صحیح TLS هم برای مبدأ و هم برای مقصد است. در حالت معمول، برای موفقیت‌آمیز بودن اعتبارسنجی TLS، گواهی TLS میزبان مقصد باید با نام میزبان مطابقت داشته باشد. هنگامی که گواهی با hostname مقصد مطابقت ندارد و hostname مورد انتظار گواهی مشخص است، می‌توان از \fI\-\-tls\-destination\fP برای ارسال \fIhostname\fP مورد انتظار در هنگام شروع مهاجرت استفاده کرد. .sp گزینهٔ \fI\-\-parallel\fP باعث می‌شود داده‌های مهاجرت از طریق چندین اتصال موازی ارسال شوند. تعداد این اتصالات را می‌توان با استفاده از \fI\-\-parallel\-connections\fP تنظیم کرد. اتصالات موازی می‌توانند به اشباع پیوند شبکه بین مبدأ و مقصد و در نتیجه افزایش سرعت مهاجرت کمک کنند. .sp مهاجرت در حال اجرا را می‌توان با متوقف کردن virsh (معمولاً با استفاده از \fBCtrl\-C\fP) یا با دستور \fBdomjobabort\fP ارسال‌شده از نمونهٔ دیگری از virsh لغو کرد. .sp پارامترهای \fIdesturi\fP و \fImigrateuri\fP را می‌توان برای کنترل این که مهاجرت از کدام مقصد استفاده کند به کار برد. \fIdesturi\fP برای مهاجرت مدیریت‌شده (managed) مهم است، اما برای مهاجرت مستقیم (direct) استفاده نمی‌شود؛ \fImigrateuri\fP برای مهاجرت مستقیم الزامی است، اما معمولاً برای مهاجرت مدیریت‌شده می‌تواند به‌طور خودکار تعیین شود. .sp \fBنکته\fP: پارامتر \fIdesturi\fP برای مهاجرت عادی و مهاجرت peer2peer معنای متفاوتی دارد: .INDENT 0.0 .IP \(bu 2 مهاجرت عادی: مقدار \fIdesturi\fP نشانی میزبان مقصد از دید ماشین کلاینت است. .IP \(bu 2 مهاجرت peer2peer: مقدار \fIdesturi\fP نشانی میزبان مقصد از دید ماشین مبدأ است. .UNINDENT .sp در شرایط خاصی که به کنترل کامل اتصال نیاز دارید و/یا libvirt به طرف دوردست دسترسی شبکه ندارد، می‌توانید از یک انتقال‌دهندهٔ UNIX در URI استفاده کرده و یک مسیر سوکت را در پرسمان مشخص کنید؛ برای مثال با راه‌انداز qemu می‌توانید از این استفاده کنید: .INDENT 0.0 .INDENT 3.5 .sp .EX qemu+unix:///system?socket=/path/to/socket .EE .UNINDENT .UNINDENT .sp هنگامی که \fImigrateuri\fP مشخص نشده باشد، libvirt به‌طور خودکار URI ویژهٔ هایپروایزر را تعیین خواهد کرد. برخی از هایپروایزرها، از جمله QEMU، دارای پارامتر پیکربندی اختیاری \(dqmigration_host\(dq هستند (زمانی که میزبان دارای چندین رابط شبکه است مفید است). اگر این مقدار مشخص نشده باشد، libvirt نام را با جستجوی hostname پیکربندی‌شدهٔ میزبان مقصد تعیین می‌کند. .sp چندین سناریو وجود دارد که تعیین \fImigrateuri\fP ممکن است در آن‌ها مفید باشد: .INDENT 0.0 .IP \(bu 2 نام میزبان (hostname) پیکربندی‌شده نادرست است یا DNS دچار مشکل است. اگر میزبانی دارای یک hostname باشد که به یکی از آدرس‌های IP عمومی آن تحلیل نشود، libvirt یک URI نادرست تولید خواهد کرد. در این حالت، \fImigrateuri\fP باید صریحاً با استفاده از یک آدرس IP یا یک hostname صحیح مشخص شود. .IP \(bu 2 میزبان دارای چندین رابط شبکه است. اگر میزبانی دارای چندین رابط شبکه باشد، ممکن است به دلایل امنیتی یا کارایی مطلوب باشد که جریان دادهٔ مهاجرت از طریق یک رابط خاص ارسال شود. در این حالت \fImigrateuri\fP باید به‌طور صریح با استفاده از آدرس IP مرتبط با شبکهٔ مد نظر مشخص شود. .IP \(bu 2 دیوار آتش پورت‌های در دسترس را محدود کرده است. هنگامی که libvirt یک URI مهاجرت تولید می‌کند، شماره پورتی را با استفاده از قوانین ویژهٔ هایپروایزر انتخاب خواهد کرد. برخی هایپروایزرها تنها نیاز به باز بودن یک پورت منفرد در دیوار آتش دارند، در حالی که برخی دیگر به یک محدودهٔ کامل از شماره پورت‌ها نیاز دارند. در حالت دوم، ممکن است \fImigrateuri\fP برای انتخاب شماره پورتی خاص خارج از محدودهٔ پیش‌فرض، جهت تطابق با خط‌مشی‌های دیوار آتش محلی، مشخص شود. .IP \(bu 2 پارامتر \fIdesturi\fP از روش انتقال UNIX استفاده می‌کند. در این حالت پیشرفته، libvirt نباید \fImigrateuri\fP را حدس بزند و این مقدار باید با استفاده از URI مسیر سوکت UNIX مشخص شود: .UNINDENT .INDENT 0.0 .INDENT 3.5 .sp .EX unix:///path/to/socket .EE .UNINDENT .UNINDENT .sp برای جزئیات بیشتر دربارهٔ URIهای مهاجرت به \% مراجعه کنید. .sp پارامتر اختیاری \fIgraphicsuri\fP پارامترهای اتصال استفاده‌شده برای بازاتصال خودکار کلاینت‌های گرافیکی در انتهای مهاجرت را لغو می‌کند. در صورت حذف آن، libvirt پارامترها را بر اساس آدرس IP میزبان مقصد محاسبه خواهد کرد. در صورتی که کلاینت به شبکه‌ای که میزبان‌های مجازی‌سازی به آن متصل هستند دسترسی مستقیم نداشته باشد و نیاز به اتصال از طریق یک پروکسی داشته باشد، می‌توان از \fIgraphicsuri\fP برای تعیین نشانی‌ای که کلاینت باید به آن متصل شود استفاده کرد. ساختار URI به صورت زیر است: .INDENT 0.0 .INDENT 3.5 .sp .EX protocol://hostname[:port]/[?parameters] .EE .UNINDENT .UNINDENT .sp که در آن protocol یکی از مقادیر \(dqspice\(dq یا \(dqvnc\(dq است و parameters فهرستی از پارامترهای خاص پروتکل است که با \(aq&\(aq از هم جدا شده‌اند. پارامترهای شناخته‌شدهٔ کنونی \(dqtlsPort\(dq و \(dqtlsSubject\(dq هستند. به عنوان مثال، .INDENT 0.0 .INDENT 3.5 .sp .EX spice://target.host.com:1234/?tlsPort=4567 .EE .UNINDENT .UNINDENT .sp پارامتر اختیاری \fIlisten\-address\fP نشانی شنودی را که هایپروایزر در سمت مقصد باید برای مهاجرت ورودی به آن متصل (bind) شود تنظیم می‌کند. هر دو آدرس IPv4 و IPv6 و همچنین نام‌های میزبان (تحلیل نام در مقصد انجام می‌شود) پذیرفته می‌شوند. برخی هایپروایزرها از تعیین نشانی شنود پشتیبانی نمی‌کنند و در صورت استفاده از این پارامتر خطایی را برمی‌گردانند. اگر \fIdesturi\fP از روش انتقال UNIX استفاده کند، نمی‌توان از این پارامتر استفاده کرد. .sp پارامتر اختیاری \fIdisks\-port\fP پورتی را که هایپروایزر در سمت مقصد باید برای ترافیک ورودی دیسک‌ها به آن bind شود تنظیم می‌کند. در حال حاضر این پارامتر فقط توسط QEMU پشتیبانی می‌شود. .sp پارامتر اختیاری \fIdisks\-uri\fP نیز می‌تواند مشخص شود (با \fIdisks\-port\fP مانعة‌الجمع است) تا تعیین کند هایپروایزر دوردست هنگام مهاجرت دیسک‌ها باید به چه چیزی bind/connect شود. این می‌تواند \fItcp://address:port\fP برای تعیین نشانی شنود (که \fI\-\-migrate\-uri\fP و \fI\-\-listen\-address\fP را برای مهاجرت دیسک لغو می‌کند) و یک پورت باشد، یا \fIunix:///path/to/socket\fP در صورتی که نیاز داشته باشید مهاجرت دیسک از طریق یک سوکت UNIX با آن مسیر مشخص‌شده انجام شود. در این حالت باید مطمئن شوید همان مسیر سوکت برای هر دو هایپروایزر مبدأ و مقصد در دسترس است و اتصال به سوکت در مبدأ (پس از این که هایپروایزر آن را در مقصد ایجاد کرد) واقعاً به مقصد متصل می‌شود. اگر از SELinux استفاده می‌کنید (حداقل در میزبان مبدأ)، باید اطمینان حاصل کنید که سوکت در مبدأ برای برقراری اتصال توسط libvirtd/QEMU قابل دسترسی است. Libvirt نمی‌تواند بافت (context) سوکت موجود را تغییر دهد زیرا با نمایش فایلیِ سوکت تفاوت دارد و context توسط ایجادکنندهٔ آن (معمولاً با استفاده از توابع \fIsetsockcreatecon{,_raw}()\fP) تعیین می‌شود. .sp گزینهٔ اختیاری \fI\-\-available\-switchover\-bandwidth\fP پهنای باند محاسبه‌شدهٔ خودکار (بر حسب MiB/s) در دسترس برای فاز نهایی مهاجرت (pre\-copy) را لغو می‌کند؛ فازی که در طول آن پردازنده‌ها متوقف شده و تمام حافظه و وضعیت باقی‌ماندهٔ دستگاه‌ها منتقل می‌شود. دانستن این پهنای باند برای برآورد دقیق زمان از کارافتادگی (downtime) دامین و تصمیم‌گیری در مورد لحظهٔ مناسب جابه‌جایی مهم است. معمولاً این مقدار بر اساس پهنای باند استفاده‌شده توسط مهاجرت تخمین زده می‌شود، اما این مقدار ممکن است کمتر از پهنای باند در دسترس واقعی باشد. استفاده از این گزینه می‌تواند به همگرایی مهاجرت کمک کند، در شرایطی که مهاجرت با این تصور که پهنای باند کافی برای مطابقت با حداکثر زمان downtime پیکربندی‌شده وجود ندارد، مکرراً تکرار می‌شود..SS migrate\-compcache .sp \fBنحو:\fP .INDENT 0.0 .INDENT 3.5 .sp .EX migrate\-compcache domain [\-\-size bytes] .EE .UNINDENT .UNINDENT .sp اندازه حافظه نهان (کش) مورد استفاده برای فشرده‌سازی صفحه‌های حافظه‌ای را که به‌طور مکرر در حین مهاجرت زنده منتقل می‌شوند (به بایت)، تنظیم و/یا دریافت می‌کند. هنگامی که بدون \fIsize\fP فراخوانی شود، دستور صرفاً اندازه فعلی کش فشرده‌سازی را چاپ می‌کند. هنگامی که \fIsize\fP مشخص شده باشد، از hypervisor درخواست می‌شود کش فشرده‌سازی را به \fIsize\fP بایت تغییر دهد و سپس اندازه فعلی چاپ می‌شود (ممکن است نتیجه به دلیل گرد کردن انجام‌شده توسط hypervisor با اندازه درخواستی متفاوت باشد). گزینه \fIsize\fP برای استفاده در حین مهاجرت زنده دامنه در نظر گرفته شده است، تا واکنشی به روند پیشرفت مهاجرت و افزایش تعداد عدم اصابت‌های کش فشرده‌سازی (compression cache misses) به‌دست‌آمده از domjobinfo باشد. .SS migrate\-getmaxdowntime .sp \fBنحو:\fP .INDENT 0.0 .INDENT 3.5 .sp .EX migrate\-getmaxdowntime domain .EE .UNINDENT .UNINDENT .sp حداکثر زمان از کار افتادگی (downtime) قابل تحمل را برای دامنه‌ای که در حال مهاجرت زنده به میزبان دیگری است دریافت می‌کند. این مقدار، تعداد میلی‌ثانیه‌هایی است که مهمان مجاز است در انتهای مهاجرت زنده غیرفعال باشد. .SS migrate\-getspeed .sp \fBنحو:\fP .INDENT 0.0 .INDENT 3.5 .sp .EX migrate\-getspeed domain [\-\-postcopy] .EE .UNINDENT .UNINDENT .sp حداکثر پهنای باند مهاجرت (بر حسب MiB/s) را برای یک دامنه دریافت می‌کند. در صورت مشخص شدن گزینه \fI\-\-postcopy\fP، این دستور حداکثر پهنای باند مجاز را در طول فاز مهاجرت post\-copy دریافت خواهد کرد. .SS migrate\-postcopy .sp \fBنحو:\fP .INDENT 0.0 .INDENT 3.5 .sp .EX migrate\-postcopy domain .EE .UNINDENT .UNINDENT .sp وضعیت مهاجرت فعلی را از pre\-copy به post\-copy تغییر می‌دهد. این قابلیت تنها برای مهاجرتی که با گزینه \fI\-\-postcopy\fP آغاز شده باشد، پشتیبانی می‌شود. .SS migrate\-setmaxdowntime .sp \fBنحو:\fP .INDENT 0.0 .INDENT 3.5 .sp .EX migrate\-setmaxdowntime domain downtime .EE .UNINDENT .UNINDENT .sp حداکثر زمان از کار افتادگی (downtime) قابل تحمل را برای دامنه‌ای که در حال مهاجرت زنده به میزبان دیگری است تنظیم می‌کند. آرگومان \fIdowntime\fP تعداد میلی‌ثانیه‌هایی است که مهمان مجاز است در پایان مهاجرت زنده غیرفعال باشد..SS migrate\-setspeed .sp \fBنحو:\fP .INDENT 0.0 .INDENT 3.5 .sp .EX migrate\-setspeed domain bandwidth [\-\-postcopy] .EE .UNINDENT .UNINDENT .sp تنظیم حداکثر پهنای باند مهاجرت (بر حسب MiB/s) برای دامنه‌ای که در حال مهاجرت به میزبان دیگری است. \fIbandwidth\fP به عنوان یک مقدار unsigned long long تفسیر می‌شود. مشخص کردن یک مقدار منفی منجر به ارائه مقداری اساساً نامحدود به هایپروایزر خواهد شد. هایپروایزر می‌تواند انتخاب کند که مقدار را رد کند یا آن را به حداکثر مقدار مجاز تبدیل نماید. اگر گزینه \fI\-\-postcopy\fP مشخص شده باشد، دستور حداکثر پهنای باند مجاز را در طول مرحله مهاجرت پس‌رونوشت (post\-copy) تنظیم می‌کند. .SS numatune .sp \fBنحو:\fP .INDENT 0.0 .INDENT 3.5 .sp .EX numatune domain [\-\-mode mode] [\-\-nodeset nodeset] [[\-\-config] [\-\-live] | [\-\-current]] .EE .UNINDENT .UNINDENT .sp تنظیم یا دریافت پارامترهای numa دامنه، متناظر با عنصر در XML دامنه. بدون پرچم‌ها، تنظیمات فعلی نمایش داده می‌شوند. .sp مقدار \fImode\fP می‌تواند یکی از موارد \(gastrict\(aq، \(gainterleave\(aq، \(gapreferred\(aq و \(aqrestrictive\(aq باشد، یا در صورتی که دیمن پشتیبانی کند، هر عدد معتبری از شمارشگر virDomainNumatuneMemMode باشد. برای یک دامنه در حال اجرا، mode قابل تغییر نیست و nodeset تنها در صورتی قابل تغییر است که دامنه با حالت \(garestrictive\(aq شروع به کار کرده باشد. .sp مقدار \fInodeset\fP فهرستی از گره‌های numa است که توسط میزبان برای اجرای دامنه استفاده می‌شود. نحو آن به صورت یک فهرست جداشده با کاما است که در آن از \(aq\-\(aq برای بازه‌ها و از \(aq^\(aq برای مستثنی کردن یک گره استفاده می‌شود. .sp اگر \fI\-\-live\fP مشخص شده باشد، اطلاعات زمان‌بند یک مهمان در حال اجرا را تنظیم می‌کند. اگر \fI\-\-config\fP مشخص شده باشد، بر راه‌اندازی بعدی یک مهمان ماندگار تأثیر می‌گذارد. اگر \fI\-\-current\fP مشخص شده باشد، بسته به وضعیت فعلی مهمان معادل \fI\-\-live\fP یا \fI\-\-config\fP خواهد بود. .sp برای مهمان‌های در حال اجرا در میزبان‌های لینوکس، تغییرات اعمال‌شده در پارامترهای numa دامنه به این معنی نیست که حافظه مهمان بلافاصله به یک nodeset دیگر منتقل خواهد شد. مهاجرت حافظه به فعالیت مهمان بستگی دارد و حافظه یک مهمان بیکار برای مدت طولانی‌تری در nodeset قبلی خود باقی می‌ماند. همچنین حضور دستگاه‌های VFIO فارغ از تغییرات nodeset، بخش‌هایی از حافظه مهمان را در همان nodeset استفاده‌شده برای راه‌اندازی اولیه قفل خواهد کرد. .SS perf .sp \fBنحو:\fP .INDENT 0.0 .INDENT 3.5 .sp .EX perf domain [\-\-enable eventSpec] [\-\-disable eventSpec] [[\-\-config] [\-\-live] | [\-\-current]] .EE .UNINDENT .UNINDENT .sp دریافت تنظیمات فعلی رویدادهای perf یا فعال/غیرفعال‌سازی رویدادهای مشخص perf برای یک دامنه مهمان. .sp ابزار Perf یک ابزار تحلیل عملکرد در لینوکس است و می‌تواند شمارنده‌های عملکرد CPU، نقاط ردگیری (tracepoints)، پروب‌های هسته (kprobes) و پروب‌های کاربر (uprobes - ردگیری پویا) را پایش کند. Perf از فهرستی از رویدادهای قابل اندازه‌گیری پشتیبانی می‌کند و می‌تواند رویدادهایی که از منابع گوناگون می‌آیند را بسنجد. برای مثال، برخی رویدادها شمارنده‌های خالص هسته هستند که در این حالت رویدادهای نرم‌افزاری نامیده می‌شوند، از جمله context\-switches، minor\-faults و غیره. امروزه ده‌ها رویداد از منابع مختلف توسط perf پشتیبانی می‌شوند. .sp در حال حاضر فقط QEMU/KVM از این دستور پشتیبانی می‌کند. گزینه‌های \fI\-\-enable\fP و \fI\-\-disable\fP در ترکیب با \fBeventSpec\fP می‌توانند برای فعال یا غیرفعال کردن رویدادهای عملکردی خاص استفاده شوند. مقدار \fBeventSpec\fP یک فهرست رشته‌ای از یک یا چند رویداد است که با کاما از هم جدا شده‌اند. نام‌های معتبر رویدادها به شرح زیر است: .sp \fBنام‌های معتبر رویدادهای perf\fP .INDENT 0.0 .IP \(bu 2 \fBcmt\fP \- یک قابلیت PQos (کیفیت خدمات پلتفرم) برای نظارت بر مصرف حافظه نهان (cache) توسط برنامه‌های در حال اجرا بر روی پلتفرم. .IP \(bu 2 \fBmbmt\fP \- روشی را برای نظارت بر پهنای باند حافظه کل سیستم میان یک سطح از حافظه نهان و سطحی دیگر فراهم می‌کند. .IP \(bu 2 \fBmbml\fP \- روشی را برای محدود کردن مقدار داده ارسالی (بایت بر ثانیه) از طریق کنترل‌کننده حافظه بر روی سوکت فراهم می‌کند. .IP \(bu 2 \fBcache_misses\fP \- تعداد خطاهای عدم اصابت به حافظه نهان (cache misses) توسط برنامه‌های در حال اجرا روی پلتفرم را ارائه می‌دهد. .IP \(bu 2 \fBcache_references\fP \- تعداد مراجعات موفق به حافظه نهان (cache hits) توسط برنامه‌های در حال اجرا روی پلتفرم را ارائه می‌دهد. .IP \(bu 2 \fBinstructions\fP \- تعداد دستورالعمل‌های اجراشده توسط برنامه‌های در حال اجرا روی پلتفرم را ارائه می‌دهد. .IP \(bu 2 \fBcpu_cycles\fP \- تعداد چرخه‌های cpu (کل/سپری‌شده) را ارائه می‌دهد. ممکن است به همراه instructions برای به‌دست آوردن چرخه بر ازای هر دستورالعمل استفاده شود. .IP \(bu 2 \fBbranch_instructions\fP \- تعداد دستورالعمل‌های شاخه‌ای (انشعاب) اجراشده توسط برنامه‌های در حال اجرا روی پلتفرم را ارائه می‌دهد. .IP \(bu 2 \fBbranch_misses\fP \- تعداد پیش‌بینی‌های نادرست شاخه اجراشده توسط برنامه‌های در حال اجرا روی پلتفرم را ارائه می‌دهد. .IP \(bu 2 \fBbus_cycles\fP \- تعداد چرخه‌های گذرگاه (bus) اجراشده توسط برنامه‌های در حال اجرا روی پلتفرم را ارائه می‌دهد. .IP \(bu 2 \fBstalled_cycles_frontend\fP \- تعداد چرخه‌های متوقف‌شده cpu در فرانت‌اند خط‌لوله پردازش دستورالعمل توسط برنامه‌های در حال اجرا روی پلتفرم را ارائه می‌دهد. .IP \(bu 2 \fBstalled_cycles_backend\fP \- تعداد چرخه‌های متوقف‌شده cpu در بک‌اند خط‌لوله پردازش دستورالعمل توسط برنامه‌های در حال اجرا روی پلتفرم را ارائه می‌دهد. .IP \(bu 2 \fBref_cpu_cycles\fP \- تعداد کل چرخه‌های cpu که تحت تأثیر مقیاس‌بندی فرکانس پردازنده (CPU frequency scaling) قرار نگرفته‌اند را برای برنامه‌های در حال اجرا ارائه می‌دهد. .IP \(bu 2 \fBcpu_clock\fP \- زمان ساعت cpu مصرف‌شده توسط برنامه‌های در حال اجرا روی پلتفرم را ارائه می‌دهد. .IP \(bu 2 \fBtask_clock\fP \- زمان ساعت وظیفه (task clock) مصرف‌شده توسط برنامه‌های در حال اجرا روی پلتفرم را ارائه می‌دهد. .IP \(bu 2 \fBpage_faults\fP \- تعداد خطاهای صفحه (page faults) رخ‌داده توسط برنامه‌های در حال اجرا روی پلتفرم را ارائه می‌دهد. .IP \(bu 2 \fBcontext_switches\fP \- تعداد تعویض‌های زمینه (context switches) توسط برنامه‌های در حال اجرا روی پلتفرم را ارائه می‌دهد. .IP \(bu 2 \fBcpu_migrations\fP \- تعداد مهاجرت‌های cpu توسط برنامه‌های در حال اجرا روی پلتفرم را ارائه می‌دهد. .IP \(bu 2 \fBpage_faults_min\fP \- تعداد خطاهای صفحه جزئی (minor page faults) رخ‌داده توسط برنامه‌های در حال اجرا روی پلتفرم را ارائه می‌دهد. .IP \(bu 2 \fBpage_faults_maj\fP \- تعداد خطاهای صفحه عمده (major page faults) رخ‌داده توسط برنامه‌های در حال اجرا روی پلتفرم را ارائه می‌دهد. .IP \(bu 2 \fBalignment_faults\fP \- تعداد خطاهای تراز (alignment faults) ناشی از برنامه‌های در حال اجرا روی پلتفرم را ارائه می‌دهد. .IP \(bu 2 \fBemulation_faults\fP \- تعداد خطاهای شبیه‌سازی (emulation faults) ناشی از برنامه‌های در حال اجرا روی پلتفرم را ارائه می‌دهد. .UNINDENT .sp \fBنکته\fP: آمارها را می‌توان با استفاده از دستور \fBdomstats\fP و به همراه پرچم \fI\-\-perf\fP بازیابی کرد. .sp اگر \fI\-\-live\fP مشخص شده باشد، بر یک مهمان در حال اجرا تأثیر می‌گذارد. اگر \fI\-\-config\fP مشخص شده باشد، بر راه‌اندازی بعدی یک مهمان ماندگار تأثیر می‌گذارد. اگر \fI\-\-current\fP مشخص شده باشد، بسته به وضعیت فعلی مهمان معادل \fI\-\-live\fP یا \fI\-\-config\fP خواهد بود. هر دو پرچم \fI\-\-live\fP و \fI\-\-config\fP می‌توانند با هم ارائه شوند، اما \fI\-\-current\fP مانعة‌الجمع است. در صورتی که هیچ پرچمی مشخص نشود، رفتار بسته به هایپروایزر متفاوت خواهد بود..SS reboot .sp \fBنحو:\fP .INDENT 0.0 .INDENT 3.5 .sp .EX reboot domain [\-\-mode MODE\-LIST] .EE .UNINDENT .UNINDENT .sp راه‌اندازی مجدد (reboot) یک دامنه. این دستور دقیقاً به گونه‌ای عمل می‌کند که گویی دستور \fBreboot\fP از طریق کنسول دامنه اجرا شده باشد. این دستور به محض اعمال اقدام راه‌اندازی مجدد بازمی‌گردد، که ممکن است به میزان قابل توجهی پیش از راه‌اندازی مجدد واقعی دامنه باشد. .sp رفتار دقیق یک دامنه هنگام راه‌اندازی مجدد توسط پارامتر \fIon_reboot\fP در تعاریف XML دامنه تعیین می‌شود. .sp به طور پیش‌فرض هایپروایزر تلاش خواهد کرد یک روش خاموش‌سازی مناسب را انتخاب کند. برای مشخص کردن یک روش جایگزین، پارامتر \fI\-\-mode\fP می‌تواند فهرستی جداشده با کاما را تعیین کند که شامل \fBacpi\fP، \fBagent\fP، \fBinitctl\fP، \fBsignal\fP و \fBparavirt\fP است\&. ترتیبی که درایورها هر حالت را امتحان می‌کنند نامشخص است و ارتباطی با ترتیب مشخص‌شده برای virsh ندارد. برای کنترل دقیق بر روی ترتیب، هر بار از یک حالت استفاده کرده و دستور را تکرار کنید. .SS reset .sp \fBنحو:\fP .INDENT 0.0 .INDENT 3.5 .sp .EX reset domain .EE .UNINDENT .UNINDENT .sp بازنشانی فوری یک دامنه بدون هیچ‌گونه خاموش‌سازی مهمان. دستور \fBreset\fP دکمه سخت‌افزاری بازنشانی (power reset) دستگاه را شبیه‌سازی می‌کند، که در آن تمام سخت‌افزارهای مهمان فعال شدن خط RST را دریافت کرده و وضعیت داخلی خود را مجدداً مقداردهی اولیه می‌کنند. .sp \fBنکته\fP: بازنشانی بدون خاموش‌سازی سیستم‌عامل مهمان خطر از دست رفتن داده‌ها را به همراه دارد. .SS restore .sp \fBنحو:\fP .INDENT 0.0 .INDENT 3.5 .sp .EX restore state\-file [\-\-bypass\-cache] [\-\-xml file] [{\-\-running | \-\-paused}] [\-\-reset\-nvram] [\-\-parallel\-channels] .EE .UNINDENT .UNINDENT .sp بازیابی یک دامنه از یک فایل وضعیت \fBvirsh save\fP. برای اطلاعات بیشتر \fIsave\fP را ببینید. .sp اگر \fI\-\-bypass\-cache\fP مشخص شده باشد، عملیات بازیابی از به‌کارگیری حافظه نهان (cache) سیستم فایل اجتناب می‌کند. بسته به سناریوی خاص، این کار ممکن است سرعت عملیات را کاهش یا افزایش دهد. .sp آرگومان \fI\-\-xml\fP \fBfile\fP معمولاً نادیده گرفته می‌شود، اما می‌تواند برای ارائه یک فایل XML جایگزین جهت استفاده روی مهمان بازیابی‌شده با اعمال تغییرات تنها در بخش‌های مربوط به میزبان در XML دامنه به کار رود. برای مثال، می‌توان از آن برای جبران تفاوت‌های نام‌گذاری فایل در فضای ذخیره‌سازی زیربنایی ناشی از اسنپ‌شات‌های دیسک گرفته‌شده پس از ذخیره دامنه استفاده کرد. .sp به طور معمول، بازیابی یک ایمیج ذخیره‌شده از وضعیت ثبت‌شده در تصویر ذخیره‌سازی برای تصمیم‌گیری بین حالت‌های در حال اجرا (running) یا متوقف (paused) استفاده می‌کند؛ ارسال هر یک از پرچم‌های \fI\-\-running\fP یا \fI\-\-paused\fP اجازه می‌دهد وضعیتی که دامنه باید با آن آغاز به کار کند بازنویسی (override) شود. .sp اگر \fI\-\-reset\-nvram\fP مشخص شود، هرگونه فایل موجود NVRAM/varstore حذف شده و از روی قالب اولیه و دست‌نخورده خود مجدداً مقداردهی اولیه می‌شود. .sp گزینه \fI\-\-parallel\-channels\fP می‌تواند تعداد کانال‌های موازی I/O را که هنگام بارگذاری حافظه از فایل استفاده می‌شوند مشخص کند. ذخیره‌سازی موازی ممکن است زمان مورد نیاز برای ذخیره دامنه‌های دارای حافظه بزرگ را به میزان چشمگیری کاهش دهد. .sp \fBنکته\fP: برای جلوگیری از خراب شدن محتویات سیستم فایل درون دامنه، نباید از فایل وضعیت ذخیره‌شده برای یک \fBrestore\fP ثانویه استفاده کنید مگر اینکه تمام حجم‌های ذخیره‌سازی (storage volumes) را به همان محتوایی که هنگام ایجاد فایل وضعیت داشتند بازگردانده باشید..SS resume .sp \fBنحو:\fP .INDENT 0.0 .INDENT 3.5 .sp .EX resume domain .EE .UNINDENT .UNINDENT .sp دامنه را از وضعیت تعلیق خارج می‌کند. این کار به دامنهٔ از قبل تعلیق‌شده اجازه می‌دهد که اکنون برای زمان‌بندی توسط هایپروایزر زیربنایی واجد شرایط شود. .SS save .sp \fBنحو:\fP .INDENT 0.0 .INDENT 3.5 .sp .EX save domain state\-file [\-\-bypass\-cache] [\-\-xml file] [\-\-image\-format format] [\-\-parallel\-channels channels] [{\-\-running | \-\-paused}] [\-\-verbose] .EE .UNINDENT .UNINDENT .sp یک دامنهٔ در حال اجرا را (حافظهٔ RAM، اما نه وضعیت دیسک) در یک فایل وضعیت ذخیره می‌کند تا بتوان بعداً آن را بازیابی کرد. پس از ذخیره شدن، دامنه دیگر روی سیستم اجرا نخواهد شد، بنابراین حافظهٔ تخصیص‌یافته به دامنه برای استفادهٔ سایر دامنه‌ها آزاد می‌شود. دستور \fBvirsh restore\fP از این فایل وضعیت بازیابی را انجام می‌دهد. .sp اگر \fI\-\-bypass\-cache\fP مشخص شود، عملیات ذخیره‌سازی از حافظهٔ موقت سیستم فایل چشم‌پوشی می‌کند. بسته به سناریوی خاص، این کار ممکن است سرعت عملیات را کاهش یا افزایش دهد. .sp پیشرفت عملیات را می‌توان با استفاده از دستور virsh با نام \fBdomjobinfo\fP نظارت کرد و با دستور \fBdomjobabort\fP (ارسال‌شده از یک نمونهٔ دیگر virsh) لغو نمود. گزینهٔ دیگر، ارسال SIGINT (معمولاً با \fBCtrl\-C\fP) به فرایند virsh در حال اجرای دستور \fBsave\fP است. گزینهٔ \fI\-\-verbose\fP پیشرفت ذخیره‌سازی را نمایش می‌دهد. .sp این عمل تقریباً معادل انجام خواب زمستانی (hibernate) روی یک رایانهٔ در حال اجرا با همان محدودیت‌ها است. اتصالات باز شبکه ممکن است هنگام بازیابی قطع شوند، زیرا ممکن است مهلت‌های زمانی TCP منقضی شده باشند. .sp آرگومان \fI\-\-xml\fP \fBfile\fP معمولاً نادیده گرفته می‌شود، اما می‌تواند برای ارائهٔ یک فایل XML جایگزین جهت استفاده در مهمان بازیابی‌شده با تغییراتی فقط در بخش‌های وابسته به میزبان در XML دامنه به کار رود. برای مثال، می‌توان از آن برای لحاظ کردن تفاوت‌های نام‌گذاری فایل که قرار است از طریق اسنپ‌شات‌های دیسک از فضای ذخیره‌سازی زیربنایی پس از ذخیره شدن مهمان اعمال شوند، استفاده کرد. .sp به‌طور معمول، بازیابی یک ایمیج ذخیره‌شده بر اساس وضعیتی که دامنه هنگام انجام ذخیره‌سازی در آن قرار داشت، بین در حال اجرا یا متوقف‌شده تصمیم‌گیری می‌کند؛ ارسال هر یک از پرچم‌های \fI\-\-running\fP یا \fI\-\-paused\fP امکان لغو و بازنویسی وضعیتی را که \fBrestore\fP باید استفاده کند فراهم می‌کند. .sp گزینهٔ \fI\-\-image\-format\fP می‌تواند قالب پیش‌فرض ایمیج مورد استفاده برای ذخیرهٔ داده‌ها در فایل را تغییر دهد. برای جزئیات بیشتر به فایل پیکربندی qemu.conf مراجعه کنید. .sp گزینهٔ \fI\-\-parallel\-channels\fP می‌تواند تعداد کانال‌های موازی IO را که هنگام ذخیرهٔ حافظه در فایل استفاده می‌شوند مشخص کند. استفاده از کانال‌های موازی IO مستلزم استفاده از قالب ذخیره‌سازی ایمیج \fBsparse\fP است. ذخیره‌سازی موازی ممکن است زمان لازم برای ذخیرهٔ دامنه‌های دارای حافظهٔ بزرگ را به میزان قابل توجهی کاهش دهد. .sp فایل‌های وضعیت ذخیره‌شدهٔ دامنه فرض می‌کنند که ایمیج‌های دیسک بین نقطهٔ ایجاد و نقطهٔ بازیابی بدون تغییر باقی می‌مانند. برای یک نقطهٔ بازیابی کامل‌تر سیستم که در آن وضعیت دیسک در کنار وضعیت حافظه ذخیره می‌شود، خانوادهٔ دستورات \fBsnapshot\fP را ببینید. .SS save\-image\-define .sp \fBنحو:\fP .INDENT 0.0 .INDENT 3.5 .sp .EX save\-image\-define file xml [{\-\-running | \-\-paused}] .EE .UNINDENT .UNINDENT .sp بخش XML دامنه را که هنگام استفادهٔ بعدی از \fIfile\fP در دستور \fBrestore\fP به کار می‌رود، به‌روزرسانی می‌کند. آرگومان \fIxml\fP باید نام فایلی حاوی XML جایگزین باشد که تغییرات آن فقط در بخش‌های وابسته به میزبان در XML دامنه اعمال شده باشد. برای مثال، می‌توان از آن برای لحاظ کردن تفاوت‌های نام‌گذاری فایل ناشی از ایجاد اسنپ‌شات‌های دیسک از فضای ذخیره‌سازی زیربنایی پس از ذخیره شدن مهمان استفاده کرد. .sp ایمیج ذخیره‌شده ثبت می‌کند که آیا دامنه باید در وضعیت در حال اجرا یا متوقف‌شده بازیابی شود. به‌طور معمول، این دستور وضعیت ثبت‌شده را تغییر نمی‌دهد؛ ارسال هر یک از پرچم‌های \fI\-\-running\fP یا \fI\-\-paused\fP امکان بازنویسی وضعیتی را که \fBrestore\fP باید استفاده کند فراهم می‌کند..SS save\-image\-dumpxml .sp \fBنحو:\fP .INDENT 0.0 .INDENT 3.5 .sp .EX save\-image\-dumpxml [\-\-security\-info] [\-\-xpath EXPRESSION] [\-\-wrap] file .EE .UNINDENT .UNINDENT .sp استخراج XML دامنه که در زمان ایجاد فایل وضعیت ذخیره‌شدهٔ \fIfile\fP با دستور \fBsave\fP اعمال شده بود. استفاده از \fI\-\-security\-info\fP همچنین اطلاعات حساس امنیتی را نیز شامل خواهد شد. .sp اگر آرگومان \fB\-\-xpath\fP یک عبارت XPath مشخص کند، بر روی XML خروجی ارزیابی خواهد شد و تنها گره‌های منطبق چاپ می‌شوند. رفتار پیش‌فرض چاپ هر گره منطبق به عنوان یک سند مستقل است؛ اما برای سهولت در پردازش‌های بیشتر، آرگومان \fB\-\-wrap\fP باعث می‌شود که گره‌های منطبق در یک گره ریشه مشترک احاطه شوند. .SS save\-image\-edit .sp \fBنحو:\fP .INDENT 0.0 .INDENT 3.5 .sp .EX save\-image\-edit file [{\-\-running | \-\-paused}] .EE .UNINDENT .UNINDENT .sp ویرایش پیکربندی XML مرتبط با یک فایل وضعیت ذخیره‌شدهٔ \fIfile\fP ایجادشده توسط دستور \fBsave\fP. .sp تصویر ذخیره‌سازی ثبت می‌کند که آیا دامنه باید به وضعیت در حال اجرا (running) یا متوقف‌شده (paused) بازگردانده شود. به طور معمول، این دستور وضعیت ثبت‌شده را تغییر نمی‌دهد؛ ارسال هر یک از پرچم‌های \fI\-\-running\fP یا \fI\-\-paused\fP اجازه می‌دهد وضعیتی که \fBrestore\fP باید استفاده کند بازنویسی شود. .sp این معادل است با: .INDENT 0.0 .INDENT 3.5 .sp .EX virsh save\-image\-dumpxml state\-file > state\-file.xml vi state\-file.xml (or make changes with your other text editor) virsh save\-image\-define state\-file state\-file\-xml .EE .UNINDENT .UNINDENT .sp با این تفاوت که برخی بررسی‌های خطا را انجام می‌دهد. .sp ویرایشگر مورداستفاده می‌تواند از طریق متغیرهای محیطی \fB$VISUAL\fP یا \fB$EDITOR\fP تعیین شود و مقدار پیش‌فرض آن \fBvi\fP است\&. .SS schedinfo .sp \fBنحو:\fP .INDENT 0.0 .INDENT 3.5 .sp .EX schedinfo domain [[\-\-config] [\-\-live] | [\-\-current]] [[\-\-set] parameter=value]... schedinfo [\-\-weight number] [\-\-cap number] domain .EE .UNINDENT .UNINDENT .sp به شما امکان نمایش (و تنظیم) پارامترهای زمان‌بند دامنه را می‌دهد. پارامترهای موجود برای هر هایپروایزر عبارتند از: .sp LXC (زمان‌بند posix): cpu_shares, vcpu_period, vcpu_quota .sp QEMU/KVM (زمان‌بند posix): cpu_shares, vcpu_period, vcpu_quota, emulator_period, emulator_quota, global_period, global_quota, iothread_period, iothread_quota .sp Xen (زمان‌بند credit): weight, cap .sp ESX (زمان‌بند allocation): reservation, limit, shares .sp اگر \fI\-\-live\fP مشخص شود، اطلاعات زمان‌بند یک مهمان در حال اجرا را تنظیم می‌کند. اگر \fI\-\-config\fP مشخص شود، بر راه‌اندازی بعدی یک مهمان پایدار تأثیر می‌گذارد. اگر \fI\-\-current\fP مشخص شود، بسته به وضعیت کنونی مهمان، معادل \fI\-\-live\fP یا \fI\-\-config\fP خواهد بود. .sp \fBنکته\fP: پارامتر cpu_shares در cgroups v1 دارای بازه مقدار معتبر 2\-262144 و در cgroups v2 دارای بازه 1\-10000 است. .sp \fBنکته\fP: پارامترهای weight و cap تنها برای زمان‌بند XEN_CREDIT تعریف شده‌اند. .sp \fBنکته\fP: پارامترهای vcpu_period، emulator_period و iothread_period دارای بازه مقدار معتبر 1000\-1000000 یا 0 هستند، و پارامترهای vcpu_quota، emulator_quota و iothread_quota دارای بازه مقدار معتبر 1000\-17592186044415 یا کمتر از 0 هستند. مقدار 0 برای هر یک از این پارامترها همانند عدم تعیین آن پارامتر است..SS screenshot .sp \fBنحو:\fP .INDENT 0.0 .INDENT 3.5 .sp .EX screenshot domain [imagefilepath] [\-\-screen screenID] .EE .UNINDENT .UNINDENT .sp از کنسول دامنهٔ فعلی یک تصویر گرفته و آن را در یک فایل ذخیره می‌کند. به‌صورت اختیاری، در صورتی که هایپروایزر از چندین نمایشگر برای یک دامنه پشتیبانی کند، \fIscreenID\fP امکان مشخص کردن صفحهٔ مورد نظر برای تصویربرداری را فراهم می‌سازد. این شناسه، شمارهٔ ترتیبی صفحه است. در صورت وجود چندین کارت گرافیک، هدها (heads) پیش از دستگاه‌ها شماره‌گذاری می‌شوند؛ برای نمونه در صورت داشتن دو کارت گرافیک که هر دو دارای چهار هد هستند، شناسهٔ صفحهٔ ۵ به دومین هد روی کارت دوم اشاره دارد. .SS send\-key .sp \fBنحو:\fP .INDENT 0.0 .INDENT 3.5 .sp .EX send\-key domain [\-\-codeset codeset] [\-\-holdtime holdtime] keycode... .EE .UNINDENT .UNINDENT .sp دنبالهٔ \fIkeycode\fP را به عنوان ضربات کلید جهت ارسال به \fIdomain\fP\& پردازش می‌کند. هر \fIkeycode\fP می‌تواند یک مقدار عددی یا یک نام نمادین از codeset متناظر باشد. اگر \fI\-\-holdtime\fP مشخص شده باشد، هر ضربهٔ کلید به همان میزان میلی‌ثانیه فشرده نگه داشته می‌شود. مجموعه کد (\fIcodeset\fP) پیش‌فرض \fBlinux\fP است، اما با استفاده از گزینهٔ \fI\-\-codeset\fP می‌توان سایر codesetها را انتخاب کرد. .sp اگر چندین keycode مشخص شوند، همگی به‌صورت هم‌زمان به مهمان ارسال می‌گردند و ممکن است با ترتیبی تصادفی دریافت شوند. اگر به فشردن‌های مجزای کلید نیاز دارید، باید چندین بار دستور send\-key را اجرا کنید. .INDENT 0.0 .IP \(bu 2 \fBlinux\fP .sp مقادیر عددی همان مقادیری هستند که توسط زیرسیستم رویداد ورودی عمومی لینوکس تعریف شده‌اند. نام‌های نمادین با ماکروهای ثابت کلید متناظر در لینوکس همخوانی دارند. .sp virkeycode\-linux(7) و virkeyname\-linux(7) را ببینید .IP \(bu 2 \fBxt\fP .sp مقادیر عددی همان مقادیری هستند که توسط کنترلر صفحه‌کلید اصلی XT تعریف شده‌اند. هیچ نام نمادینی ارائه نشده است .sp virkeycode\-xt(7) را ببینید .IP \(bu 2 \fBatset1\fP .sp مقادیر عددی همان مقادیری هستند که توسط کنترلر صفحه‌کلید AT، مجموعهٔ ۱ (معروف به مجموعهٔ سازگار با XT) تعریف شده‌اند. کدهای کلید گسترش‌یافته از \fBatset1\fP ممکن است با کدهای کلید گسترش‌یافته در codeset مربوط به \fBxt\fP تفاوت داشته باشند. هیچ نام نمادینی ارائه نشده است .sp virkeycode\-atset1(7) را ببینید .IP \(bu 2 \fBatset2\fP .sp مقادیر عددی همان مقادیری هستند که توسط کنترلر صفحه‌کلید AT، مجموعهٔ ۲ تعریف شده‌اند. هیچ نام نمادینی ارائه نشده است .sp virkeycode\-atset2(7) را ببینید .IP \(bu 2 \fBatset3\fP .sp مقادیر عددی همان مقادیری هستند که توسط کنترلر صفحه‌کلید AT، مجموعهٔ ۳ (معروف به مجموعهٔ سازگار با PS/2) تعریف شده‌اند. هیچ نام نمادینی ارائه نشده است .sp virkeycode\-atset3(7) را ببینید .IP \(bu 2 \fBos_x\fP .sp مقادیر عددی همان مقادیری هستند که توسط زیرسیستم ورودی صفحه‌کلید macOS تعریف شده‌اند. نام‌های نمادین با ماکروهای ثابت کلید متناظر در macOS همخوانی دارند .sp virkeycode\-osx(7) و virkeyname\-osx(7) را ببینید .IP \(bu 2 \fBxt_kbd\fP .sp مقادیر عددی همان مقادیری هستند که توسط دستگاه KBD لینوکس تعریف شده‌اند. این‌ها گونه‌ای از codeset اصلی XT هستند، اما اغلب کدگذاری متفاوتی برای کدهای کلید گسترش‌یافته دارند. هیچ نام نمادینی ارائه نشده است. .sp virkeycode\-xtkbd(7) را ببینید .IP \(bu 2 \fBwin32\fP .sp مقادیر عددی همان مقادیری هستند که توسط زیرسیستم ورودی صفحه‌کلید Win32 تعریف شده‌اند. نام‌های نمادین با ماکروهای ثابت کلید متناظر در Win32 همخوانی دارند .sp virkeycode\-win32(7) و virkeyname\-win32(7) را ببینید .IP \(bu 2 \fBusb\fP .sp مقادیر عددی همان مقادیری هستند که توسط مشخصات USB HID برای ورودی صفحه‌کلید تعریف شده‌اند. هیچ نام نمادینی ارائه نشده است .sp virkeycode\-usb(7) را ببینید .IP \(bu 2 \fBqnum\fP .sp مقادیر عددی همان مقادیری هستند که توسط افزونهٔ QNUM برای ارسال کدهای کلید خام تعریف شده‌اند. این‌ها گونه‌ای از codeset مربوط به XT هستند، اما در کدهای کلید گسترش‌یافته به جای بیت بالاییِ بایت اول، بیت پایینیِ بایت دوم تنظیم شده است. هیچ نام نمادینی ارائه نشده است. .sp virkeycode\-qnum(7) را ببینید .UNINDENT .sp \fBمثال‌ها:\fP .INDENT 0.0 .INDENT 3.5 .sp .EX # ارسال سه کلید \(aqk\(aq، \(aqe\(aq و \(aqy\(aq با استفاده از codeset مربوط به xt. همهٔ # این‌ها به‌طور هم‌زمان فشرده می‌شوند و ممکن است توسط مهمان با ترتیبی تصادفی # دریافت شوند virsh send\-key dom \-\-codeset xt 37 18 21 # ارسال یک ضربهٔ کلید \(aqright\-ctrl+C\(aq virsh send\-key dom KEY_RIGHTCTRL KEY_C # ارسال یک کلید tab، فشرده نگه‌داشته‌شده به مدت ۱ ثانیه virsh send\-key \-\-holdtime 1000 0xf .EE .UNINDENT .UNINDENT.SS send\-process\-signal .sp \fBنحو:\fP .INDENT 0.0 .INDENT 3.5 .sp .EX send\-process\-signal domain\-id pid signame .EE .UNINDENT .UNINDENT .sp ارسال یک سیگنال \fIsigname\fP به فرآیندی با شناسهٔ \fIpid\fP که درون دامنهٔ مجازی \fIdomain\-id\fP در حال اجراست\&. شناسهٔ \fIpid\fP یک شناسهٔ فرآیند در فضای‌نام (namespace) دامنهٔ مجازی است. .sp آرگومان \fIsigname\fP می‌تواند یک عدد ثابت صحیح سیگنال یا یکی از نام‌های نمادین زیر باشد: .INDENT 0.0 .INDENT 3.5 .sp .EX \(dqnop\(dq, \(dqhup\(dq, \(dqint\(dq, \(dqquit\(dq, \(dqill\(dq, \(dqtrap\(dq, \(dqabrt\(dq, \(dqbus\(dq, \(dqfpe\(dq, \(dqkill\(dq, \(dqusr1\(dq, \(dqsegv\(dq, \(dqusr2\(dq, \(dqpipe\(dq, \(dqalrm\(dq, \(dqterm\(dq, \(dqstkflt\(dq, \(dqchld\(dq, \(dqcont\(dq, \(dqstop\(dq, \(dqtstp\(dq, \(dqttin\(dq, \(dqttou\(dq, \(dqurg\(dq, \(dqxcpu\(dq, \(dqxfsz\(dq, \(dqvtalrm\(dq, \(dqprof\(dq, \(dqwinch\(dq, \(dqpoll\(dq, \(dqpwr\(dq, \(dqsys\(dq, \(dqrt0\(dq, \(dqrt1\(dq, \(dqrt2\(dq, \(dqrt3\(dq, \(dqrt4\(dq, \(dqrt5\(dq, \(dqrt6\(dq, \(dqrt7\(dq, \(dqrt8\(dq, \(dqrt9\(dq, \(dqrt10\(dq, \(dqrt11\(dq, \(dqrt12\(dq, \(dqrt13\(dq, \(dqrt14\(dq, \(dqrt15\(dq, \(dqrt16\(dq, \(dqrt17\(dq, \(dqrt18\(dq, \(dqrt19\(dq, \(dqrt20\(dq, \(dqrt21\(dq, \(dqrt22\(dq, \(dqrt23\(dq, \(dqrt24\(dq, \(dqrt25\(dq, \(dqrt26\(dq, \(dqrt27\(dq, \(dqrt28\(dq, \(dqrt29\(dq, \(dqrt30\(dq, \(dqrt31\(dq, \(dqrt32\(dq .EE .UNINDENT .UNINDENT .sp نام نمادین می‌تواند به طور اختیاری با پیشوند \fBsig\fP یا \fBsig_\fP همراه باشد و می‌تواند با حروف بزرگ یا کوچک نوشته شود. .sp \fBمثال‌ها:\fP .INDENT 0.0 .INDENT 3.5 .sp .EX virsh send\-process\-signal myguest 1 15 virsh send\-process\-signal myguest 1 term virsh send\-process\-signal myguest 1 sigterm virsh send\-process\-signal myguest 1 SIG_HUP .EE .UNINDENT .UNINDENT .SS set\-lifecycle\-action .sp \fBنحو:\fP .INDENT 0.0 .INDENT 3.5 .sp .EX set\-lifecycle\-action domain type action [[\-\-config] [\-\-live] | [\-\-current]] .EE .UNINDENT .UNINDENT .sp تنظیم کنش چرخهٔ حیات (\fIaction\fP) برای نوع چرخهٔ حیات (\fItype\fP) مشخص‌شده\&. انواع معتبر شامل \(dqpoweroff\(dq، \(dqreboot\(dq و \(dqcrash\(dq هستند و برای هر یک از آن‌ها، \fIaction\fP معتبر یکی از موارد \(dqdestroy\(dq، \(dqrestart\(dq، \(dqrename\-restart\(dq یا \(dqpreserve\(dq است. برای \fItype\fP از نوع \(dqcrash\(dq، کنش‌های اضافی \(dqcoredump\-destroy\(dq و \(dqcoredump\-restart\(dq نیز پشتیبانی می‌شوند. .SS set\-user\-password .sp \fBنحو:\fP .INDENT 0.0 .INDENT 3.5 .sp .EX set\-user\-password domain user password [\-\-encrypted] .EE .UNINDENT .UNINDENT .sp تنظیم گذرواژه برای حساب کاربری \fIuser\fP در دامنهٔ مهمان. .sp اگر \fI\-\-encrypted\fP مشخص شده باشد، فرض می‌شود که گذرواژه از پیش با روش مورد نیاز سیستم‌عامل مهمان رمزنگاری شده است. .sp برای QEMU/KVM، این مورد نیازمند پیکربندی و در حال اجرا بودن عامل مهمان (guest agent) است..SS set\-user\-sshkeys .sp \fBنحو:\fP .INDENT 0.0 .INDENT 3.5 .sp .EX set\-user\-sshkeys domain user [\-\-file FILE] [{\-\-reset | \-\-remove}] .EE .UNINDENT .UNINDENT .sp کلیدهای خوانده‌شده از \fIFILE\fP را به فایل کلیدهای مجاز SSH مربوط به \fIuser\fP در دامنهٔ مهمان (\fIdomain\fP) الحاق می‌کند. کلیدها در \fIFILE\fP باید در خطوط جداگانه باشند و هر خط باید از قالب کلیدهای مجاز تعریف‌شده توسط \fIsshd(8)\fP پیروی کند. .sp اگر \fI\-\-reset\fP مشخص شده باشد، محتوای فایل کلیدهای مجاز مهمان پیش از الحاق کلیدهای جدید حذف می‌شود. به عنوان یک حالت ویژه، اگر \fI\-\-reset\fP مشخص شده باشد و هیچ \fIFILE\fPی داده نشده باشد، کلید جدیدی اضافه نمی‌شود و فایل کلیدهای مجاز پاکسازی و خالی می‌گردد. .sp اگر \fI\-\-remove\fP مشخص شده باشد، به جای افزودن هرگونه کلید جدید، کلیدهای خوانده‌شده از \fIFILE\fP از فایل کلیدهای مجاز حذف می‌شوند. در صورتی که کلید در فایل وجود نداشته باشد، خطا در نظر گرفته نمی‌شود. .SS setmaxmem .sp \fBنحو:\fP .INDENT 0.0 .INDENT 3.5 .sp .EX setmaxmem domain size [[\-\-config] [\-\-live] | [\-\-current]] .EE .UNINDENT .UNINDENT .sp تغییر حد حداکثر تخصیص حافظه برای یک دامنهٔ مهمان. اگر \fI\-\-live\fP مشخص شده باشد، بر یک مهمان در حال اجرا تأثیر می‌گذارد. اگر \fI\-\-config\fP مشخص شده باشد، بر راه‌اندازی بعدی یک مهمان پایدار تأثیر می‌گذارد. اگر \fI\-\-current\fP مشخص شده باشد، بسته به وضعیت فعلی مهمان، معادل با \fI\-\-live\fP یا \fI\-\-config\fP خواهد بود. هر دو پرچم \fI\-\-live\fP و \fI\-\-config\fP می‌توانند داده شوند، اما \fI\-\-current\fP انحصاری است. اگر هیچ پرچمی مشخص نشود، رفتار برنامه بسته به هایپروایزر متفاوت خواهد بود. .sp برخی هایپروایزرها مانند QEMU/KVM از تغییرات زنده (به‌ویژه افزایش) حد حداکثر حافظه پشتیبانی نمی‌کنند. حتی ممکن است تغییرات پایدار پیکربندی نیز در برخی هایپروایزرها/پیکربندی‌ها انجام نشود (برای مثال در دامنه‌های با NUMA فعال روی QEMU). برای تغییرات پیکربندی پیچیده به جای آن از دستور \fBedit\fP استفاده کنید. .sp مقدار \fIsize\fP یک عدد صحیح مقیاس‌پذیر است (بخش \fBNOTES\fP در بالا را ببینید)؛ پیش‌فرض آن کیبی‌بایت (بلوک‌های ۱۰۲۴ بایتی) است، مگر اینکه پسوندی ارائه دهید (و نام گزینهٔ قدیمی‌تر \fI\-\-kilobytes\fP به عنوان یک مترادف منسوخ‌شده در دسترس است). Libvirt مقدار را به نزدیک‌ترین کیبی‌بایت به بالا گرد می‌کند. برخی هایپروایزرها به دانه‌بندی (granularity) بزرگ‌تری نسبت به KiB نیاز دارند و درخواست‌هایی که مضرب صحیحی از آن نباشند به بالا گرد می‌شوند. برای مثال، vSphere/ESX پارامتر را به مبی‌بایت (۱۰۲۴ کیبی‌بایت) به بالا گرد می‌کند. .SS setmem .sp \fBنحو:\fP .INDENT 0.0 .INDENT 3.5 .sp .EX setmem domain size [[\-\-config] [\-\-live] | [\-\-current]] .EE .UNINDENT .UNINDENT .sp تغییر تخصیص حافظه برای یک دامنهٔ مهمان. اگر \fI\-\-live\fP مشخص شده باشد، عملیات بالونینگ حافظه (memory ballooning) را روی یک مهمان در حال اجرا انجام می‌دهد. اگر \fI\-\-config\fP مشخص شده باشد، بر راه‌اندازی بعدی یک مهمان پایدار تأثیر می‌گذارد. اگر \fI\-\-current\fP مشخص شده باشد، بسته به وضعیت فعلی مهمان، معادل با \fI\-\-live\fP یا \fI\-\-config\fP خواهد بود. هر دو پرچم \fI\-\-live\fP و \fI\-\-config\fP می‌توانند با هم داده شوند، اما \fI\-\-current\fP انحصاری است. اگر هیچ پرچمی مشخص نشود، رفتار برنامه بسته به هایپروایزر متفاوت خواهد بود. .sp مقدار \fIsize\fP یک عدد صحیح مقیاس‌پذیر است (بخش \fBNOTES\fP در بالا را ببینید)؛ پیش‌فرض آن کیبی‌بایت (بلوک‌های ۱۰۲۴ بایتی) است، مگر اینکه پسوندی ارائه دهید (و نام گزینهٔ قدیمی‌تر \fI\-\-kilobytes\fP به عنوان یک مترادف منسوخ‌شده در دسترس است). Libvirt مقدار را به نزدیک‌ترین کیبی‌بایت به بالا گرد می‌کند. برخی هایپروایزرها به دانه‌بندی بزرگ‌تری نسبت به KiB نیاز دارند و درخواست‌هایی که مضرب صحیحی از آن نباشند به بالا گرد می‌شوند. برای مثال، vSphere/ESX پارامتر را به مبی‌بایت (۱۰۲۴ کیبی‌بایت) به بالا گرد می‌کند. .sp برای Xen، تنها در صورتی می‌توانید حافظهٔ یک دامنهٔ در حال اجرا را تنظیم کنید که دامنه شبه‌مجازی‌سازی‌شده (paravirtualized) باشد یا گردانندهٔ بالون PV را اجرا کند. .sp برای LXC، مقداری که تنظیم می‌شود همان مقدار cgroups برای limit_in_bytes یا حداکثر میزان حافظهٔ کاربر (شامل حافظهٔ نهان فایل) است. هنگام مشاهدهٔ حافظه در داخل کانتینر، این همان مقدار \(dqMemTotal\(dq در /proc/meminfo است. هنگام مشاهدهٔ مقدار از سمت میزبان، از دستور \fBvirsh memtune\fP استفاده کنید. جهت مشاهدهٔ حافظهٔ فعلی در حال استفاده و حداکثر مقدار مجاز برای تنظیم حافظه، از دستور \fBvirsh dominfo\fP استفاده نمایید..SS setvcpus .sp \fBنحو:\fP .INDENT 0.0 .INDENT 3.5 .sp .EX setvcpus domain count [\-\-maximum] [[\-\-config] [\-\-live] | [\-\-current]] [\-\-guest] [\-\-hotpluggable] [\-\-async] .EE .UNINDENT .UNINDENT .sp تعداد پردازنده‌های مجازی (vCPU) فعال در یک دامنهٔ مهمان را تغییر می‌دهد. به‌طور پیش‌فرض، این دستور روی دامنه‌های مهمان فعال کار می‌کند. برای تغییر تنظیمات یک دامنهٔ مهمان غیرفعال، از پرچم \fI\-\-config\fP استفاده کنید. .sp مقدار \fIcount\fP ممکن است توسط میزبان، هایپروایزر یا محدودیتی ناشی از توصیف اولیهٔ دامنهٔ مهمان محدود شود. برای Xen، تنها در صورتی می‌توانید پردازنده‌های مجازی یک دامنهٔ در حال اجرا را تنظیم کنید که دامنه به‌صورت شبه‌مجازی‌سازی‌شده (paravirtualized) باشد. .sp اگر پرچم \fI\-\-config\fP مشخص شده باشد، تغییرات در پیکربندی ذخیره‌شدهٔ XML برای دامنهٔ مهمان اعمال می‌شود و تنها هنگام راه‌اندازی بعدی دامنهٔ مهمان تأثیر خواهد گذاشت. .sp اگر \fI\-\-live\fP مشخص شده باشد، دامنهٔ مهمان باید فعال باشد و تغییر بلافاصله اعمال می‌شود. در صورت پشتیبانی هایپروایزر، هر دو پرچم \fI\-\-config\fP و \fI\-\-live\fP می‌توانند با هم مشخص شوند. اگر این دستور قبل از اتمام راه‌اندازی (بوت شدن) مهمان اجرا شود، ممکن است مهمان در پردازش این تغییر با شکست مواجه شود. .sp اگر \fI\-\-current\fP مشخص شده باشد، بسته به وضعیت فعلی مهمان، معادل \fI\-\-live\fP یا \fI\-\-config\fP خواهد بود. .sp هنگامی که هیچ پرچمی داده نشود، پرچم \fI\-\-live\fP فرض می‌شود و دامنهٔ مهمان باید فعال باشد. در این وضعیت، تصمیم‌گیری دربارهٔ اینکه آیا پرچم \fI\-\-config\fP نیز فرض شود و در نتیجه پیکربندی XML برای دائمی کردن تغییرات تنظیم گردد یا خیر، بر عهدهٔ هایپروایزر است. .sp اگر \fI\-\-async\fP مشخص شده باشد، درخواست‌های جدا کردن زندهٔ vCPU بدون انتظار برای موافقت و انطباق مهمان ارسال می‌شوند. تکمیل نهایی توسط رویداد دامنهٔ \fBvcpu\-removed\fP گزارش می‌شود، در حالی که درخواست‌های جدا کردنِ رد شده همچنان توسط \fBdevice\-removal\-failed\fP\& گزارش خواهند شد. این پرچم را نمی‌توان با \fI\-\-guest\fP\& ترکیب کرد. .sp اگر \fI\-\-guest\fP مشخص شود، تعداد پردازنده‌ها به جای هایپروایزر در داخل مهمان تغییر می‌یابد. این پرچم فقط برای دامنه‌های زنده قابل استفاده است و ممکن است نیازمند پیکربندی عامل مهمان (guest agent) در مهمان باشد. .sp برای مجاز ساختن افزودن vCPUها به تعاریف دائمی به‌گونه‌ای که بعداً پس از راه‌اندازی دامنه بتوان آن‌ها را به‌صورت زنده جدا کرد (hotunplug)، لازم است پرچم \fI\-\-hotpluggable\fP مشخص شود. vCPUهای اضافه‌شده به دامنه‌های زنده‌ای که از جدا کردن vCPU پشتیبانی می‌کنند، به‌طور خودکار به‌عنوان hotpluggable علامت‌گذاری می‌شوند. .sp پرچم \fI\-\-maximum\fP بیشترین تعداد پردازنده‌های مجازی را که می‌توان در راه‌اندازی بعدی دامنه به‌طور زنده متصل کرد (hot-plug)، کنترل می‌کند. از این رو، تنها باید به همراه پرچم \fI\-\-config\fP استفاده شود، و نه با پرچم \fI\-\-live\fP یا \fI\-\-current\fP. توجه داشته باشید که اگر توپولوژی پردازنده برای مهمان مشخص شده باشد، ممکن است تغییر حداکثر تعداد vCPU امکان‌پذیر نباشد. .SS setvcpu .sp \fBنحو:\fP .INDENT 0.0 .INDENT 3.5 .sp .EX setvcpu domain vcpulist [\-\-enable] | [\-\-disable] [\-\-async] [[\-\-live] [\-\-config] | [\-\-current]] .EE .UNINDENT .UNINDENT .sp تغییر وضعیت تک‌تک vCPUها با استفاده از سازوکار اتصال/جداسازی زنده (hot(un)plug). .sp برای اطلاعات در مورد قالب \fIvcpulist\fP به \fBvcpupin\fP\& مراجعه کنید. درایورهای هایپروایزر ممکن است الزام کنند که \fIvcpulist\fP دقیقاً شامل vCPUهای متعلق به یک موجودیت با قابلیت اتصال زنده (hotpluggable) باشد. این مورد معمولاً فقط یک vCPU تکی است، اما معماری‌های خاصی مانند ppc64 نیاز دارند که یک هستهٔ کامل به‌طور هم‌زمان مشخص شود. .sp توجه داشته باشید که هایپروایزرها ممکن است از غیرفعال کردن برخی vCPUها مانند vcpu 0 یا موارد دیگر خودداری کنند. .sp اگر \fI\-\-live\fP مشخص شود، بر یک دامنهٔ در حال اجرا اثر می‌گذارد. اگر \fI\-\-config\fP مشخص شود، بر راه‌اندازی بعدی یک مهمان دائمی اثر می‌گذارد. اگر \fI\-\-current\fP مشخص شود، بسته به وضعیت فعلی مهمان، معادل \fI\-\-live\fP یا \fI\-\-config\fP خواهد بود. این حالت پیش‌فرض است. هر دو پرچم \fI\-\-live\fP و \fI\-\-config\fP را می‌توان مشخص کرد، اما \fI\-\-current\fP مانعة‌الجمع (انحصاری) است. .sp اگر \fI\-\-async\fP همراه با \fI\-\-disable\fP مشخص شود، درخواست‌های جدا کردن زندهٔ vCPU بدون انتظار برای انطباق مهمان ارسال می‌شوند. تکمیل نهایی این عملیات توسط رویداد دامنهٔ \fBvcpu\-removed\fP گزارش می‌شود، در حالی که درخواست‌های جدا کردنِ رد شده همچنان توسط \fBdevice\-removal\-failed\fP\& گزارش خواهند شد..SS shutdown .sp \fBنحو:\fP .INDENT 0.0 .INDENT 3.5 .sp .EX shutdown domain [\-\-mode MODE\-LIST] .EE .UNINDENT .UNINDENT .sp یک دامنه را به‌طور اصولی و کنترل‌شده خاموش می‌کند. این دستور برای انجام خاموش‌سازی بدون نقص با سیستم‌عامل دامنه هماهنگ می‌شود، بنابراین هیچ تضمینی برای موفقیت آن وجود ندارد و بسته به اینکه چه سرویس‌هایی باید در دامنه متوقف شوند، ممکن است مدت‌زمان متغیری به طول بینجامد. .sp رفتار دقیق دامنه هنگام خاموش شدن، توسط پارامتر \fIon_poweroff\fP در تعریف XML دامنه تعیین می‌شود. .sp اگر \fIdomain\fP گذرا (transient) باشد، متادیتای هرگونه اسنپ‌شات و چک‌پوینت به محض توقف اجرای مهمان از بین خواهد رفت، اما محتویات زیرین همچنان باقی می‌مانند و یک دامنه جدید با همان نام و UUID می‌تواند متادیتای اسنپ‌شات را با \fBsnapshot\-create\fP و متادیتای چک‌پوینت را با \fBcheckpoint\-create\fP بازیابی کند. .sp به‌طور پیش‌فرض، هایپروایزر تلاش می‌کند روش مناسبی را برای خاموش‌سازی برگزیند. برای مشخص کردن روشی جایگزین، پارامتر \fI\-\-mode\fP می‌تواند یک فهرست جداشده با کاما شامل \fBacpi\fP، \fBagent\fP، \fBinitctl\fP، \fBsignal\fP و \fBparavirt\fP را تعیین کند. ترتیبی که درایورها هر حالت را امتحان می‌کنند نامشخص است و ارتباطی با ترتیب مشخص‌شده برای virsh ندارد. برای کنترل دقیق روی ترتیب، در هر بار تنها از یک حالت استفاده کرده و دستور را تکرار کنید. .SS start .sp \fBنحو:\fP .INDENT 0.0 .INDENT 3.5 .sp .EX start domain\-name\-or\-uuid [\-\-console] [\-\-paused] [\-\-autodestroy] [\-\-bypass\-cache] [\-\-force\-boot] [\-\-pass\-fds N,M,...] [\-\-reset\-nvram] .EE .UNINDENT .UNINDENT .sp یک دامنه غیرفعال (از پیش تعریف‌شده) را یا از آخرین وضعیت ذخیره‌شده با \fBmanagedsave\fP یا در صورت نبود وضعیت ذخیره‌شده، از طریق یک بوت جدید راه‌اندازی می‌کند. اگر گزینه \fI\-\-paused\fP استفاده شده و توسط درایور پشتیبانی شود، دامنه در حالت مکث (paused) قرار خواهد گرفت؛ در غیر این صورت در حال اجرا خواهد بود. اگر \fI\-\-console\fP درخواست شده باشد، پس از ایجاد به کنسول متصل می‌شود. اگر \fI\-\-autodestroy\fP مشخص شده باشد، با بسته شدن اتصال virsh به libvirt یا خروج از آن به هر نحوی، مهمان به‌طور خودکار نابود (destroyed) خواهد شد. اگر \fI\-\-bypass\-cache\fP مشخص شده باشد و وضعیت managedsave وجود داشته باشد، بازیابی بدون استفاده از حافظه پنهان (cache) سیستم فایل انجام می‌گیرد، گرچه ممکن است این کار سرعت عملیات را کاهش دهد. اگر \fI\-\-force\-boot\fP مشخص شده باشد، هرگونه وضعیت managedsave نادیده گرفته شده و یک بوت تازه انجام می‌شود. .sp اگر \fI\-\-pass\-fds\fP مشخص شده باشد، آرگومان مربوطه فهرستی جداشده با کاما از توصیف‌کننده‌های باز فایل است که باید به مهمان ارسال شوند. توصیف‌کننده‌های فایل در مهمان با شروع از ۳ شماره‌گذاری مجدد خواهند شد. این ویژگی تنها در مجازی‌سازی مبتنی بر کانتینر پشتیبانی می‌شود. .sp اگر \fI\-\-reset\-nvram\fP مشخص شده باشد، هرگونه فایل NVRAM/varstore موجود حذف شده و از روی قالب دست‌نخورده اولیه آن مجدداً مقداردهی اولیه می‌شود. .SS suspend .sp \fBنحو:\fP .INDENT 0.0 .INDENT 3.5 .sp .EX suspend domain .EE .UNINDENT .UNINDENT .sp یک دامنه در حال اجرا را به حالت تعلیق درمی‌آورد. دامنه در حافظه باقی می‌ماند اما دیگر زمان‌بندی و اجرا نخواهد شد..SS ttyconsole .sp \fBنحو:\fP .INDENT 0.0 .INDENT 3.5 .sp .EX ttyconsole domain .EE .UNINDENT .UNINDENT .sp دستگاه استفاده‌شده برای کنسول TTY دامنه را در خروجی نمایش می‌دهد. اگر اطلاعات در دسترس نباشد، فرایند با کد خروج 1 خاتمه می‌یابد. .SS undefine .sp \fBنحو:\fP .INDENT 0.0 .INDENT 3.5 .sp .EX undefine domain [\-\-managed\-save] [\-\-snapshots\-metadata] [\-\-checkpoints\-metadata] [\-\-nvram] [\-\-keep\-nvram] [ {\-\-storage volumes | \-\-remove\-all\-storage [\-\-delete\-storage\-volume\-snapshots]} \-\-wipe\-storage] [\-\-tpm] [\-\-keep\-tpm] .EE .UNINDENT .UNINDENT .sp تعریف یک دامنه را حذف می‌کند (undefine). اگر دامنه در حال اجرا باشد، بدون متوقف ساختن آن، آن را به یک دامنهٔ گذرا (transient) تبدیل می‌کند. اگر دامنه غیرفعال باشد، پیکربندی دامنه حذف می‌شود. .sp پرچم \fI\-\-managed\-save\fP تضمین می‌کند که هر تصویر ذخیره‌شدهٔ مدیریت‌شده (دستور \fBmanagedsave\fP را ببینید) نیز پاکسازی شود. بدون این پرچم، تلاش برای حذف تعریف دامنه‌ای که تصویر ذخیره‌شدهٔ مدیریت‌شده دارد، شکست خواهد خورد. .sp پرچم \fI\-\-snapshots\-metadata\fP تضمین می‌کند که هنگام حذف تعریف یک دامنهٔ غیرفعال، تمامی اسنپ‌شات‌ها (دستور \fBsnapshot\-list\fP را ببینید) نیز پاکسازی شوند. بدون این پرچم، تلاش برای حذف تعریف دامنهٔ غیرفعالی که متادیتای اسنپ‌شات دارد، با شکست مواجه خواهد شد. اگر دامنه فعال باشد، این پرچم نادیده گرفته می‌شود. .sp پرچم \fI\-\-checkpoints\-metadata\fP تضمین می‌کند که هنگام حذف تعریف یک دامنهٔ غیرفعال، تمامی نقاط بازرسی (دستور \fBcheckpoint\-list\fP را ببینید) نیز پاکسازی شوند. بدون این پرچم، تلاش برای حذف تعریف دامنهٔ غیرفعالی که متادیتای نقطه بازرسی دارد، با شکست مواجه خواهد شد. اگر دامنه فعال باشد، این پرچم نادیده گرفته می‌شود. .sp پرچم‌های \fI\-\-nvram\fP و \fI\-\-keep\-nvram\fP به‌ترتیب تعیین می‌کنند که فایل NVRAM (/domain/os/nvram/) یا varstore (/domain/os/varstore) حذف یا نگه‌داری شود. اگر دامنه دارای یک فایل NVRAM/varstore باشد و این پرچم‌ها ذکر نشوند، عملیات حذف تعریف (undefine) ناموفق خواهد بود. .sp پرچم \fI\-\-storage\fP پارامتر \fBvolumes\fP را دریافت می‌کند، که فهرستی جداشده با کاما از نام‌های هدف جلد (volume target names) یا مسیرهای مبدأ جلدهای ذخیره‌سازی است که باید همراه با دامنهٔ تعریف‌زدوده حذف شوند. جلدها را تنها در دامنه‌های غیرفعال می‌توان از تعریف خارج و در نتیجه حذف کرد. تلاش برای حذف جلد تنها پس از حذف تعریف دامنه انجام می‌شود؛ اگر حذف همهٔ جلدهای درخواستی ممکن نباشد، پیام خطا موارد باقی‌مانده را مشخص می‌کند. اگر مسیر یک جلد در تعریف دامنه یافت نشود، به گونه‌ای برخورد می‌شود که گویی جلد با موفقیت حذف شده است. تنها جلدهایی که توسط libvirt در استخرهای ذخیره‌سازی مدیریت می‌شوند از این طریق قابل حذف هستند. توجه داشته باشید که این کار تنها تصویر سطح بالای یک زنجیرهٔ پشتیبان (backing chain) را حذف می‌کند و هرگونه مخزن پشتیبان (backing store) آن تصویر حفظ می‌شود، چرا که ممکن است مشترک باشد. (برای فهرست نام‌های هدف مرتبط با یک دامنه، به \fBdomblklist\fP مراجعه کنید). مثال: \-\-storage vda,/path/to/storage.img .sp پرچم \fI\-\-remove\-all\-storage\fP مشخص می‌کند که تمام جلدهای ذخیره‌سازی دامنه باید به‌گونه‌ای حذف شوند که گویی از طریق \fI\-\-storage\fP مشخص شده‌اند. .sp پرچم \fI\-\-delete\-storage\-volume\-snapshots\fP (پیش‌تر \fI\-\-delete\-snapshots\fP) مشخص می‌کند که تمام اسنپ‌شات‌های مرتبط با جلد ذخیره‌سازی نیز باید حذف شوند. این پرچم نیازمند ارائهٔ پرچم \fI\-\-remove\-all\-storage\fP است. همهٔ درایورهای ذخیره‌سازی از این گزینه پشتیبانی نمی‌کنند؛ در حال حاضر تنها rbd پشتیبانی می‌شود. استفاده از این گزینه هنگام حذف جلدهایی که توسط یک درایور ذخیره‌سازیِ فاقد پشتیبانی از این پرچم مدیریت می‌شوند، به شکست می‌انجامد. .sp پرچم \fI\-\-wipe\-storage\fP مشخص می‌کند که جلدهای ذخیره‌سازی باید پیش از حذف به‌طور کامل پاک‌سازی و رونویسی (wipe) شوند. .sp \fI\-\-tpm\fP و \fI\-\-keep\-tpm\fP به‌ترتیب حذف یا حفظ ساختار پوشه و فایل‌های وضعیت پایدار (persistent state) یک TPM را تعیین می‌کنند. اگر این پرچم‌ها ذکر نشوند، صفت persistent_state در تعریف شبیه‌ساز TPM در XML دامنه مشخص می‌کند که آیا وضعیت TPM نگه‌داری شود یا خیر. .sp یادداشت: برای یک دامنهٔ غیرفعال، باید از نام دامنه یا UUID به‌عنوان \fIdomain\fP استفاده شود..SS vcpucount .sp \fBنحو:\fP .INDENT 0.0 .INDENT 3.5 .sp .EX vcpucount domain [{\-\-maximum | \-\-active} {\-\-config | \-\-live | \-\-current}] [\-\-guest] .EE .UNINDENT .UNINDENT .sp اطلاعات مربوط به تعداد CPUهای مجازی (vCPU) \fIdomain\fP مشخص‌شده را نمایش می‌دهد. اگر هیچ پرچمی مشخص نشود، تمام حالت‌های ممکنِ تعداد در یک جدول فهرست می‌شوند؛ در غیر این صورت، خروجی تنها به مقدار عددی درخواست‌شده محدود خواهد بود. به دلایل تاریخی، این جدول برچسب \(dqcurrent\(dq را روی ردیف‌هایی قرار می‌دهد که می‌توان آن‌ها را به‌طور مجزا از طریق پرچم \fI\-\-active\fP استعلام کرد، نه پرچم \fI\-\-current\fP. .sp پرچم \fI\-\-maximum\fP اطلاعات مربوط به سقف بیشینهٔ vCPUهایی را درخواست می‌کند که یک دامنه می‌تواند از طریق \fBsetvcpus\fP اضافه کند، در حالی که \fI\-\-active\fP میزان استفادهٔ کنونی را نشان می‌دهد؛ این دو پرچم نمی‌توانند هم‌زمان مشخص شوند. \fI\-\-config\fP نیازمند یک مهمان پایدار (persistent) است و اطلاعات مربوط به دفعهٔ بعدی بوت شدن دامنه را استعلام می‌کند، \fI\-\-live\fP نیازمند یک دامنهٔ در حال اجرا است و مقادیر فعلی را فهرست می‌کند، و \fI\-\-current\fP بر اساس وضعیت کنونی دامنه استعلام می‌گیرد (در صورت در حال اجرا بودن معادل \fI\-\-live\fP، و در صورت غیرفعال بودن معادل \fI\-\-config\fP خواهد بود)؛ این سه پرچم مانعة‌الجمع هستند. .sp اگر \fI\-\-guest\fP مشخص شود، تعداد پردازنده‌ها از دیدگاه سیستم‌عامل مهمان گزارش می‌شود. این پرچم تنها برای دامنه‌های در حال اجرا قابل استفاده است و ممکن است به پیکربندی guest agent در مهمان نیاز داشته باشد. .SS vcpuinfo .sp \fBنحو:\fP .INDENT 0.0 .INDENT 3.5 .sp .EX vcpuinfo domain [\-\-pretty] .EE .UNINDENT .UNINDENT .sp اطلاعات پایه‌ای دربارهٔ پردازنده‌های مجازی دامنه، مانند تعداد vCPUها، زمان اجرا و وابستگی (affinity) به پردازنده‌های فیزیکی را برمی‌گرداند. .sp با استفاده از \fI\-\-pretty\fP، وابستگی‌های پردازنده به صورت بازه نشان داده می‌شوند. .sp \fBمثال:\fP .INDENT 0.0 .INDENT 3.5 .sp .EX $ virsh vcpuinfo fedora VCPU: 0 CPU: 0 State: running CPU time: 7,0s CPU Affinity: yyyy VCPU: 1 CPU: 1 State: running CPU time: 0,7s CPU Affinity: yyyy .EE .UNINDENT .UNINDENT .sp \fBوضعیت‌ها\fP .sp فیلد State وضعیت عملیاتی کنونی یک پردازندهٔ مجازی را نمایش می‌دهد .INDENT 0.0 .IP \(bu 2 \fBoffline\fP .sp پردازندهٔ مجازی برون‌خط بوده و برای دامنه قابل استفاده نیست. این وضعیت توسط همهٔ هایپروایزرها پشتیبانی نمی‌شود. .IP \(bu 2 \fBrunning\fP .sp پردازندهٔ مجازی در دسترس دامنه بوده و در حال کار است. .IP \(bu 2 \fBblocked\fP .sp پردازندهٔ مجازی در دسترس دامنه است اما در انتظار یک منبع قرار دارد. این وضعیت توسط همهٔ هایپروایزرها پشتیبانی نمی‌شود، که در این حالت ممکن است به جای آن \fIrunning\fP گزارش شود. .IP \(bu 2 \fBno state\fP .sp وضعیت پردازندهٔ مجازی قابل تشخیص نبود. این اتفاق زمانی رخ می‌دهد که هایپروایزر از virsh جدیدتر باشد. .IP \(bu 2 \fBN/A\fP .sp هیچ اطلاعاتی دربارهٔ وضعیت پردازندهٔ مجازی در دسترس نیست. این حالت زمانی رخ می‌دهد که دامنه در حال اجرا نباشد یا هایپروایزر وضعیت پردازندهٔ مجازی را گزارش نکند. .UNINDENT.SS vcpupin .sp \fBنحو:\fP .INDENT 0.0 .INDENT 3.5 .sp .EX vcpupin domain [vcpu] [cpulist] [[\-\-live] [\-\-config] | [\-\-current]] .EE .UNINDENT .UNINDENT .sp استعلام یا تغییر سنجاق کردن (pinning) پردازنده‌های مجازی (VCPU) دامنه به CPUهای فیزیکی میزبان. برای سنجاق کردن یک \fIvcpu\fP منفرد، \fIcpulist\fP را تعیین کنید؛ در غیر این صورت، می‌توانید وضعیت یک \fIvcpu\fP را استعلام کنید یا \fIvcpu\fP را حذف کنید تا همه به‌طور هم‌زمان فهرست شوند. .sp \fIcpulist\fP فهرستی از شماره‌های CPU فیزیکی است. نحو آن یک فهرست جداشده با کاما است و نشانه‌گذاری ویژه با استفاده از \(aq\-\(aq و \(aq^\(aq (مانند \(aq0\-4\(aq، \(aq0\-3,^2\(aq) نیز مجاز است. علامت \(aq\-\(aq محدوده را نشان می‌دهد و علامت \(aq^\(aq نشان‌دهندهٔ استثنا کردن است. برای سنجاق کردن \fIvcpu\fP به همهٔ CPUهای فیزیکی، مقدار \(aqr\(aq را به عنوان \fIcpulist\fP مشخص کنید\&. اگر \fI\-\-live\fP مشخص شود، بر روی مهمان در حال اجرا تأثیر می‌گذارد. اگر \fI\-\-config\fP مشخص شود، بر روی راه‌اندازی بعدی مهمان پایدار تأثیر می‌گذارد. اگر \fI\-\-current\fP مشخص شود، بسته به وضعیت فعلی مهمان، معادل \fI\-\-live\fP یا \fI\-\-config\fP خواهد بود. در صورت وجود \fIcpulist\fP، هر دو پرچم \fI\-\-live\fP و \fI\-\-config\fP می‌توانند داده شوند، اما \fI\-\-current\fP مانعة‌الجمع است. اگر هیچ پرچمی مشخص نشود، رفتار بسته به hypervisor متفاوت خواهد بود. .sp \fBنکته\fP: عبارت به‌صورت ترتیبی ارزیابی می‌شود، بنابراین \(dq0\-15,^8\(dq معادل \(dq9\-14,0\-7,15\(dq است، اما معادل \(dq^8,0\-15\(dq نیست. .SS vncdisplay .sp \fBنحو:\fP .INDENT 0.0 .INDENT 3.5 .sp .EX vncdisplay domain .EE .UNINDENT .UNINDENT .sp آدرس IP و شماره درگاه (port) نمایشگر VNC را در خروجی چاپ می‌کند. در صورتی که این اطلاعات در دسترس نباشد، فرایندها کد خروج ۱ را برمی‌گردانند. .SH "دستورهای دستگاه (DEVICE COMMANDS)" .sp دستورهای زیر دستگاه‌های مرتبط با دامنه‌ها را دستکاری می‌کنند. \fIdomain\fP می‌تواند به صورت یک عدد صحیح کوتاه، یک نام یا یک UUID کامل مشخص شود. برای درک بهتر مقادیر مجاز به عنوان گزینه‌های دستور، مستندات موجود در \% را در مورد قالب بخش‌های دستگاه مطالعه کنید تا دقیق‌ترین مجموعه از مقادیر پذیرفته‌شده را به دست آورید. .SS attach\-device .sp \fBنحو:\fP .INDENT 0.0 .INDENT 3.5 .sp .EX attach\-device domain FILE [[[\-\-live] [\-\-config] | [\-\-current]] | [\-\-persistent]] .EE .UNINDENT .UNINDENT .sp یک دستگاه را با استفاده از تعریف دستگاه در یک فایل XML و با استفاده از یک عنصر تعریف دستگاه مانند یا به عنوان عنصر سطح بالا (top\-level) به دامنه ضمیمه می‌کند. برای آشنایی با قالب XML لایب‌ویرت (libvirt) برای یک دستگاه، مستندات موجود در https://libvirt.org/formatdomain.html#elementsDevices \% را ببینید. اگر \fI\-\-config\fP مشخص شده باشد، دستور پیکربندی پایدار مهمان را تغییر می‌دهد به طوری که ضمیمه شدن دستگاه در راه‌اندازی بعدی دامنه توسط libvirt اعمال می‌شود. برای دستگاه‌های cdrom و floppy، این دستور فقط رسانهٔ داخل یک دستگاه موجود را جایگزین می‌کند؛ برای این کاربرد، استفاده از \fBupdate\-device\fP را مد نظر قرار دهید. برای دستگاه‌های عبوری میزبان (passthrough host devices)، همچنین \fBnodedev\-detach\fP را ببینید، که در صورت عدم استفادهٔ دستگاه PCI از حالت مدیریت‌شده (managed mode) مورد نیاز است. .sp اگر \fI\-\-live\fP مشخص شود، بر یک دامنه در حال اجرا تأثیر می‌گذارد. اگر \fI\-\-config\fP مشخص شود، بر راه‌اندازی بعدی یک مهمان پایدار تأثیر می‌گذارد. اگر \fI\-\-current\fP مشخص شود، بسته به وضعیت فعلی مهمان معادل \fI\-\-live\fP یا \fI\-\-config\fP خواهد بود. هر دو پرچم \fI\-\-live\fP و \fI\-\-config\fP می‌توانند هم‌زمان داده شوند، اما \fI\-\-current\fP مانعة‌الجمع است. هنگامی که هیچ پرچمی مشخص نشود، از API قدیمی (legacy) استفاده می‌شود که رفتار آن به درایور hypervisor بستگی دارد. .sp به منظور سازگاری، \fI\-\-persistent\fP برای یک دامنهٔ آفلاین مانند \fI\-\-config\fP و برای یک دامنه در حال اجرا مانند \fI\-\-live\fP \fI\-\-config\fP عمل می‌کند. .sp \fBنکته\fP: استفاده از فایل‌های XML با تعریف جزئی دستگاه ممکن است به نتایج غیرمنتظره‌ای منجر شود، زیرا برخی فیلدها ممکن است به‌طور خودکار تولید شوند و در نتیجه با دستگاه‌هایی غیر از آنچه مورد انتظار است مطابقت پیدا کنند..SS attach\-disk .sp \fBنحو:\fP .INDENT 0.0 .INDENT 3.5 .sp .EX attach\-disk domain source target [[[\-\-live] [\-\-config] | [\-\-current]] | [\-\-persistent]] [\-\-targetbus bus] [\-\-driver driver] [\-\-subdriver subdriver] [\-\-iothread iothread] [\-\-cache cache] [\-\-io io] [\-\-type type] [\-\-alias alias] [\-\-mode mode] [\-\-sourcetype sourcetype] [\-\-source\-protocol protocol] [\-\-source\-host\-name hostname:port] [\-\-source\-host\-transport transport] [\-\-source\-host\-socket socket] [\-\-serial serial] [\-\-wwn wwn] [\-\-rawio] [\-\-address address] [\-\-multifunction] [\-\-print\-xml] [\-\-throttle\-groups groups] .EE .UNINDENT .UNINDENT .sp یک دستگاه دیسک جدید را به دامنه متصل می‌کند. مقدار \fIsource\fP مسیر فایل‌ها و دستگاه‌ها است، مگر آنکه \fI\-\-source\-protocol\fP مشخص شده باشد که در این صورت \fIsource\fP نام یک دیسک تحت شبکه خواهد بود. مقدار \fItarget\fP گذرگاه یا دستگاهی را که دیسک تحت آن در دسترس سیستم‌عامل مهمان قرار می‌گیرد کنترل می‌کند. این مقدار نام دستگاه \(dqمنطقی\(dq را نشان می‌دهد؛ مشخصهٔ اختیاری \fItargetbus\fP نوع دستگاه دیسک جهت شبیه‌سازی را تعیین می‌کند؛ مقادیر ممکن وابسته به درایور است و مقادیر متداول آن شامل \fIide\fP، \fIscsi\fP، \fIvirtio\fP، \fIxen\fP، \fIusb\fP، \fIsata\fP، یا \fIsd\fP می‌شود؛ در صورت حذف، نوع گذرگاه از روی الگوی نام دستگاه استنباط می‌شود (به عنوان مثال، دستگاهی به نام \(aqsda\(aq معمولاً با استفاده از گذرگاه SCSI ارائه می‌شود). مقدار \fIdriver\fP بسته به نوع دسترسی می‌تواند برای هایپروایزر Xen برابر با \fIfile\fP، \fItap\fP یا \fIphy\fP باشد؛ یا برای شبیه‌ساز QEMU برابر با \fIqemu\fP باشد. جزئیات بیشتر را می‌توان با استفاده از \fIsubdriver\fP\& به درایور فرستاد. برای Xen مقدار \fIsubdriver\fP می‌تواند \fIaio\fP باشد، در حالی که برای QEMU مقدار subdriver باید با قالب منبع دیسک، مانند \fIraw\fP یا \fIqcow2\fP\& مطابقت داشته باشد. اگر \fIsubdriver\fP مشخص نشود، از پیش‌فرض هایپروایزر استفاده خواهد شد. با این حال، مقدار پیش‌فرض ممکن است صحیح نباشد، به‌ویژه برای QEMU که بنا به دلایل امنیتی به‌گونه‌ای پیکربندی شده است که قالب دیسک را به طور خودکار تشخیص ندهد. مقدار \fItype\fP می‌تواند \fIlun\fP، \fIcdrom\fP یا \fIfloppy\fP را به عنوان جایگزین پیش‌فرض دیسک نشان دهد، اگرچه این کاربرد صرفاً رسانه را درون دستگاه cdrom یا floppy مجازی موجود جایگزین می‌کند؛ برای چنین کاربردی استفاده از \fBupdate\-device\fP را مد نظر قرار دهید. مقدار \fIalias\fP می‌تواند نام مستعار ارائه‌شده توسط کاربر را تنظیم کند. مقدار \fImode\fP می‌تواند دو حالت مشخص \fIreadonly\fP یا \fIshareable\fP\& را تعیین کند. مقدار \fIsourcetype\fP می‌تواند نوع منبع را مشخص کند (block|file|network). مقدار \fIcache\fP می‌تواند یکی از موارد \(dqdefault\(dq، \(dqnone\(dq، \(dqwritethrough\(dq، \(dqwriteback\(dq، \(dqdirectsync\(dq یا \(dqunsafe\(dq باشد. مقدار \fIio\fP سیاست‌های خاص ورودی/خروجی (I/O) را کنترل می‌کند؛ مهمان‌های QEMU از \(dqthreads\(dq، \(dqnative\(dq و \(dqio_uring\(dq پشتیبانی می‌کنند. مقدار \fIiothread\fP شماره‌ای در محدودهٔ IOThreadهای دامنه است که این دیسک می‌تواند به آن متصل شود (فقط در QEMU). مقدار \fIserial\fP شماره سریال دستگاه دیسک است. \fIwwn\fP شناسهٔ wwn دستگاه دیسک است. گزینهٔ \fIrawio\fP نشان می‌دهد که دیسک به قابلیت rawio نیاز دارد. مقدار \fIaddress\fP نشانی دستگاه دیسک در قالب pci:domain.bus.slot.function، scsi:controller.bus.unit، ide:controller.bus.unit، usb:bus.port، sata:controller.bus.unit یا ccw:cssid.ssid.devno است. در دستگاه‌های virtio\-ccw باید مقدار cssid بر روی 0xfe تنظیم شده باشد. گزینهٔ \fImultifunction\fP نشان می‌دهد که نشانی pci مشخص‌شده، نشانی یک دستگاه pci چندمنظوره است. مقدار \fIthrottle\-groups\fP فهرستی از گروه‌های کنترل نرخ مصرف (throttle groups) است که با کاما از هم جدا شده‌اند تا اعمال شوند. .sp همچنین پشتیبانی از استفاده از دیسک تحت شبکه وجود دارد. همان‌طور که بیان شد، کاربر می‌تواند گزینهٔ \fI\-\-source\-protocol\fP را تعیین کند که در این صورت پارامتر \fIsource\fP به عنوان نام منبع تفسیر خواهد شد. در صورتی که کاربر قصد داشته باشد یک دیسک تحت شبکه یا اطلاعات میزبان را تعیین کند، گزینهٔ \fI\-\-source\-protocol\fP حتماً باید ارائه شود. اطلاعات میزبان را می‌توان با استفاده از برچسب‌های \fI\-\-source\-host\-name\fP، \fI\-\-source\-host\-transport\fP، و \fI\-\-source\-host\-socket\fP ارائه داد، که به ترتیب نشان‌دهندهٔ نام میزبان، روش انتقال میزبان، و سوکتی هستند که میزبان استفاده می‌کند. نمی‌توان هر دو گزینهٔ \fI\-\-source\-host\-socket\fP و \fI\-\-source\-host\-name\fP را هم‌زمان ارائه داد، و اگر کاربر بخواهد \fI\-\-source\-host\-socket\fP را تعیین کند، باید حتماً \fI\-\-source\-host\-transport\fP را نیز مشخص نماید. پارامتر \fI\-\-source\-host\-name\fP در صورتی که کاربر بخواهد درگاه را نیز ارائه دهد، از نحو host:port پشتیبانی می‌کند. .sp اگر \fI\-\-print\-xml\fP مشخص شود، به‌جای اتصال، ساختار XML دیسکی که قرار بود متصل شود چاپ می‌شود. .sp اگر \fI\-\-live\fP مشخص شود، بر یک دامنهٔ در حال اجرا اثر می‌گذارد. اگر \fI\-\-config\fP مشخص شود، بر راه‌اندازی بعدی یک مهمان ماندگار تأثیر می‌گذارد. اگر \fI\-\-current\fP مشخص شود، بسته به وضعیت فعلی مهمان، معادل \fI\-\-live\fP یا \fI\-\-config\fP خواهد بود. هر دو پرچم \fI\-\-live\fP و \fI\-\-config\fP می‌توانند با هم مشخص شوند، اما \fI\-\-current\fP انحصاری است. اگر هیچ پرچمی مشخص نشود، از API قدیمی استفاده می‌شود که رفتار آن به درایور هایپروایزر بستگی دارد. .sp به منظور سازگاری، \fI\-\-persistent\fP برای یک دامنهٔ خاموش (آفلاین) مانند \fI\-\-config\fP، و برای یک دامنهٔ در حال اجرا مانند \fI\-\-live\fP \fI\-\-config\fP رفتار می‌کند. به همین ترتیب، \fI\-\-shareable\fP نام مستعاری برای \fI\-\-mode shareable\fP\& است..SS attach\-interface .sp \fBساختار:\fP .INDENT 0.0 .INDENT 3.5 .sp .EX attach\-interface domain type source [[[\-\-live] [\-\-config] | [\-\-current]] | [\-\-persistent]] [\-\-target target] [\-\-mac mac] [\-\-script script] [\-\-model model] [\-\-inbound average,peak,burst,floor] [\-\-outbound average,peak,burst] [\-\-alias alias] [\-\-managed] [\-\-print\-xml] [\-\-source\-mode mode] .EE .UNINDENT .UNINDENT .sp یک رابط شبکه جدید را به دامنه (domain) متصل می‌کند. .sp پارامتر \fBtype\fP می‌تواند یکی از موارد زیر باشد: .sp \fInetwork\fP برای نشان دادن اتصال از طریق یک شبکه مجازی libvirt، .sp \fIbridge\fP برای نشان دادن اتصال از طریق یک دستگاه پل (bridge) روی میزبان، .sp \fIdirect\fP برای نشان دادن اتصال مستقیم به یکی از رابط‌های شبکه یا پل‌های میزبان، .sp \fIhostdev\fP برای نشان دادن اتصال با استفاده از انتقال مستقیم (passthrough) یک دستگاه PCI روی میزبان، .sp \fIvhostuser\fP برای نشان دادن اتصال با استفاده از پروتکل انتقال virtio. .sp پارامتر \fBsource\fP منبع اتصال را مشخص می‌کند. این منبع به نوع رابط بستگی دارد: .sp \fInetwork\fP نام شبکه مجازی، .sp \fIbridge\fP نام دستگاه پل، .sp \fIdirect\fP نام رابط یا پل میزبان، .sp \fIhostdev\fP آدرس PCI رابط میزبان در قالب domain:bus:slot.function. .sp \fIvhostuser\fP مسیر سوکت UNIX (صفحه کنترل) .sp گزینه \fB\-\-target\fP برای مشخص کردن دستگاه tap/macvtap مورد استفاده جهت اتصال دامنه به منبع به کار می‌رود. نام‌هایی که با \(aqvnet\(aq شروع می‌شوند، خودکار\-تولیدشده در نظر گرفته شده و با هر بار اتصال رابط، پاک و مجدداً تولید می‌شوند. .sp گزینه \fB\-\-mac\fP آدرس MAC رابط شبکه را مشخص می‌کند؛ اگر آدرس MAC ارائه نشود، یک آدرس جدید به‌طور خودکار تولید خواهد شد (و در صورتی که \(dq\-\-config\(dq در خط فرمان داده شده باشد، در پیکربندی دائمی ذخیره می‌شود). .sp گزینه \fB\-\-script\fP برای مشخص کردن مسیر یک اسکریپت سفارشی جهت فراخوانی هنگام اتصال به یک پل استفاده می‌شود \- این اسکریپت به جای اسکریپت پیش‌فرض اجرا خواهد شد، نه علاوه بر آن. این گزینه فقط برای رابط‌های از نوع \fIbridge\fP و تنها برای دامنه‌های Xen معتبر است. .sp گزینه \fB\-\-model\fP مدل دستگاه شبکه‌ای را که باید به دامنه ارائه شود مشخص می‌کند. .sp گزینه \fBalias\fP می‌تواند یک نام مستعار تعریف‌شده توسط کاربر را تنظیم کند. .sp گزینه‌های \fB\-\-inbound\fP و \fB\-\-outbound\fP پهنای باند رابط را کنترل می‌کنند. حداقل یکی از مقادیر جفت \fIaverage\fP و \fIfloor\fP باید مشخص شود. دو مقدار دیگر یعنی \fIpeak\fP و \fIburst\fP اختیاری هستند، بنابراین ساختارهای \(dqaverage,peak\(dq، \(dqaverage,,burst\(dq، \(dqaverage,,,floor\(dq، \(dqaverage\(dq و \(dq,,,floor\(dq نیز معتبر هستند. مقادیر \fIaverage\fP، \fIfloor\fP و \fIpeak\fP بر حسب کیبی‌بایت بر ثانیه (kiB) بیان می‌شوند، در حالی که \fIburst\fP بر حسب kiB در یک جهش منفرد با سرعت \fIpeak\fP تعریف می‌شود، همان‌طور که در مستندات Network XML در \%\& شرح داده شده است. .sp گزینه \fB\-\-managed\fP تنها برای نوع \fIhostdev\fP قابل استفاده است و به libvirt اعلام می‌کند که رابط باید مدیریت شود؛ به این معنی که جداسازی و اتصال مجدد آن از/به میزبان بر عهده libvirt خواهد بود. .sp گزینه \fB\-\-source\-mode\fP برای رابط \fIvhostuser\fP اجباری است و مقادیر \fIserver\fP و \fIclient\fP را می‌پذیرد که مشخص می‌کنند آیا هایپروایزر باید منتظر اتصال فرآیند دیگر بماند یا خودش اتصال را آغاز کند. .sp اگر \fB\-\-print\-xml\fP مشخص شود، به جای اتصال رابط، خروجی XML رابطی که قرار بود متصل شود چاپ خواهد شد. .sp اگر \fB\-\-live\fP مشخص شود، روی دامنه در حال اجرا اعمال می‌شود. اگر \fB\-\-config\fP مشخص شود، بر راه‌اندازی بعدی مهمان دائمی اعمال می‌شود. اگر \fB\-\-current\fP مشخص شود، وضعیت فعلی دامنه (که می‌تواند زنده یا خاموش باشد) را تحت تأثیر قرار می‌دهد. هر دو پرچم \fB\-\-live\fP و \fB\-\-config\fP می‌توانند همزمان داده شوند، اما \fB\-\-current\fP انحصاری است. در صورتی که هیچ پرچمی مشخص نشود، از API قدیمی استفاده می‌شود که رفتار آن به درایور هایپروایزر بستگی دارد. .sp به منظور سازگاری، پرچم \fB\-\-persistent\fP برای یک دامنه خاموش رفتاری مشابه \fB\-\-config\fP و برای یک دامنه در حال اجرا رفتاری مانند \fB\-\-live\fP \fB\-\-config\fP دارد. .sp \fBنکته\fP: مقدار اختیاری target، نام دستگاهی است که باید به عنوان پشت‌صحنه (back\-end) روی گره ایجاد شود. اگر مشخص نشود، دستگاهی به نام \(dqvnetN\(dq یا \(dqvifN\(dq به‌طور خودکار ایجاد خواهد شد..SS detach\-device .sp \fBنحو:\fP .INDENT 0.0 .INDENT 3.5 .sp .EX detach\-device domain FILE [[[\-\-live] [\-\-config] | [\-\-current]] | [\-\-persistent]] .EE .UNINDENT .UNINDENT .sp یک دستگاه را از دامنه جدا می‌کند؛ این دستور همان نوع توصیف‌های XML را دریافت می‌کند که در دستور \fBattach\-device\fP به کار می‌رود\&. برای دستگاه‌های میزبان گذرگاه (passthrough)، همچنین \fBnodedev\-reattach\fP را ببینید؛ در صورتی که دستگاه از حالت مدیریت‌شده (managed mode) استفاده نکند، این دستور مورد نیاز است. .sp \fBنکته\fP: توصیف XML ارائه‌شده برای دستگاه باید به همان اندازهٔ تعریف آن در XML دامنه دقیق و مشخص باشد. مجموعه‌ویژگی‌های مورد استفاده برای مطابقت دادن دستگاه، مختص به بخش‌های داخلی درایورها است. استفاده از تعریفی ناقص یا تلاش برای جدا کردن دستگاهی که در XML دامنه وجود ندارد، اما ویژگی‌های خاص مشترکی با دستگاه موجود دارد، ممکن است به نتایج غیرمنتظره‌ای منجر شود. .sp \fBرفتار خاص\fP: قطع اتصال فیزیکی دستگاه (unplug) در اغلب موارد ناهمگام (asynchronous) است و به همکاری سیستم‌عامل مهمان نیاز دارد. این یعنی رد کردن یا به تاخیر انداختن دلخواه عملیات قطع اتصال، کاملاً در اختیار سیستم‌عامل مهمان است. از آن‌جا که API ارائه‌شده توسط libvirt در این دستور به صورت همگام طراحی شده است، حتی اگر دستگاه هنوز جدا نشده باشد، پس از گذشت یک مهلت زمانی (timeout) وضعیت موفقیت‌آمیز را برمی‌گرداند تا تعامل‌های بعدی با دامنه امکان‌پذیر باشد؛ برای مثال، در مواردی که مهمان پاسخگو نیست. فراخوانندگانی که نیاز دارند از جدا شدن قطعی دستگاه اطمینان حاصل کنند، می‌توانند از رویدادهای libvirt (دستور virsh event را ببینید) استفاده کنند تا هنگام حذف دستگاه مطلع شوند. توجه داشته باشید که این رویداد ممکن است پیش از بازگشت دستور ارسال شود. .sp اگر \fI\-\-live\fP مشخص شود، بر یک دامنهٔ در حال اجرا اثر می‌گذارد. اگر \fI\-\-config\fP مشخص شود، در راه‌اندازی بعدی یک مهمان ماندگار اثر می‌گذارد. اگر \fI\-\-current\fP مشخص شود، بسته به وضعیت فعلی مهمان، معادل با \fI\-\-live\fP یا \fI\-\-config\fP خواهد بود. هر دو پرچم \fI\-\-live\fP و \fI\-\-config\fP می‌توانند با هم مشخص شوند، اما \fI\-\-current\fP انحصاری است. هنگامی که هیچ پرچمی مشخص نشده باشد، از API موروثی (قدیمی) استفاده می‌شود که رفتار آن به درایور هایپروایزر بستگی دارد. .sp به منظور سازگاری، \fI\-\-persistent\fP برای یک دامنهٔ خاموش مانند \fI\-\-config\fP و برای یک دامنهٔ در حال اجرا مانند \fI\-\-live\fP \fI\-\-config\fP رفتار می‌کند. .sp توجه داشته باشید که نسخه‌های قدیمی‌تر virsh از \fI\-\-config\fP به عنوان نام مستعار \fI\-\-persistent\fP استفاده می‌کردند\&. .SS detach\-device\-alias .sp \fBنحو:\fP .INDENT 0.0 .INDENT 3.5 .sp .EX detach\-device\-alias domain alias [[[\-\-live] [\-\-config] | [\-\-current]]]] .EE .UNINDENT .UNINDENT .sp دستگاهی با \fIalias\fP داده‌شده را از \fIdomain\fP جدا می‌کند\&. این دستور پس از ارسال درخواست جداسازی به هایپروایزر، با موفقیت بازمی‌گردد. حذف واقعی دستگاه به‌صورت ناهمگام از طریق رویدادهای libvirt اطلاع داده می‌شود (دستور virsh event را ببینید). .sp اگر \fI\-\-live\fP مشخص شود، بر یک دامنهٔ در حال اجرا اثر می‌گذارد. اگر \fI\-\-config\fP مشخص شود، در راه‌اندازی بعدی یک مهمان ماندگار اثر می‌گذارد. اگر \fI\-\-current\fP مشخص شود، بسته به وضعیت فعلی مهمان، معادل با \fI\-\-live\fP یا \fI\-\-config\fP خواهد بود. هر دو پرچم \fI\-\-live\fP و \fI\-\-config\fP می‌توانند با هم مشخص شوند، اما \fI\-\-current\fP انحصاری است. .SS detach\-disk .sp \fBنحو:\fP .INDENT 0.0 .INDENT 3.5 .sp .EX detach\-disk domain target [[[\-\-live] [\-\-config] | [\-\-current]] | [\-\-persistent]] [\-\-print\-xml] .EE .UNINDENT .UNINDENT .sp یک دستگاه دیسک را از یک دامنه جدا می‌کند. \fItarget\fP دستگاهی است به همان شکلی که از سمت دامنه دیده می‌شود. .sp اگر \fI\-\-live\fP مشخص شود، بر یک دامنهٔ در حال اجرا اثر می‌گذارد. اگر \fI\-\-config\fP مشخص شود، در راه‌اندازی بعدی یک مهمان ماندگار اثر می‌گذارد. اگر \fI\-\-current\fP مشخص شود، بسته به وضعیت فعلی مهمان، معادل با \fI\-\-live\fP یا \fI\-\-config\fP خواهد بود. هر دو پرچم \fI\-\-live\fP و \fI\-\-config\fP می‌توانند با هم مشخص شوند، اما \fI\-\-current\fP انحصاری است. هنگامی که هیچ پرچمی مشخص نشده باشد، از API موروثی (قدیمی) استفاده می‌شود که رفتار آن به درایور هایپروایزر بستگی دارد. .sp به منظور سازگاری، \fI\-\-persistent\fP برای یک دامنهٔ خاموش مانند \fI\-\-config\fP و برای یک دامنهٔ در حال اجرا مانند \fI\-\-live\fP \fI\-\-config\fP رفتار می‌کند. .sp توجه داشته باشید که نسخه‌های قدیمی‌تر virsh از \fI\-\-config\fP به عنوان نام مستعار \fI\-\-persistent\fP استفاده می‌کردند\&. .sp اگر \fB\-\-print\-xml\fP مشخص شود، در عوض ساختار XML که برای جداسازی دیسک به کار می‌رفت چاپ می‌شود. .sp لطفاً برای آگاهی از رفتارهای خاص شناخته‌شده، مستندات \fBdetach\-device\fP را ببینید..SS detach\-interface .sp \fBنحو:\fP .INDENT 0.0 .INDENT 3.5 .sp .EX detach\-interface domain [type] [\-\-mac mac] [[[\-\-live] [\-\-config] | [\-\-current]] | [\-\-persistent]] [\-\-print\-xml] .EE .UNINDENT .UNINDENT .sp یک رابط شبکه را از یک domain جدا می‌کند. .sp در صورتی که چندین رابط وجود داشته باشد، باید از \fItype\fP و/یا \fI\-\-mac\fP برای محدود کردن انتخاب به ۱ رابط استفاده شود. .sp مقدار \fItype\fP می‌تواند \fInetwork\fP برای نشان دادن یک دستگاه شبکه فیزیکی یا \fIbridge\fP برای نشان دادن یک پل به دستگاه باشد. .sp گزینهٔ \fI\-\-mac\fP می‌تواند رابط را بر اساس آدرس MAC پیکربندی‌شده انتخاب کند. .sp اگر \fI\-\-live\fP مشخص شود، روی یک domain در حال اجرا اعمال می‌شود. اگر \fI\-\-config\fP مشخص شود، بر راه‌اندازی بعدی یک مهمان پایدار تأثیر می‌گذارد. اگر \fI\-\-current\fP مشخص شود، بسته به وضعیت فعلی مهمان، معادل \fI\-\-live\fP یا \fI\-\-config\fP خواهد بود. می‌توان هر دو پرچم \fI\-\-live\fP و \fI\-\-config\fP را هم‌زمان ارائه داد، اما \fI\-\-current\fP انحصاری است. هنگامی که هیچ پرچمی مشخص نشده باشد، از API قدیمی استفاده می‌شود که رفتار آن به راه‌انداز hypervisor بستگی دارد. .sp به منظور سازگاری، \fI\-\-persistent\fP برای یک domain خاموش مانند \fI\-\-config\fP، و برای یک domain در حال اجرا مانند \fI\-\-live\fP \fI\-\-config\fP عمل می‌کند. .sp توجه داشته باشید که نسخه‌های قدیمی‌تر virsh از \fI\-\-config\fP به عنوان نام مستعار برای \fI\-\-persistent\fP\& استفاده می‌کردند. .sp اگر \fI\-\-print\-xml\fP مشخص شود، به جای انجام عمل جداسازی، XML استفاده‌شده برای جدا کردن رابط چاپ می‌شود. .sp لطفاً برای رفتارهای خاص شناخته‌شده، مستندات \fBdetach\-device\fP را ببینید. .SS update\-device .sp \fBنحو:\fP .INDENT 0.0 .INDENT 3.5 .sp .EX update\-device domain file [\-\-force] [[[\-\-live] [\-\-config] | [\-\-current]] | [\-\-persistent]] .EE .UNINDENT .UNINDENT .sp ویژگی‌های یک دستگاه مرتبط با \fIdomain\fP را بر اساس تعریف دستگاه در یک \fIfile\fP با قالب XML به‌روزرسانی می‌کند. گزینهٔ \fI\-\-force\fP می‌تواند برای اجبار به‌روزرسانی دستگاه استفاده شود؛ برای مثال خارج کردن یک CD\-ROM حتی اگر در domain قفل یا متصل (mounted) باشد. برای آشنایی با ساختار XML ابزار libvirt برای یک دستگاه، مستندات موجود در https://libvirt.org/formatdomain.html#elementsDevices \% را ببینید. .sp اگر \fI\-\-live\fP مشخص شود، روی یک domain در حال اجرا اعمال می‌شود. اگر \fI\-\-config\fP مشخص شود، بر راه‌اندازی بعدی یک مهمان پایدار تأثیر می‌گذارد. اگر \fI\-\-current\fP مشخص شود، بسته به وضعیت فعلی مهمان، معادل \fI\-\-live\fP یا \fI\-\-config\fP خواهد بود. می‌توان هر دو پرچم \fI\-\-live\fP و \fI\-\-config\fP را مشخص کرد، اما \fI\-\-current\fP انحصاری است. مشخص نکردن هیچ پرچمی همانند مشخص کردن \fI\-\-current\fP\& است. .sp به منظور سازگاری، \fI\-\-persistent\fP برای یک domain خاموش مانند \fI\-\-config\fP، و برای یک domain در حال اجرا مانند \fI\-\-live\fP \fI\-\-config\fP عمل می‌کند. .sp توجه داشته باشید که نسخه‌های قدیمی‌تر virsh از \fI\-\-config\fP به عنوان نام مستعار برای \fI\-\-persistent\fP\& استفاده می‌کردند. .sp \fBنکته\fP: استفاده از فایل‌های XML تعریف ناقص دستگاه ممکن است منجر به نتایج غیرمنتظره شود، زیرا ممکن است برخی فیلدها به صورت خودکار تولید شده و با دستگاه‌هایی غیر از موارد مورد انتظار تطابق پیدا کنند. .SS update\-memory\-device .sp \fBنحو:\fP .INDENT 0.0 .INDENT 3.5 .sp .EX update\-memory\-device domain [\-\-print\-xml] [[\-\-alias alias] | [\-\-node node]] [[\-\-live] [\-\-config] | [\-\-current]] [\-\-requested\-size size] .EE .UNINDENT .UNINDENT .sp این دستور دستگاه \fB\fP را در \fIdomain\fP داده‌شده پیدا می‌کند، مقادیر درخواست‌شده را تغییر می‌دهد و XML به‌روزرسانی‌شدهٔ دستگاه را به daemon ارسال می‌کند. اگر \fI\-\-print\-xml\fP مشخص شود، دستگاه تغییر نمی‌کند، بلکه XML به‌روزرسانی‌شدهٔ دستگاه در stdout چاپ می‌شود. اگر بیش از یک دستگاه \fB\fP در \fIdomain\fP وجود داشته باشد، برای انتخاب مورد نظر از \fI\-\-alias\fP یا \fI\-\-node\fP استفاده کنید. .sp اگر \fI\-\-live\fP مشخص شود، روی یک domain در حال اجرا اعمال می‌شود. اگر \fI\-\-config\fP مشخص شود، بر راه‌اندازی بعدی یک مهمان پایدار تأثیر می‌گذارد. اگر \fI\-\-current\fP مشخص شود، بسته به وضعیت فعلی مهمان، معادل \fI\-\-live\fP یا \fI\-\-config\fP خواهد بود. می‌توان هر دو پرچم \fI\-\-live\fP و \fI\-\-config\fP را مشخص کرد، اما \fI\-\-current\fP انحصاری است. مشخص نکردن هیچ پرچمی همانند مشخص کردن \fI\-\-current\fP\& است. .sp اگر \fI\-\-requested\-size\fP مشخص شود، مقدار \fB\fP در بخش هدف حافظه به \fIsize\fP درخواستی تغییر می‌یابد (به عنوان یک عدد صحیح مقیاس‌پذیر، \fBNOTES\fP در بالا را ببینید). در صورتی که هیچ پسوندی ارائه نشود، پیش‌فرض بر حسب kibibytes خواهد بود. این گزینه فقط برای مدل دستگاه حافظهٔ \fBvirtio\-mem\fP معتبر است..SS change\-media .sp \fBساختار:\fP .INDENT 0.0 .INDENT 3.5 .sp .EX change\-media domain path [\-\-eject] [\-\-insert] [\-\-update] [source] [\-\-force] [[\-\-live] [\-\-config] | [\-\-current]] [\-\-print\-xml] [\-\-block] .EE .UNINDENT .UNINDENT .sp رسانه درایو CDROM یا فلاپی را تغییر می‌دهد. \fIpath\fP می‌تواند مسیر کامل یا نام هدف یکتای () دستگاه دیسک باشد. \fIsource\fP مسیر رسانه‌ای که باید وارد یا به‌روزرسانی شود را مشخص می‌کند. پرچم \fI\-\-block\fP امکان تعیین نوع پشتیبان (backing type) را در حالتی که به جای یک فایل از یک دستگاه بلوکی به عنوان رسانه درایو CDROM یا فلاپی استفاده می‌شود، فراهم می‌کند. .sp گزینه \fI\-\-eject\fP مشخص می‌کند که رسانه خارج خواهد شد. گزینه \fI\-\-insert\fP مشخص می‌کند که رسانه وارد خواهد شد. \fIsource\fP باید مشخص شود. اگر دستگاه دارای منبع باشد (مانند ) و \fIsource\fP مشخص نشده باشد، \fI\-\-update\fP معادل \fI\-\-eject\fP است\&. اگر دستگاه منبعی نداشته باشد و \fIsource\fP مشخص شده باشد، \fI\-\-update\fP معادل \fI\-\-insert\fP است\&. اگر دستگاه دارای منبع باشد و \fIsource\fP مشخص شده باشد، \fI\-\-update\fP مانند ترکیبی از \fI\-\-eject\fP و \fI\-\-insert\fP عمل می‌کند\&. اگر هیچ‌یک از گزینه‌های \fI\-\-eject\fP، \fI\-\-insert\fP و \fI\-\-update\fP مشخص نشده باشد، به‌طور پیش‌فرض از \fI\-\-update\fP استفاده می‌شود. گزینه \fI\-\-force\fP می‌تواند برای اجبار در تعویض رسانه استفاده شود. اگر \fI\-\-live\fP مشخص شود، پیکربندی زنده مهمانِ در حال اجرا را تغییر می‌دهد. اگر \fI\-\-config\fP مشخص شود، پیکربندی دائمی را تغییر می‌دهد و اثر آن در راه‌اندازی بعدی مهمان مشاهده خواهد شد. گزینه \fI\-\-current\fP بسته به پیاده‌سازی hypervisor می‌تواند \fIlive\fP، \fIconfig\fP یا هر دو باشد. هر دو پرچم \fI\-\-live\fP و \fI\-\-config\fP می‌توانند هم‌زمان داده شوند، اما \fI\-\-current\fP انحصاری است. اگر هیچ پرچمی مشخص نشود، رفتار بسته به hypervisor متفاوت خواهد بود. اگر \fI\-\-print\-xml\fP مشخص شود، ساختار XML که قرار بود برای تغییر رسانه استفاده شود، به جای تغییر رسانه چاپ می‌شود. .SS dom\-fd\-associate .sp \fBساختار:\fP .INDENT 0.0 .INDENT 3.5 .sp .EX dom\-fd\-associate domain \-\-name FDGROUPNAME \-\-pass\-fds M,N,.... [\-\-seclabel\-writable] [\-\-seclabel\-restore] .EE .UNINDENT .UNINDENT .sp یک یا چند توصیف‌گر فایل (fd) شرح‌داده‌شده با آرگومان \fI\-\-pass\-fds\fP را با نام \fI\-\-name\fP به \fIdomain\fP مرتبط می‌کند\&. طول عمر گروه fd ارسال‌شده با طول عمر اتصال یکسان است، بنابراین خروج از virsh پس از آن، ثبت آن‌ها را لغو می‌کند. .sp به‌طور پیش‌فرض، برچسب‌های امنیتی در صورت نیاز اعمال می‌شوند اما برای جلوگیری از باز نگه‌داشتن غیرضروری آن‌ها پس از استفاده بازیابی نمی‌شوند. با استفاده از پرچم \fI\-\-seclabel\-restore\fP می‌توان بازیابی با بیشترین تلاش (best\-effort) برچسب امنیتی را درخواست کرد. .SH "دستورهای NODEDEV (NODEDEV COMMANDS)" .sp دستورهای زیر دستگاه‌های میزبان را مدیریت می‌کنند که قرار است از طریق عناصر در بخش یک دامنه، به دامنه‌های مهمان انتقال یابند (passthrough شوند). کلید یک دستگاه گره معمولاً با نام گذرگاه (bus) و به دنبال آن آدرس آن، با استفاده از زیرخط بین تمام بخش‌ها مشخص می‌شود، مانند pci_0000_00_02_1، usb_1_5_3 یا net_eth1_00_27_13_6a_fe_00. دستور \fBnodedev\-list\fP فهرست کاملی از دستگاه‌های میزبان شناخته‌شده برای libvirt را ارائه می‌دهد، هرچند این شامل دستگاه‌هایی نیز می‌شود که نمی‌توان آن‌ها را به یک مهمان اختصاص داد (برای مثال، تلاش برای جدا کردن دستگاه PCI که کنترل‌کننده دیسک سخت میزبان را کنترل می‌کند و ایمیج‌های دیسک مهمان روی آن قرار دارند، می‌تواند باعث قفل شدن یا راه‌اندازی مجدد سیستم میزبان شود). .sp برای اطلاعات بیشتر در مورد تعریف دستگاه گره، ببینید: \%\&. .sp دستگاه‌های عبوری (passthrough) نمی‌توانند به‌طور هم‌زمان توسط میزبان و دامنه‌های مهمان آن، و همچنین توسط چند مهمان فعال به‌طور هم‌زمان استفاده شوند. اگر توصیف یک دستگاه PCI شامل صفت \fBmanaged=\(aqyes\(aq\fP باشد و درایور hypervisor از آن پشتیبانی کند، دستگاه در حالت مدیریت‌شده (managed) قرار دارد و تلاش‌ها برای استفاده از آن دستگاه عبوری در یک مهمان فعال، به‌طور خودکار مانند این رفتار خواهد کرد که \fBnodedev\-detach\fP (شروع به کار مهمان، اتصال گرم دستگاه یا hot\-plug) و \fBnodedev\-reattach\fP (توقف مهمان، جداسازی گرم دستگاه یا hot\-unplug) در نقاط مناسب فراخوانی شده‌اند. اگر یک دستگاه PCI به عنوان مدیریت‌شده علامت‌گذاری نشده باشد، باید پیش از آنکه مهمان‌ها بتوانند از آن استفاده کنند، به‌صورت دستی جدا (detach) شود، و برای بازگرداندن آن به میزبان نیز به‌صورت دستی دوباره متصل (reattach) شود. همچنین، اگر دستگاهی به‌صورت دستی جدا شود، حتی اگر مهمان‌ها از دستگاه در حالت مدیریت‌شده استفاده کنند، میزبان بدون یک اتصال مجدد متناظر، کنترل دستگاه را دوباره به دست نخواهد آورد..SS nodedev\-create .sp \fBنحو:\fP .INDENT 0.0 .INDENT 3.5 .sp .EX nodedev\-create FILE [\-\-validate] .EE .UNINDENT .UNINDENT .sp ایجاد یک دستگاه روی گره میزبان که پس از آن می‌تواند به ماشین‌های مجازی اختصاص داده شود. به‌طور معمول، libvirt قادر است به‌صورت خودکار تشخیص دهد کدام دستگاه‌های گره میزبان برای استفاده در دسترس هستند، اما این دستور امکان ثبت سخت‌افزار میزبانی را فراهم می‌کند که libvirt آن را به‌طور خودکار شناسایی نکرده است. \fIfile\fP حاوی xml برای توصیف سطح‌بالای یک دستگاه گره است. .sp اگر \fI\-\-validate\fP مشخص شده باشد، قالب سند XML را در برابر یک شِمای داخلی RNG اعتبارسنجی می‌کند. .SS nodedev\-update .sp \fBنحو:\fP .INDENT 0.0 .INDENT 3.5 .sp .EX nodedev\-update device FILE [[\-\-live] [\-\-config] | [\-\-current]] .EE .UNINDENT .UNINDENT .sp به‌روزرسانی یک دستگاه روی میزبان. \fIdevice\fP می‌تواند نام دستگاه یا جفت wwn در قالب \(dqwwnn,wwpn\(dq باشد (در حال حاضر فقط برای vHBA کار می‌کند). \fIfile\fP حاوی xml برای توصیف سطح‌بالای دستگاه گره است. بسته به پیاده‌سازی هایپروایزر، \fI\-\-current\fP می‌تواند هر یک از \fIlive\fP و \fIconfig\fP یا هر دوی آن‌ها باشد. هر دو پرچم \fI\-\-live\fP و \fI\-\-config\fP را می‌توان مشخص کرد، اما \fI\-\-current\fP انحصاری است. اگر هیچ پرچمی مشخص نشود، رفتار بسته به هایپروایزر متفاوت خواهد بود. .SS nodedev\-destroy .sp \fBنحو:\fP .INDENT 0.0 .INDENT 3.5 .sp .EX nodedev\-destroy device .EE .UNINDENT .UNINDENT .sp تخریب (متوقف کردن) یک دستگاه روی میزبان. \fIdevice\fP می‌تواند نام دستگاه یا جفت wwn در قالب \(dqwwnn,wwpn\(dq باشد (در حال حاضر فقط برای vHBA کار می‌کند). توجه داشته باشید که این کار باعث می‌شود libvirt مدیریت دستگاه میزبان را متوقف کند، و حتی ممکن است آن دستگاه را تا زمان راه‌اندازی مجدد سیستم (reboot)، برای بقیه میزبان فیزیکی غیرقابل استفاده سازد. .SS nodedev\-define .sp \fBنحو:\fP .INDENT 0.0 .INDENT 3.5 .sp .EX nodedev\-define FILE [\-\-validate] .EE .UNINDENT .UNINDENT .sp تعریف یک دستگاه ماندگار غیرفعال یا اصلاح یک دستگاه ماندگار موجود از روی \fIFILE\fP با قالب XML\&. .sp اگر \fI\-\-validate\fP مشخص شده باشد، قالب سند XML را در برابر یک شِمای داخلی RNG اعتبارسنجی می‌کند. .SS nodedev\-undefine .sp \fBنحو:\fP .INDENT 0.0 .INDENT 3.5 .sp .EX nodedev\-undefine device .EE .UNINDENT .UNINDENT .sp حذف تعریف پیکربندی یک دستگاه ماندگار. اگر دستگاه فعال باشد، آن را به وضعیتی گذرا (transient) تغییر می‌دهد..SS nodedev\-start .sp \fBنحو:\fP .INDENT 0.0 .INDENT 3.5 .sp .EX nodedev\-start device .EE .UNINDENT .UNINDENT .sp یک دستگاه غیرفعال (از پیش تعریف‌شده) را راه‌اندازی می‌کند. .SS nodedev\-detach .sp \fBنحو:\fP .INDENT 0.0 .INDENT 3.5 .sp .EX nodedev\-detach nodedev [\-\-driver backend_driver] .EE .UNINDENT .UNINDENT .sp دستگاه \fInodedev\fP را از درایور میزبان جدا کرده و آن را به درایور ویژه‌ای متصل می‌کند که API مورد نیاز ناظر را برای تخصیص دستگاه به یک ماشین مجازی (با استفاده از در تعریف XML دامنه) فراهم می‌سازد. این عمل با دستور \fBnodedev\-reattach\fP خنثی می‌شود، و برای دستگاه‌های مدیریت‌شده (دستگاه‌هایی با \(dqmanaged=\(aqyes\(aq\(dq در تعریف XML آن‌ها) به‌طور خودکار توسط درایور ناظر انجام می‌گیرد. .sp ناظرهای مختلف انتظار دارند که دستگاه در حال تخصیص به درایورهای متفاوتی متصل شود. برای نمونه، بک‌اند \(dqvfio\(dq در QEMU نیازمند آن است که دستگاه به درایور \(dqvfio\-pci\(dq یا یک درایور \(dqواریانت VFIO\(dq متصل شود (این درایوری است که علاوه بر API کامل ارائه‌شده توسط vfio\-pci، از APIهای دیگری نیز برای پشتیبانی از قابلیت‌هایی نظیر مهاجرت زنده پشتیبانی می‌کند). پارامتر \fI\-\-driver\fP می‌تواند برای مشخص کردن درایور خاصی (مثلاً یک درایور واریانت VFIO مختص دستگاه) که دستگاه باید به آن متصل گردد، استفاده شود. در صورت حذف \fI\-\-driver\fP، درایور پیش‌فرض ناظر استفاده می‌شود (\(dqvfio\-pci\(dq برای QEMU و \(dqpciback\(dq برای Xen). .SS nodedev\-dumpxml .sp \fBنحو:\fP .INDENT 0.0 .INDENT 3.5 .sp .EX nodedev\-dumpxml [\-\-inactive] [\-\-xpath EXPRESSION] [\-\-wrap] device .EE .UNINDENT .UNINDENT .sp نمایش XML تگ را برای دستگاه گره داده‌شده برون‌ریزی می‌کند؛ شامل اطلاعاتی نظیر نام دستگاه، گذرگاهی که دستگاه متعلق به آن است، شناسه سازنده و محصول، و هرگونه قابلیتی از دستگاه که توسط libvirt قابل استفاده باشد (مانند اینکه آیا بازنشانی دستگاه پشتیبانی می‌شود یا خیر). آرگومان \fIdevice\fP می‌تواند نام دستگاه یا یک جفت wwn در قالب \(dqwwnn,wwpn\(dq باشد (فقط برای HBA کار می‌کند). گزینه‌ی دیگری نیز که بر برون‌ریزی XML اثر می‌گذارد می‌تواند استفاده شود. گزینه \fI\-\-inactive\fP به virsh می‌گوید تا پیکربندی دستگاه گره را که قرار است در راه‌اندازی بعدی دستگاه به کار رود، به جای پیکربندی فعلی آن برون‌ریزی کند. .sp اگر آرگومان \fB\-\-xpath\fP یک عبارت XPath ارائه دهد، این عبارت بر روی خروجی XML ارزیابی شده و تنها گره‌های منطبق چاپ خواهند شد. رفتار پیش‌فرض این است که هر گره منطبق به عنوان یک سند مستقل چاپ شود، با این حال، جهت تسهیل پردازش‌های بیشتر، آرگومان \fB\-\-wrap\fP سبب می‌شود که گره‌های منطبق در یک گره ریشه مشترک قرار گیرند. .SS nodedev\-info .sp \fBنحو:\fP .INDENT 0.0 .INDENT 3.5 .sp .EX nodedev\-info device .EE .UNINDENT .UNINDENT .sp اطلاعات پایه را درباره شیء \fIdevice\fP بازمی‌گرداند..SS nodedev\-list .sp \fBنحو:\fP .INDENT 0.0 .INDENT 3.5 .sp .EX nodedev\-list [\-\-cap capability] [\-\-tree] [\-\-inactive | \-\-all] [\-\-persistent | \-\-transient] .EE .UNINDENT .UNINDENT .sp تمام دستگاه‌های موجود روی گره را که توسط libvirt شناخته شده‌اند، فهرست می‌کند. از \fIcap\fP برای فیلتر کردن فهرست بر اساس نوع قابلیت‌ها استفاده می‌شود؛ نوع‌ها باید با کاما از هم جدا شوند، مانند \-\-cap pci,scsi. انواع معتبر قابلیت‌ها شامل موارد زیر است: \(aqsystem\(aq، \(aqpci\(aq، \(aqusb_device\(aq، \(aqusb\(aq، \(aqnet\(aq، \(aqscsi_host\(aq، \(aqscsi_target\(aq، \(aqscsi\(aq، \(aqstorage\(aq، \(aqfc_host\(aq، \(aqvports\(aq، \(aqscsi_generic\(aq، \(aqdrm\(aq، \(aqmdev\(aq، \(aqmdev_types\(aq، \(aqccw\(aq، \(aqccwgroup\(aq، \(aqccwgroup_member\(aq، \(aqcss\(aq، \(aqap_card\(aq، \(aqap_queue\(aq، \(aqap_matrix\(aq. به‌طور پیش‌فرض، فقط دستگاه‌های فعال فهرست می‌شوند. گزینهٔ \fI\-\-inactive\fP برای فهرست کردن فقط دستگاه‌های غیرفعال، و \fI\-\-all\fP برای فهرست کردن هر دو گروه دستگاه‌های فعال و غیرفعال به کار می‌رود. \fI\-\-persistent\fP برای فهرست کردن تنها دستگاه‌های پایدار، و \fI\-\-transient\fP برای فهرست کردن تنها دستگاه‌های گذرا استفاده می‌شود. عدم ارائهٔ \fI\-\-persistent\fP یا \fI\-\-transient\fP باعث فهرست شدن تمام دستگاه‌ها می‌شود مگر اینکه فیلتر دیگری اعمال شده باشد. \fI\-\-transient\fP با \fI\-\-persistent\fP و \fI\-\-inactive\fP\& مانعة‌الجمع است. در صورت استفاده از \fI\-\-tree\fP، خروجی به‌صورت یک ساختار درختی که والدین هر گره را نشان می‌دهد قالب‌بندی می‌شود. \fI\-\-tree\fP با تمام گزینه‌های دیگر به جز \fI\-\-all\fP\& مانعة‌الجمع است. .SS nodedev\-reattach .sp \fBنحو:\fP .INDENT 0.0 .INDENT 3.5 .sp .EX nodedev\-reattach nodedev .EE .UNINDENT .UNINDENT .sp اعلام می‌کند که \fInodedev\fP دیگر توسط هیچ میهمانی استفاده نمی‌شود و میزبان می‌تواند استفادهٔ عادی از دستگاه را از سر بگیرد. این عمل برای دستگاه‌های PCI در حالت مدیریت‌شده و دستگاه‌های USB به‌طور خودکار انجام می‌شود، اما برای مطابقت با هر \fBnodedev\-detach\fP\& صریح، باید به‌صورت صریح انجام گیرد. .SS nodedev\-reset .sp \fBنحو:\fP .INDENT 0.0 .INDENT 3.5 .sp .EX nodedev\-reset nodedev .EE .UNINDENT .UNINDENT .sp یک بازنشانی دستگاه را برای \fInodedev\fP راه‌اندازی می‌کند؛ این کار پیش از انتقال یک دستگاه گره بین حالت عبوردهی به میهمان (guest passthrough) یا میزبان مفید است. Libvirt اغلب در صورت لزوم این عمل را به‌طور ضمنی انجام می‌دهد، اما این دستور امکان بازنشانی صریح را در هنگام نیاز فراهم می‌سازد. .SS nodedev\-event .sp \fBنحو:\fP .INDENT 0.0 .INDENT 3.5 .sp .EX nodedev\-event {[nodedev] event [\-\-loop] [\-\-timeout seconds] [\-\-timestamp] | \-\-list} .EE .UNINDENT .UNINDENT .sp منتظر وقوع دسته‌ای از رویدادهای دستگاه گره می‌ماند و هم‌زمان با رخ دادن رویدادها، جزئیات مناسب آن‌ها را چاپ می‌کند. رویدادها را می‌توان به‌صورت اختیاری با \fInodedev\fP\& فیلتر کرد. استفاده از \fI\-\-list\fP به عنوان تنها آرگومان، فهرستی از مقادیر ممکن \fIevent\fP را که برای این کلاینت شناخته‌شده هستند ارائه می‌دهد، هرچند ممکن است اتصال اجازهٔ ثبت‌نام برای همهٔ این رویدادها را ندهد. .sp به‌طور پیش‌فرض، این دستور یک‌باره (one\-shot) عمل می‌کند و به محض وقوع یک رویداد وضعیت موفقیت را برمی‌گرداند؛ می‌توانید SIGINT (معمولاً از طریق \fBCtrl\-C\fP) ارسال کنید تا بلافاصله خارج شوید. اگر \fI\-\-timeout\fP مشخص شده باشد، دستور پس از سپری شدن \fIseconds\fP ثانیه از انتظار برای رویدادها صرف‌نظر می‌کند. با \fI\-\-loop\fP، دستور تمام رویدادها را تا زمان پایان مهلت زمانی یا کلید وقفه چاپ می‌کند. .sp هنگامی که از \fI\-\-timestamp\fP استفاده شود، یک برچسب زمانی خوانا برای انسان پیش از رویداد چاپ خواهد شد..SS nodedev\-autostart .sp \fBنحو:\fP .INDENT 0.0 .INDENT 3.5 .sp .EX nodedev\-autostart [\-\-disable] device .EE .UNINDENT .UNINDENT .sp پیکربندی یک دستگاه به‌گونه‌ای که هنگام بوت شدن ماشین میزبان یا دردسترس قرار گرفتن دستگاه والد، به‌طور خودکار آغاز به‌کار کند. با گزینهٔ \fI\-\-disable\fP، دستگاه روی حالت دستی تنظیم می‌شود و دیگر به‌طور خودکار توسط میزبان راه‌اندازی نخواهد شد. این دستور فقط برای دستگاه‌های واسطه‌ای تعریف‌شده به‌طور ماندگار (persistently\-defined mediated devices) پشتیبانی می‌شود. .SH "دستورهای شبکه مجازی (VIRTUAL NETWORK COMMANDS)" .sp دستورهای زیر شبکه‌ها را دستکاری و مدیریت می‌کنند. Libvirt این قابلیت را دارد که شبکه‌های مجازی را تعریف کند تا سپس توسط دامنه‌ها (domains) مورد استفاده قرار گرفته و به دستگاه‌های شبکه واقعی متصل شوند. برای اطلاعات با جزئیات بیشتر در مورد این ویژگی، به مستندات در \% مراجعه کنید. بسیاری از دستورهای مربوط به شبکه‌های مجازی شبیه به دستورهای مورد استفاده برای دامنه‌ها هستند، اما روش نام‌گذاری یک شبکه مجازی یا از طریق نام آن است یا UUID آن. .SS net\-autostart .sp \fBنحو:\fP .INDENT 0.0 .INDENT 3.5 .sp .EX net\-autostart network [\-\-disable] .EE .UNINDENT .UNINDENT .sp پیکربندی یک شبکه مجازی برای راه‌اندازی خودکار در هنگام بوت. گزینهٔ \fI\-\-disable\fP راه‌اندازی خودکار را غیرفعال می‌کند. .SS net\-create .sp \fBنحو:\fP .INDENT 0.0 .INDENT 3.5 .sp .EX net\-create file [\-\-validate] .EE .UNINDENT .UNINDENT .sp ایجاد یک شبکه مجازی گذرا (موقت) از روی یک \fIfile\fP با فرمت XML و نمونه‌سازی (راه‌اندازی) شبکه. برای دریافت توضیحات دربارهٔ قالب XML شبکه که توسط libvirt استفاده می‌شود، به مستندات در \% مراجعه کنید. .sp به‌صورت اختیاری، فرمت فایل XML ورودی می‌تواند با گزینهٔ \fI\-\-validate\fP در برابر یک شمای RNG داخلی اعتبارسنجی شود\&. .SS net\-define .sp \fBنحو:\fP .INDENT 0.0 .INDENT 3.5 .sp .EX net\-define file [\-\-validate] .EE .UNINDENT .UNINDENT .sp تعریف یک شبکه مجازی ماندگار غیرفعال یا اصلاح یک شبکه ماندگار موجود از روی \fIfile\fP با فرمت XML\&. به‌صورت اختیاری، فرمت فایل XML ورودی می‌تواند با گزینهٔ \fI\-\-validate\fP در برابر یک شمای RNG داخلی اعتبارسنجی شود\&. .SS net\-desc .sp \fBنحو:\fP .INDENT 0.0 .INDENT 3.5 .sp .EX net\-desc network [[\-\-live] [\-\-config] | [\-\-current]] [\-\-title] [\-\-edit] [\-\-new\-desc New description or title message] .EE .UNINDENT .UNINDENT .sp نمایش یا تغییر توضیحات و عنوان یک شبکه. این مقادیر، فیلدهای کاربری هستند که امکان ذخیره داده‌های متنی دلخواه را برای شناسایی آسان‌تر شبکه‌ها فراهم می‌کنند. عنوان باید کوتاه باشد، هرچند که این موضوع اجباری نیست. (همچنین دستور \fBnet\-metadata\fP را ببینید که با فراداده‌های شبکه مبتنی بر XML کار می‌کند.) .sp پرچم‌های \fI\-\-live\fP یا \fI\-\-config\fP مشخص می‌کنند که این دستور بر روی تعاریف زنده یا ماندگار شبکه کار کند. اگر هر دو گزینهٔ \fI\-\-live\fP و \fI\-\-config\fP مشخص شوند، گزینهٔ \fI\-\-config\fP در دریافت توضیحات فعلی اولویت دارد و هنگام تنظیم توضیحات، هم پیکربندی زنده و هم پیکربندی ماندگار به‌روزرسانی می‌شوند. \fI\-\-current\fP انحصاری است و اگر هیچ‌یک از این گزینه‌ها تعیین نشده باشد، به‌صورت ضمنی اعمال می‌شود. .sp پرچم \fI\-\-edit\fP مشخص می‌کند که یک ویرایشگر با محتویات توضیحات یا عنوان فعلی باز شود و محتویات پس از ویرایش مجدداً ذخیره گردند. .sp پرچم \fI\-\-title\fP به‌جای فیلد توضیحات، عملیات را روی فیلد عنوان اعمال می‌کند. .sp اگر هیچ‌یک از پرچم‌های \fI\-\-edit\fP و \fI\-\-new\-desc\fP مشخص نشده باشند، یادداشت یا توضیحات به‌جای ویرایش، نمایش داده می‌شوند..SS net\-destroy .sp \fBنحو:\fP .INDENT 0.0 .INDENT 3.5 .sp .EX net\-destroy network .EE .UNINDENT .UNINDENT .sp یک شبکه مجازی گذرا یا پایدار داده‌شده را که با نام یا UUID آن مشخص شده است، نابود (متوقف) می‌کند. این عمل بلافاصله اعمال می‌شود. .SS net\-dumpxml .sp \fBنحو:\fP .INDENT 0.0 .INDENT 3.5 .sp .EX net\-dumpxml [\-\-inactive] [\-\-xpath EXPRESSION] [\-\-wrap] network .EE .UNINDENT .UNINDENT .sp اطلاعات شبکه مجازی را در قالب یک خروجی XML در stdout نمایش می‌دهد. اگر \fI\-\-inactive\fP مشخص شده باشد، توابع فیزیکی به توابع مجازی مرتبط با خود بسط داده نمی‌شوند. .sp اگر آرگومان \fB\-\-xpath\fP یک عبارت XPath را ارائه دهد، در برابر XML خروجی ارزیابی می‌شود و تنها گره‌های منطبق چاپ خواهند شد. رفتار پیش‌فرض، چاپ هر گره منطبق به عنوان یک سند مستقل است؛ با این حال، برای سهولت در پردازش‌های بیشتر، آرگومان \fB\-\-wrap\fP باعث می‌شود که گره‌های منطبق درون یک گره ریشه مشترک قرار گیرند. .SS net\-edit .sp \fBنحو:\fP .INDENT 0.0 .INDENT 3.5 .sp .EX net\-edit network .EE .UNINDENT .UNINDENT .sp فایل پیکربندی XML را برای یک شبکه ویرایش می‌کند. .sp این معادل دستورهای زیر است: .INDENT 0.0 .INDENT 3.5 .sp .EX virsh net\-dumpxml \-\-inactive network > network.xml vi network.xml (or make changes with your other text editor) virsh net\-define network.xml .EE .UNINDENT .UNINDENT .sp با این تفاوت که برخی بررسی‌های خطا را انجام می‌دهد. .sp ویرایشگر مورد استفاده می‌تواند توسط متغیرهای محیطی \fB$VISUAL\fP یا \fB$EDITOR\fP تعیین شود و پیش‌فرض آن \fBvi\fP است\&. .SS net\-event .sp \fBنحو:\fP .INDENT 0.0 .INDENT 3.5 .sp .EX net\-event {[network] event [\-\-loop] [\-\-timeout seconds] [\-\-timestamp] | \-\-list} .EE .UNINDENT .UNINDENT .sp منتظر وقوع دسته‌ای از رویدادهای شبکه می‌ماند و با رخ دادن رویدادها، جزئیات مناسب آن‌ها را چاپ می‌کند. رویدادها را می‌توان به‌صورت اختیاری بر اساس \fInetwork\fP فیلتر کرد\&. استفاده از \fI\-\-list\fP به عنوان تنها آرگومان، فهرستی از مقادیر ممکن \fIevent\fP را که برای این کلاینت شناخته‌شده است ارائه می‌دهد، اگرچه ممکن است اتصال اجازه ثبت‌نام برای همه این رویدادها را ندهد. .sp به‌طور پیش‌فرض، این دستور تک‌مرحله‌ای (one\-shot) است و پس از وقوع یک رویداد با موفقیت به پایان می‌رسد؛ می‌توانید با ارسال SIGINT (معمولاً از طریق \fBCtrl\-C\fP) فوراً از آن خارج شوید. اگر \fI\-\-timeout\fP مشخص شده باشد، دستور پس از سپری شدن \fIseconds\fP ثانیه از انتظار برای رویدادها صرف‌نظر می‌کند. با \fI\-\-loop\fP، دستور تمام رویدادها را تا پایان مهلت زمانی یا فشردن کلید وقفه چاپ می‌کند. .sp هنگامی که از \fI\-\-timestamp\fP استفاده شود، یک برچسب زمانی خوانا برای انسان قبل از رویداد چاپ خواهد شد..SS net\-info .sp \fBنحو:\fP .INDENT 0.0 .INDENT 3.5 .sp .EX net\-info network .EE .UNINDENT .UNINDENT .sp اطلاعات پایه‌ای درباره شیء \fInetwork\fP را برمی‌گرداند. .SS net\-list .sp \fBنحو:\fP .INDENT 0.0 .INDENT 3.5 .sp .EX net\-list [\-\-inactive | \-\-all] { [\-\-table] | \-\-name | \-\-uuid } [\-\-persistent] [<\-\-transient>] [\-\-autostart] [<\-\-no\-autostart>] [\-\-title] .EE .UNINDENT .UNINDENT .sp فهرست شبکه‌های فعال را برمی‌گرداند؛ اگر \fI\-\-all\fP مشخص شده باشد، شبکه‌های تعریف‌شده اما غیرفعال نیز در فهرست خواهند آمد، و اگر \fI\-\-inactive\fP مشخص شده باشد، فقط موارد غیرفعال فهرست می‌شوند. همچنین می‌توانید شبکه‌های بازگردانده‌شده را با \fI\-\-persistent\fP برای موارد مانگار، \fI\-\-transient\fP برای موارد گذرا، \fI\-\-autostart\fP برای مواردی که شروع خودکار آن‌ها فعال است، و \fI\-\-no\-autostart\fP برای مواردی با شروع خودکار غیرفعال فیلتر کنید. .sp اگر \fI\-\-name\fP مشخص شده باشد، نام‌های شبکه‌ها به جای قالب جدولی و در هر سطر یک نام چاپ می‌شوند. اگر \fI\-\-uuid\fP مشخص شده باشد، به جای نام‌ها، UUID\(aqهای شبکه چاپ می‌شوند. پرچم \fI\-\-table\fP مشخص می‌کند که از خروجی سنتی با قالب جدول استفاده شود. این حالت پیش‌فرض است. همه این پرچم‌ها مانعة‌الجمع هستند. .sp اگر \fI\-\-title\fP مشخص شده باشد، شرح کوتاه شبکه (عنوان) در یک ستون اضافی چاپ می‌شود. این پرچم فقط همراه با خروجی پیش‌فرض \fI\-\-table\fP قابل استفاده است. .sp نکته: هنگام برقراری ارتباط با کارگزارهای قدیمی‌تر، این دستور ناچار است از مجموعه‌ای از فراخوانی‌های API با شرایط رقابتی ذاتی (race condition) استفاده کند که در آن ممکن است در صورت تغییر وضعیت یک pool میان فراخوانی‌ها در حین گردآوری فهرست، آن مورد در فهرست ظاهر نشود یا بیش از یک بار ظاهر شود. کارگزارهای جدیدتر این مشکل را ندارند. .SS net\-metadata .sp \fBنحو:\fP .INDENT 0.0 .INDENT 3.5 .sp .EX net\-metadata network [[\-\-live] [\-\-config] | [\-\-current]] [\-\-edit] [uri] [key] [set] [\-\-remove] .EE .UNINDENT .UNINDENT .sp نمایش یا ویرایش متاداده‌های سفارشی XML یک شبکه. متاداده یک XML تعریف‌شده توسط کاربر است که امکان ذخیره‌سازی داده‌های دلخواه XML را در تعریف شبکه فراهم می‌کند. چندین بخش جداگانه از متاداده‌های سفارشی می‌توانند در XML شبکه ذخیره شوند. این بخش‌ها با یک فضای‌نام (namespace) اختصاصی XML که از طریق آرگومان \fIuri\fP ارائه می‌شود، شناسایی می‌گردند. (همچنین دستور \fBnet\-desc\fP را ببینید که با متاداده‌های متنی شبکه، مانند عنوان و توضیحات کار می‌کند.) .sp پرچم‌های \fI\-\-live\fP یا \fI\-\-config\fP تعیین می‌کنند که این دستور بر روی تعاریف زنده یا مانگار شبکه عمل کند. اگر هر دو پرچم \fI\-\-live\fP و \fI\-\-config\fP مشخص شده باشند، گزینه \fI\-\-config\fP در دریافت توضیحات فعلی اولویت دارد و هنگام تنظیم توضیحات، هم پیکربندی زنده و هم config به‌روزرسانی می‌شوند. \fI\-\-current\fP مانعة‌الجمع است و در صورتی که هیچ‌یک مشخص نشده باشند، به صورت ضمنی اعمال می‌شود. .sp پرچم \fI\-\-remove\fP مشخص می‌کند که عنصر متاداده تعیین‌شده توسط آرگومان \fIuri\fP باید به جای به‌روزرسانی، حذف شود. .sp پرچم \fI\-\-edit\fP مشخص می‌کند که یک ویرایشگر حاوی متاداده شناسایی‌شده با آرگومان \fIuri\fP باز شود و محتویات پس از آن ذخیره گردند. در غیر این صورت، محتوای جدید می‌تواند از طریق آرگومان \fIset\fP ارائه شود. .sp هنگام تنظیم متاداده از طریق \fI\-\-edit\fP یا \fIset\fP، آرگومان \fIkey\fP باید مشخص شود و برای پیشوندگذاری عنصرهای سفارشی جهت پیوند دادن آن‌ها به فضای‌نام اختصاصی به کار می‌رود. .sp اگر هیچ‌کدام از \fI\-\-edit\fP و \fIset\fP مشخص نشده باشند، متاداده XML متناظر با فضای‌نام \fIuri\fP به جای ویرایش، نمایش داده می‌شود..SS net\-name .sp \fBسینتکس:\fP .INDENT 0.0 .INDENT 3.5 .sp .EX net\-name network\-UUID .EE .UNINDENT .UNINDENT .sp تبدیل یک UUID شبکه به نام شبکه. .SS net\-start .sp \fBسینتکس:\fP .INDENT 0.0 .INDENT 3.5 .sp .EX net\-start network .EE .UNINDENT .UNINDENT .sp راه‌اندازی یک شبکه غیرفعال (از پیش تعریف‌شده). .SS net\-undefine .sp \fBسینتکس:\fP .INDENT 0.0 .INDENT 3.5 .sp .EX net\-undefine network .EE .UNINDENT .UNINDENT .sp حذف تعریف پیکربندی یک شبکه مانا (persistent). اگر شبکه فعال باشد، آن را به یک شبکه گذرا (transient) تبدیل می‌کند. .SS net\-uuid .sp \fBسینتکس:\fP .INDENT 0.0 .INDENT 3.5 .sp .EX net\-uuid network\-name .EE .UNINDENT .UNINDENT .sp تبدیل یک نام شبکه به UUID شبکه. .SS net\-update .sp \fBسینتکس:\fP .INDENT 0.0 .INDENT 3.5 .sp .EX net\-update network command section xml [\-\-parent\-index index] [[\-\-live] [\-\-config] | [\-\-current]] .EE .UNINDENT .UNINDENT .sp به‌روزرسانی بخش مشخص‌شده از تعریف یک شبکه موجود، به‌طوری که تغییرات می‌توانند در صورت تمایل بلافاصله و بدون نیاز به متوقف کردن و راه‌اندازی دوباره شبکه اعمال شوند. .sp دستور \fIcommand\fP یکی از موارد \(dqadd\-first\(dq، \(dqadd\-last\(dq، \(dqadd\(dq (مترادفی برای add\-last)، \(dqdelete\(dq یا \(dqmodify\(dq است. .sp بخش \fIsection\fP یکی از موارد \(dqbridge\(dq، \(dqdomain\(dq، \(dqip\(dq، \(dqip\-dhcp\-host\(dq، \(dqip\-dhcp\-range\(dq، \(dqforward\(dq، \(dqforward\-interface\(dq، \(dqforward\-pf\(dq، \(dqportgroup\(dq، \(dqdns\-host\(dq، \(dqdns\-txt\(dq یا \(dqdns\-srv\(dq است؛ نام هر بخش از الحاق سلسله‌مراتب عنصرهای xml منتهی به عنصری که تغییر می‌یابد تشکیل شده است. برای نمونه، \(dqip\-dhcp\-host\(dq عنصر را که درون یک عنصر داخل یک عنصر از شبکه قرار دارد، تغییر خواهد داد. .sp مقدار \fIxml\fP یا متن یک عنصر کامل xml از همان نوعی است که تغییر داده می‌شود (مانند \(dq\(dq) یا نام فایلی است که دربردارنده یک عنصر کامل xml است. رفع ابهام با بررسی نخستین نویسه متن ارائه‌شده انجام می‌شود \- اگر نویسه نخست \(dq<\(dq باشد، به عنوان متن xml در نظر گرفته می‌شود؛ اگر نویسه نخست \(dq<\(dq نباشد، نام فایلی است که حاوی متن xml مورد استفاده می‌باشد. .sp گزینه \fI\-\-parent\-index\fP برای مشخص کردن این که عنصر درخواستی در کدام‌یک از چندین عنصر والد قرار دارد استفاده می‌شود (مبتنی بر صفر). برای نمونه، یک عنصر dhcp می‌تواند در هر یک از چندین عنصر درون شبکه باشد؛ اگر parent\-index ارائه نشود، \(dqمناسب‌ترین\(dq عنصر انتخاب خواهد شد (معمولاً تنها عنصری که از قبل حاوی یک عنصر است)، اما اگر \fI\-\-parent\-index\fP مشخص شود، آن نمونه خاص از دستخوش تغییر خواهد شد. .sp اگر \fI\-\-live\fP مشخص شود، بر روی یک شبکه در حال اجرا اثر می‌گذارد. اگر \fI\-\-config\fP مشخص شود، بر روی راه‌اندازی بعدی یک شبکه مانا اثر می‌گذارد. اگر \fI\-\-current\fP مشخص شود، بسته به وضعیت کنونی مهمان، معادل \fI\-\-live\fP یا \fI\-\-config\fP خواهد بود. هر دو پرچم \fI\-\-live\fP و \fI\-\-config\fP را می‌توان با هم تعیین کرد، اما \fI\-\-current\fP مانعة‌الجمع (انحصاری) است. مشخص نکردن هیچ پرچمی همانند تعیین \fI\-\-current\fP است\&..SS net\-dhcp\-leases .sp \fBنحو:\fP .INDENT 0.0 .INDENT 3.5 .sp .EX net\-dhcp\-leases network [mac] .EE .UNINDENT .UNINDENT .sp دریافت فهرستی از اجاره‌های dhcp برای تمام رابط‌های شبکه متصل به \fInetwork\fP مجازی داده‌شده، یا محدود کردن خروجی تنها به یک رابط در صورتی که \fImac\fP مشخص شده باشد. .SH "دستورهای درگاه شبکه (NETWORK PORT COMMANDS)" .sp دستورهای زیر درگاه‌های شبکه را دستکاری می‌کنند. شبکه‌های مجازی Libvirt دارای درگاه‌هایی هستند که هنگام افزوده‌شدن یک رابط شبکه مجازی به یک ماشین مجازی ایجاد می‌شوند. به‌طور کلی نیازی به استفاده از هیچ‌یک از دستورهای اینجا نیست، زیرا درایورهای hypervisor این دستورها را در مرحلهٔ مناسبی از چرخهٔ حیات ماشین مجازی اجرا می‌کنند. این دستورها می‌توانند برای اشکال‌زدایی مشکلات یا بازیابی از باگ‌ها و وضعیت‌های کهنه (stale) مفید باشند. .SS net\-port\-list .sp \fBنحو:\fP .INDENT 0.0 .INDENT 3.5 .sp .EX net\-port\-list { [\-\-table] | \-\-uuid } network .EE .UNINDENT .UNINDENT .sp فهرست کردن تمام درگاه‌های شبکه ثبت‌شده برای شبکه. .sp اگر \fI\-\-uuid\fP مشخص شود، به‌جای جدول، UUIDهای درگاه‌های شبکه چاپ می‌شوند. پرچم \fI\-\-table\fP مشخص می‌کند که باید از خروجی سنتی جدول‌بندی‌شده استفاده شود. این حالت پیش‌فرض است. تمام این موارد مانعة‌الجمع هستند. .SS net\-port\-create .sp \fBنحو:\fP .INDENT 0.0 .INDENT 3.5 .sp .EX net\-port\-create network file [\-\-validate] .EE .UNINDENT .UNINDENT .sp تخصیص یک درگاه شبکه جدید و رزرو منابع بر اساس توصیف درگاه. به‌صورت اختیاری، قالب فایل XML ورودی می‌تواند با \fI\-\-validate\fP\& در برابر یک طرح‌وارهٔ (schema) داخلی RNG اعتبارسنجی شود. .SS net\-port\-dumpxml .sp \fBنحو:\fP .INDENT 0.0 .INDENT 3.5 .sp .EX net\-port\-dumpxml [\-\-xpath EXPRESSION] [\-\-wrap] network port .EE .UNINDENT .UNINDENT .sp چاپ اطلاعات درگاه شبکه به‌صورت یک دامپ XML در stdout. .sp اگر آرگومان \fB\-\-xpath\fP یک عبارت XPath ارائه دهد، در برابر XML خروجی ارزیابی خواهد شد و تنها گره‌های منطبق چاپ می‌شوند. رفتار پیش‌فرض این است که هر گرهٔ منطبق به‌صورت یک سند مستقل چاپ شود، اما برای سهولت در پردازش‌های بیشتر، آرگومان \fB\-\-wrap\fP باعث می‌شود که گره‌های منطبق درون یک گره ریشه مشترک قرار داده شوند. .SS net\-port\-delete .sp \fBنحو:\fP .INDENT 0.0 .INDENT 3.5 .sp .EX net\-port\-delete network port .EE .UNINDENT .UNINDENT .sp حذف رکورد درگاه شبکه و آزادسازی منابع آن..SH "دستورهای رابط (INTERFACE COMMANDS)" .sp دستورهای زیر رابط‌های میزبان را مدیریت می‌کنند. اغلب می‌توان این رابط‌های میزبان را با نام در عناصر دامنه (مانند یک رابط bridge ایجادشده توسط سیستم) استفاده کرد، اما هیچ الزامی وجود ندارد که رابط‌های میزبان حتماً به یک پیکربندی XML مهمان خاص مرتبط باشند. .sp بسیاری از دستورهای مربوط به رابط‌های میزبان شبیه به دستورهای مورد استفاده برای دامنه‌ها هستند، و روش نام‌گذاری یک رابط با استفاده از نام آن یا آدرس MAC آن است. با این حال، استفاده از آدرس MAC برای یک آرگومان \fIiface\fP تنها زمانی کار می‌کند که آن آدرس یکتا باشد (اگر یک رابط و یک bridge دارای آدرس MAC یکسانی باشند، که اغلب نیز چنین است، استفاده از آن آدرس MAC به دلیل ابهام منجر به خطا می‌شود و در عوض باید به نام متوسل شوید). .SS iface\-bridge .sp \fBنحو:\fP .INDENT 0.0 .INDENT 3.5 .sp .EX iface\-bridge interface bridge [\-\-no\-stp] [delay] [\-\-no\-start] .EE .UNINDENT .UNINDENT .sp یک دستگاه bridge به نام \fIbridge\fP ایجاد می‌کند، و دستگاه شبکه موجود \fIinterface\fP را به bridge جدید متصل می‌نماید. bridge جدید به‌طور پیش‌فرض بلافاصله با STP فعال و تاخیر 0 شروع به کار می‌کند؛ این تنظیمات را می‌توان با \fI\-\-no\-stp\fP، \fI\-\-no\-start\fP و یک عدد صحیح به ثانیه برای \fIdelay\fP\& تغییر داد. تمام پیکربندی آدرس IP مربوط به \fIinterface\fP به دستگاه bridge جدید منتقل خواهد شد. .sp همچنین برای لغو این عملیات، \fBiface\-unbridge\fP را ببینید. .SS iface\-define .sp \fBنحو:\fP .INDENT 0.0 .INDENT 3.5 .sp .EX iface\-define file [\-\-validate] .EE .UNINDENT .UNINDENT .sp یک رابط فیزیکی میزبانِ ماندگار و غیرفعال را تعریف می‌کند یا یک رابط ماندگار موجود را از روی \fIfile\fP\& با ساختار XML تغییر می‌دهد. در صورت تمایل، قالب فایل XML ورودی را می‌توان با گزینه \fI\-\-validate\fP\& در برابر یک شمای RNG داخلی اعتبارسنجی کرد. .SS iface\-destroy .sp \fBنحو:\fP .INDENT 0.0 .INDENT 3.5 .sp .EX iface\-destroy interface .EE .UNINDENT .UNINDENT .sp یک رابط میزبان مشخص‌شده را نابود (متوقف) می‌کند، مانند اجرای \(dqif\-down\(dq برای از کار انداختن آن رابط از حالت استفاده فعال. این عمل بلافاصله اعمال می‌شود. .SS iface\-dumpxml .sp \fBنحو:\fP .INDENT 0.0 .INDENT 3.5 .sp .EX iface\-dumpxml [\-\-inactive] [\-\-xpath EXPRESSION] [\-\-wrap] interface .EE .UNINDENT .UNINDENT .sp اطلاعات رابط میزبان را به صورت یک خروجی ساختاریافته XML در stdout می‌ریزد. اگر \fI\-\-inactive\fP مشخص شده باشد، خروجی نمایانگر وضعیت ماندگار رابط خواهد بود که در راه‌اندازی بعدی از آن استفاده می‌شود. .sp اگر آرگومان \fB\-\-xpath\fP یک عبارت XPath ارائه دهد، آن عبارت بر روی خروجی XML ارزیابی شده و تنها گره‌های منطبق چاپ خواهند شد. رفتار پیش‌فرض این است که هر گره منطبق به عنوان یک سند مستقل چاپ شود؛ با این حال، برای سهولت در پردازش‌های بیشتر، آرگومان \fB\-\-wrap\fP باعث می‌شود که گره‌های منطبق درون یک گره ریشه مشترک قرار داده شوند..SS iface\-edit .sp \fBساختار:\fP .INDENT 0.0 .INDENT 3.5 .sp .EX iface\-edit interface .EE .UNINDENT .UNINDENT .sp ویرایش فایل پیکربندی XML برای یک رابط میزبان. .sp این معادل است با: .INDENT 0.0 .INDENT 3.5 .sp .EX virsh iface\-dumpxml iface > iface.xml vi iface.xml (or make changes with your other text editor) virsh iface\-define iface.xml .EE .UNINDENT .UNINDENT .sp با این تفاوت که برخی بررسی‌های خطا را انجام می‌دهد. .sp ویرایشگر مورداستفاده می‌تواند از طریق متغیرهای محیطی \fB$VISUAL\fP یا \fB$EDITOR\fP مشخص شود و مقدار پیش‌فرض آن \fBvi\fP\& است. .SS iface\-list .sp \fBساختار:\fP .INDENT 0.0 .INDENT 3.5 .sp .EX iface\-list [\-\-inactive | \-\-all] .EE .UNINDENT .UNINDENT .sp فهرست رابط‌های فعال میزبان را بازمی‌گرداند. اگر \fI\-\-all\fP مشخص شده باشد، رابط‌های تعریف‌شده اما غیرفعال نیز شامل خواهند شد. اگر \fI\-\-inactive\fP مشخص شده باشد، تنها موارد غیرفعال فهرست می‌شوند. .SS iface\-name .sp \fBساختار:\fP .INDENT 0.0 .INDENT 3.5 .sp .EX iface\-name interface .EE .UNINDENT .UNINDENT .sp تبدیل آدرس MAC رابط میزبان به نام رابط، در صورتی که آدرس MAC در میان رابط‌های میزبان یکتا باشد. .sp پارامتر \fIinterface\fP آدرس MAC رابط را مشخص می‌کند. .SS iface\-mac .sp \fBساختار:\fP .INDENT 0.0 .INDENT 3.5 .sp .EX iface\-mac interface .EE .UNINDENT .UNINDENT .sp تبدیل نام یک رابط میزبان به آدرس MAC. .sp پارامتر \fIinterface\fP نام رابط را مشخص می‌کند. .SS iface\-start .sp \fBساختار:\fP .INDENT 0.0 .INDENT 3.5 .sp .EX iface\-start interface .EE .UNINDENT .UNINDENT .sp راه‌اندازی یک رابط میزبان (از قبل تعریف‌شده)، مانند اجرای \(dqif\-up\(dq..SS iface\-unbridge .sp \fBنحو:\fP .INDENT 0.0 .INDENT 3.5 .sp .EX iface\-unbridge bridge [\-\-no\-start] .EE .UNINDENT .UNINDENT .sp برچیدن یک دستگاه پل (bridge) به نام \fIbridge\fP، آزادسازی رابط زیربنایی آن برای استفادهٔ عادی، و انتقال تمام پیکربندی‌های آدرس IP از دستگاه پل به دستگاه زیربنایی. رابط زیربنایی مجدداً راه‌اندازی می‌شود مگر اینکه \fI\-\-no\-start\fP داده شده باشد؛ این پرچم جهت تقارن ساختاری وجود دارد، اما عموماً توصیه نمی‌شود. .sp همچنین برای ایجاد یک پل، \fBiface\-bridge\fP را ببینید. .SS iface\-undefine .sp \fBنحو:\fP .INDENT 0.0 .INDENT 3.5 .sp .EX iface\-undefine interface .EE .UNINDENT .UNINDENT .sp حذف تعریف (undefine) پیکربندی یک رابط میزبان غیرفعال. .SS iface\-begin .sp \fBنحو:\fP .INDENT 0.0 .INDENT 3.5 .sp .EX iface\-begin .EE .UNINDENT .UNINDENT .sp ایجاد یک تصویر لحظه‌ای (snapshot) از تنظیمات کنونی رابط میزبان، که بعداً می‌تواند تثبیت (\fIiface\-commit\fP) یا بازگردانی (\fIiface\-rollback\fP) شود. اگر از قبل یک تصویر لحظه‌ای وجود داشته باشد، این دستور تا زمانی که تصویر لحظه‌ای قبلی تثبیت یا بازگردانی نشود با خطا مواجه خواهد شد. در صورتی که در فاصلهٔ بین شروع یک تصویر لحظه‌ای و تثبیت یا بازگردانی نهایی آن، تغییراتی خارج از API لایب‌ویرت (libvirt) روی رابط‌های میزبان صورت گیرد، رفتاری تعریف‌نشده در پی خواهد داشت. .SS iface\-commit .sp \fBنحو:\fP .INDENT 0.0 .INDENT 3.5 .sp .EX iface\-commit .EE .UNINDENT .UNINDENT .sp تأیید و نهایی‌سازی تمامی تغییرات اعمال‌شده از زمان آخرین \fIiface\-begin\fP و حذف نقطهٔ بازگردانی. اگر از قبل هیچ تصویر لحظه‌ای برای رابط آغاز نشده باشد، این دستور با خطا مواجه خواهد شد. .SS iface\-rollback .sp \fBنحو:\fP .INDENT 0.0 .INDENT 3.5 .sp .EX iface\-rollback .EE .UNINDENT .UNINDENT .sp بازگردانی تمام تنظیمات رابط میزبان به وضعیتی که در آخرین \fIiface\-begin\fP ثبت شده است\&. اگر از قبل هیچ تصویر لحظه‌ای برای رابط آغاز نشده باشد، این دستور با خطا مواجه خواهد شد. راه‌اندازی مجدد میزبان نیز به عنوان یک نقطهٔ بازگردانی ضمنی عمل می‌کند..SH "دستورهای استخر ذخیره‌سازی (STORAGE POOL COMMANDS)" .sp دستورهای زیر استخرهای ذخیره‌سازی را مدیریت می‌کنند. Libvirt قابلیت مدیریت راهکارهای گوناگون ذخیره‌سازی، از جمله فایل‌ها، پارتیشن‌های خام (raw partitions) و قالب‌های ویژهٔ دامنه‌ها را دارد که برای فراهم کردن حجم‌های ذخیره‌سازی (storage volumes) به عنوان دستگاه‌ها در ماشین‌های مجازی به کار می‌روند. برای اطلاعات دقیق‌تر درباره این ویژگی، مستندات را در \% ببینید. بسیاری از دستورهای مربوط به استخرها مشابه دستورهای مورد استفاده برای دامنه‌ها هستند. .SS find\-storage\-pool\-sources .sp \fBنحو:\fP .INDENT 0.0 .INDENT 3.5 .sp .EX find\-storage\-pool\-sources type [srcSpec] .EE .UNINDENT .UNINDENT .sp یک خروجی XML برمی‌گرداند که تمام منابع موجود و ممکن برای استخر ذخیره‌سازی را شرح می‌دهد که می‌توان از آن‌ها برای ایجاد یا تعریف یک استخر ذخیره‌سازی از یک \fItype\fP معین استفاده کرد. اگر \fIsrcSpec\fP ارائه شود، فایلی شامل XML است تا پرس‌وجوی استخرها را محدودتر کند. .sp همه استخرهای ذخیره‌سازی از شناسایی (discovery) به این روش پشتیبانی نمی‌کنند. علاوه بر این، برای استخرهایی که از شناسایی پشتیبانی می‌کنند، تنها عنصرهای XML خاصی برای بازگرداندن داده‌های معتبر الزامی هستند، در حالی که عنصرهای دیگر و حتی مشخصه‌های برخی عناصر نادیده گرفته می‌شوند، زیرا بر اساس معیارهای جستجو برای یافتن استخر ضروری نیستند. موارد زیر گزینه‌های پشتیبانی‌شدهٔ \fItype\fP و حداقل عنصرهای XML مورد انتظار برای انجام جستجو را فهرست می‌کنند. .sp برای یک استخر \(dqnetfs\(dq یا \(dqgluster\(dq، حداقل XML مورد انتظار عنصر با مشخصهٔ \(dqname\(dq است که آدرس IP یا نام میزبان (hostname) را برای یافتن استخر توصیف می‌کند. مشخصهٔ \(dqport\(dq و نیز هر عنصر XML دیگری که در \fIsrcSpec\fP ارائه شود، نادیده گرفته خواهند شد. .sp برای یک استخر \(dqlogical\(dq، محتویات فایل \fIsrcSpec\fP نادیده گرفته می‌شود، اگرچه در صورت ارائه، این فایل دست‌کم باید وجود داشته باشد. .sp برای یک استخر \(dqiscsi\(dq یا \(dqiscsi\-direct\(dq، حداقل XML مورد انتظار عنصر با مشخصهٔ \(dqname\(dq است که آدرس IP یا نام میزبان مورد استفاده برای یافتن استخر (آدرس سرور iSCSI) را شرح می‌دهد. به صورت اختیاری، مشخصهٔ \(dqport\(dq نیز می‌تواند ارائه شود، گرچه مقدار پیش‌فرض آن 3260 خواهد بود. همچنین به صورت اختیاری، یک عنصر XML با نام دارای مشخصهٔ \(dqname\(dq می‌تواند برای محدود کردن بیشتر جستجوی هدف iSCSI به یک initiator خاص برای استخرهای ذخیره‌سازی چندگانهٔ iSCSI (multi\-iqn) ارائه شود. .SS find\-pool\-sources\-as .sp \fBنحو:\fP .INDENT 0.0 .INDENT 3.5 .sp .EX find\-storage\-pool\-sources\-as type [host] [port] [initiator] .EE .UNINDENT .UNINDENT .sp به جای ارائهٔ فایل XML با نام \fIsrcSpec\fP برای \fBfind\-storage\-pool\-sources\fP، از این گزینهٔ دستور استفاده کنید تا virsh فایل XML پرس‌وجو را با استفاده از آرگومان‌های اختیاری تولید کند. این دستور همان خروجی XML مربوط به \fBfind\-storage\-pool\-sources\fP را بازمی‌گرداند. .sp از \fIhost\fP برای توصیف یک میزبان خاص برای ذخیره‌سازی تحت شبکه، مانند استخرهای از \fItype\fP مربوط به netfs، gluster و iscsi استفاده کنید. .sp از \fIport\fP برای محدود کردن بیشتر درگاه شبکه‌ای مورد استفاده برای اتصال استفاده کنید، در صورتی که پس‌زمینهٔ ذخیره‌سازی خاصی مانند iscsi به آن نیاز داشته باشد. .sp از \fIinitiator\fP برای محدودتر کردن جستجوهای استخر از \fItype\fP مربوط به iscsi به initiatorهای هدف خاص استفاده کنید. .SS pool\-autostart .sp \fBنحو:\fP .INDENT 0.0 .INDENT 3.5 .sp .EX pool\-autostart pool\-or\-uuid [\-\-disable] .EE .UNINDENT .UNINDENT .sp پیکربندی اینکه آیا \fIpool\fP باید هنگام بوت به طور خودکار شروع شود یا خیر..SS pool\-build .sp \fBدستور زبان:\fP .INDENT 0.0 .INDENT 3.5 .sp .EX pool\-build pool\-or\-uuid [\-\-overwrite] [\-\-no\-overwrite] .EE .UNINDENT .UNINDENT .sp یک استخر (pool) مشخص‌شده را می‌سازد. .sp گزینه‌های \fI\-\-overwrite\fP و \fI\-\-no\-overwrite\fP تنها می‌توانند برای \fBpool\-build\fP روی یک استخر از نوع filesystem، disk یا logical استفاده شوند. .sp برای یک استخر سیستم‌فایل (file system)، اگر هیچ‌یک از پرچم‌ها مشخص نشده باشد، \fBpool\-build\fP صرفاً دایرکتوری مسیر مقصد را ایجاد کرده و تلاشی برای اجرای mkfs روی دستگاه حجم مقصد نمی‌کند. اگر \fI\-\-no\-overwrite\fP مشخص شده باشد، بررسی می‌کند تا مشخص شود آیا از پیش سیستم‌فایلی روی دستگاه مقصد وجود دارد یا خیر؛ در صورت وجود، خطایی برمی‌گرداند و در صورت عدم وجود، از mkfs برای قالب‌بندی دستگاه مقصد استفاده می‌کند. اگر \fI\-\-overwrite\fP مشخص شود، mkfs همواره اجرا شده و هر دادهٔ موجود روی دستگاه مقصد بدون قید و شرط بازنویسی می‌شود. .sp برای یک استخر دیسک (disk pool)، اگر هیچ‌کدام یا \fI\-\-no\-overwrite\fP مشخص شده باشد، \fBpool\-build\fP پیش از اقدام به نوشتن برچسب (label) جدید روی دستگاه حجم مقصد، وجود سیستم‌فایل‌ها یا پارتیشن‌های فعلی را بررسی می‌کند. اگر دستگاه حجم مقصد از قبل دارای برچسب باشد، دستور با شکست مواجه می‌شود. اگر \fI\-\-overwrite\fP مشخص شده باشد، هیچ بررسی‌ای پیش از نوشتن برچسب جدید روی دستگاه حجم مقصد انجام نخواهد شد. نوشتن برچسب از نوع قالب منبع استخر یا در صورت مشخص نشدن، از \(dqdos\(dq استفاده می‌کند. .sp برای یک استخر منطقی (logical pool)، اگر هیچ‌یک از آن‌ها یا \fI\-\-no\-overwrite\fP مشخص شده باشد، \fBpool\-build\fP پیش از اقدام به مقداردهی اولیه و قالب‌بندی هر دستگاه برای استفاده توسط استخر منطقی، دستگاه‌های حجم مقصد را برای بررسی وجود سیستم‌فایل‌ها یا پارتیشن‌ها ارزیابی می‌کند. اگر هر یک از دستگاه‌های حجم مقصد از قبل برچسب داشته باشند، دستور با شکست مواجه خواهد شد. اگر \fI\-\-overwrite\fP مشخص شده باشد، پیش از مقداردهی اولیه و قالب‌بندی هر دستگاه، هیچ بررسی‌ای روی دستگاه‌های حجم مقصد انجام نمی‌گیرد. پس از آن‌که تمام دستگاه‌های حجم مقصد به‌درستی از طریق pvcreate قالب‌بندی شدند، گروه حجم (volume group) با استفاده از تمام دستگاه‌ها ایجاد خواهد شد. .SS pool\-create .sp \fBدستور زبان:\fP .INDENT 0.0 .INDENT 3.5 .sp .EX pool\-create file [\-\-build] [[\-\-overwrite] | [\-\-no\-overwrite]] .EE .UNINDENT .UNINDENT .sp ایجاد و راه‌اندازی یک شیء استخر از \fIfile\fP ورودی با ساختار XML\&. .sp گزینه‌های [\fI\-\-build\fP] [[\fI\-\-overwrite\fP] | [\fI\-\-no\-overwrite\fP]] پس از ایجاد، یک \fBpool\-build\fP را اجرا می‌کنند تا نیاز به اجرای دستور تکمیلی بعدی برای ساخت استخر برطرف شود. پرچم‌های \fI\-\-overwrite\fP و \fI\-\-no\-overwrite\fP از همان قواعد \fBpool\-build\fP پیروی می‌کنند. اگر فقط \fI\-\-build\fP ارائه شود، آن‌گاه \fBpool\-build\fP بدون هیچ پرچمی فراخوانی می‌شود. .SS pool\-create\-as .sp \fBدستور زبان:\fP .INDENT 0.0 .INDENT 3.5 .sp .EX pool\-create\-as name type [\-\-source\-host hostname] [\-\-source\-path path] [\-\-source\-dev path] [\-\-source\-name name] [\-\-target path] [\-\-source\-format format] [\-\-source\-initiator initiator\-iqn] [\-\-auth\-type authtype \-\-auth\-username username [\-\-secret\-usage usage | \-\-secret\-uuid uuid]] [\-\-source\-protocol\-ver ver] [[\-\-adapter\-name name] | [\-\-adapter\-wwnn wwnn \-\-adapter\-wwpn wwpn] [\-\-adapter\-parent parent | \-\-adapter\-parent\-wwnn parent_wwnn adapter\-parent\-wwpn parent_wwpn | \-\-adapter\-parent\-fabric\-wwn parent_fabric_wwn]] [\-\-build] [[\-\-overwrite] | [\-\-no\-overwrite]] [\-\-print\-xml] .EE .UNINDENT .UNINDENT .sp ایجاد و راه‌اندازی یک شیء استخر با نام \fIname\fP بر اساس پارامترهای خام. اگر \fI\-\-print\-xml\fP مشخص شده باشد، خروجی XML شیء استخر بدون ایجاد استخر چاپ می‌شود. در غیر این صورت، استخر دارای \fItype\fP مشخص‌شده خواهد بود. هنگام استفاده از \fBpool\-create\-as\fP برای استخری از \fItype\fP با مقدار \(dqdisk\(dq، پارتیشن‌های موجود پیدا شده در \fI\-\-source\-dev path\fP برای پر کردن استخر دیسک استفاده خواهند شد. بنابراین، پیشنهاد می‌شود از \fBpool\-define\-as\fP و \fBpool\-build\fP به همراه \fI\-\-overwrite\fP به منظور مقداردهی اولیهٔ صحیح استخر دیسک استفاده کنید. .sp گزینهٔ [\fI\-\-source\-host hostname\fP] نام میزبان منبع را برای استخرهایی که توسط فضای ذخیره‌سازی از یک کارگزار راه‌دور پشتیبانی می‌شوند مشخص می‌کند (انواع استخر netfs، iscsi، rbd، sheepdog، gluster). .sp گزینهٔ [\fI\-\-source\-path path\fP] مسیر دایرکتوری منبع را برای استخرهایی که مبتنی بر دایرکتوری هستند فراهم می‌کند (استخر از نوع dir). .sp گزینهٔ [\fI\-\-source\-dev path\fP] مسیر منبع را برای استخرهایی که مبتنی بر دستگاه‌های فیزیکی هستند فراهم می‌کند (انواع استخر fs، logical، disk، iscsi، zfs). .sp گزینهٔ [\fI\-\-source\-name name\fP] نام منبع را برای استخرهایی که از طریق یک عنصر نام‌گذاری‌شده ذخیره‌سازی می‌شوند مشخص می‌کند (انواع استخر logical، rbd، sheepdog، gluster). .sp گزینهٔ [\fI\-\-target path\fP] مسیر مربوط به نگاشت استخر ذخیره‌سازی به درون سیستم‌فایل میزبان است. .sp گزینهٔ [\fI\-\-source\-format format\fP] اطلاعاتی دربارهٔ قالب استخر ارائه می‌دهد (انواع استخر fs، netfs، disk، logical). .sp گزینهٔ [\fI\-\-source\-initiator initiator\-iqn\fP] شناسهٔ initiator iqn را برای اتصال iscsi استخر فراهم می‌کند (استخر از نوع iscsi\-direct). .sp گزینه‌های [\fI\-\-auth\-type authtype\fP \fI\-\-auth\-username username\fP [\fI\-\-secret\-usage usage\fP | \fI\-\-secret\-uuid uuid\fP]] عناصر مورد نیاز برای ایجاد اعتبارنامه‌های احراز هویت را برای استخر ذخیره‌سازی فراهم می‌کنند. مقدار \fIauthtype\fP می‌تواند chap برای استخرهای \fItype\fP از نوع iscsi یا ceph برای استخرهای \fItype\fP از نوع rbd باشد. یکی از مقادیر \fIusage\fP یا \fIuuid\fP کلید محرمانه (secret) می‌تواند مشخص شود، اما نه هر دوی آن‌ها. .sp گزینهٔ [\fI\-\-source\-protocol\-ver ver\fP] شماره نسخهٔ پروتکل NFS مورد استفاده برای برقراری ارتباط با سرویس NFS کارگزار را از طریق گزینهٔ مونت nfs یعنی \(aqnfsvers=n\(aq مشخص می‌کند. انتظار می‌رود مقدار \fIver\fP یک عدد صحیح بدون علامت باشد. .sp گزینهٔ [\fI\-\-adapter\-name name\fP] نام آداپتور scsi_hostN را برای استفاده در استخر از نوع آداپتور scsi_host تعریف می‌کند. .sp گزینه‌های [\fI\-\-adapter\-wwnn wwnn\fP \fI\-\-adapter\-wwpn wwpn\fP [\fI\-\-adapter\-parent parent\fP | \fI\-\-adapter\-parent\-wwnn parent_wwnn\fP \fIadapter\-parent\-wwpn parent_wwpn\fP | \fI\-\-adapter\-parent\-fabric\-wwn parent_fabric_wwn\fP]] شناسه‌های wwnn و wwpn مورد استفاده برای استخر نوع آداپتور fc_host را تعریف می‌کنند. به‌طور اختیاری دستگاه گره والد scsi_hostN را برای استفاده توسط vHBA می‌توان از طریق نام والد (parent name)، یا parent_wwnn و parent_wwpn، یا parent_fabric_wwn مشخص نمود. در صورت تغییر محیط سخت‌افزاری، نام والد ممکن است میان راه‌اندازی‌های مجدد تغییر کند؛ بنابراین تعیین parent_wwnn و parent_wwpn تضمین می‌کند که حتی در صورت تغییر دستگاه گره scsi_hostN، از همان HBA فیزیکی استفاده شود. استفاده از parent_fabric_wwn انعطاف‌پذیری بیشتری را جهت انتخاب یک HBA روی همان فابریک ذخیره‌سازی (storage fabric) برای تعریف استخر فراهم می‌کند. .sp گزینه‌های [\fI\-\-build\fP] [[\fI\-\-overwrite\fP] | [\fI\-\-no\-overwrite\fP]] پس از ایجاد، یک \fBpool\-build\fP را اجرا می‌کنند تا نیاز به اجرای دستور تکمیلی بعدی برای ساخت استخر برطرف شود. پرچم‌های \fI\-\-overwrite\fP و \fI\-\-no\-overwrite\fP از همان قواعد \fBpool\-build\fP پیروی می‌کنند. اگر فقط \fI\-\-build\fP ارائه شود، آن‌گاه \fBpool\-build\fP بدون هیچ پرچمی فراخوانی می‌شود. .sp برای یک استخر \(dqlogical\(dq، تنها ارائهٔ [\fI\-\-name\fP] الزامی است. گزینهٔ [\fI\-\-source\-name\fP] در صورت ارائه باید با نام Volume Group مطابقت داشته باشد. در صورت ارائه نشدن، نامی با استفاده از [\fI\-\-name\fP] تولید خواهد شد. در صورت ارائه شدن، مقدار [\fI\-\-target\fP] نادیده گرفته شده و یک منبع مقصد با استفاده از [\fI\-\-source\-name\fP] (یا همان‌طور که از روی [\fI\-\-name\fP] تولید شده) ایجاد می‌شود..SS pool\-define .sp \fBنحو:\fP .INDENT 0.0 .INDENT 3.5 .sp .EX pool\-define file [\-\-validate] .EE .UNINDENT .UNINDENT .sp تعریف یک استخر ذخیره‌سازی مانای غیرفعال یا اصلاح یک استخر مانای موجود از طریق \fIfile\fP با ساختار XML\&. به‌صورت اختیاری، قالب فایل XML ورودی می‌تواند با \fI\-\-validate\fP در برابر یک شمای داخلی RNG اعتبارسنجی شود\&. .SS pool\-define\-as .sp \fBنحو:\fP .INDENT 0.0 .INDENT 3.5 .sp .EX pool\-define\-as name type [\-\-source\-host hostname] [\-\-source\-path path] [\-\-source\-dev path] [*\-\-source\-name name*] [*\-\-target path*] [*\-\-source\-format format*] [\-\-source\-initiator initiator\-iqn] [*\-\-auth\-type authtype* *\-\-auth\-username username* [*\-\-secret\-usage usage* | *\-\-secret\-uuid uuid*]] [*\-\-source\-protocol\-ver ver*] [[*\-\-adapter\-name name*] | [*\-\-adapter\-wwnn* *\-\-adapter\-wwpn*] [*\-\-adapter\-parent parent*]] [*\-\-print\-xml*] .EE .UNINDENT .UNINDENT .sp ایجاد، اما راه‌اندازی نکردن، یک شیء استخر \fIname\fP از روی پارامترهای خام\&. اگر \fI\-\-print\-xml\fP مشخص شده باشد، ساختار XML شیء استخر بدون تعریف کردن استخر چاپ می‌شود\&. در غیر این صورت، استخر دارای \fItype\fP مشخص‌شده خواهد بود\&. .sp از همان آرگومان‌های \fBpool\-create\-as\fP استفاده کنید، به‌جز گزینه‌های \fI\-\-build\fP، \fI\-\-overwrite\fP و \fI\-\-no\-overwrite\fP\&. .SS pool\-destroy .sp \fBنحو:\fP .INDENT 0.0 .INDENT 3.5 .sp .EX pool\-destroy pool\-or\-uuid .EE .UNINDENT .UNINDENT .sp متوقف کردن (از بین بردن) یک شیء \fIpool\fP مشخص\&. Libvirt دیگر فضای ذخیره‌سازی توصیف‌شده توسط این شیء استخر را مدیریت نخواهد کرد، اما داده‌های خام موجود در استخر تغییری نمی‌کنند و بعداً می‌توان آن‌ها را با \fBpool\-create\fP بازیابی کرد\&. .SS pool\-delete .sp \fBنحو:\fP .INDENT 0.0 .INDENT 3.5 .sp .EX pool\-delete pool\-or\-uuid .EE .UNINDENT .UNINDENT .sp از بین بردن منابع مصرف‌شده توسط یک شیء \fIpool\fP مشخص\&. این عملیات غیرقابل‌بازگشت است\&. شیء \fIpool\fP پس از اجرای این دستور همچنان وجود خواهد داشت و برای ایجاد حجم‌های ذخیره‌سازی جدید آماده خواهد بود\&. .SS pool\-dumpxml .sp \fBنحو:\fP .INDENT 0.0 .INDENT 3.5 .sp .EX pool\-dumpxml [\-\-inactive] [\-\-xpath EXPRESSION] [\-\-wrap] pool\-or\-uuid .EE .UNINDENT .UNINDENT .sp اطلاعات XML دربارهٔ شیء \fIpool\fP را برمی‌گرداند\&. گزینهٔ \fI\-\-inactive\fP به virsh می‌گوید به جای پیکربندی فعلی استخر، پیکربندی استخری را استخراج کند که در راه‌اندازی بعدی استخر استفاده خواهد شد\&. .sp اگر آرگومان \fB\-\-xpath\fP یک عبارت XPath را ارائه دهد، روی خروجی XML ارزیابی شده و فقط گره‌های منطبق با آن چاپ خواهند شد\&. رفتار پیش‌فرض این است که هر گرهٔ منطبق به عنوان یک سند مستقل چاپ شود، اما برای سهولت در پردازش‌های بیشتر، آرگومان \fB\-\-wrap\fP موجب می‌شود که گره‌های منطبق در یک گرهٔ ریشهٔ مشترک احاطه شوند\&..SS pool\-edit .sp \fBنحو:\fP .INDENT 0.0 .INDENT 3.5 .sp .EX pool\-edit pool\-or\-uuid .EE .UNINDENT .UNINDENT .sp ویرایش فایل پیکربندی XML برای یک استخر ذخیره‌سازی (storage pool). .sp این معادل است با: .INDENT 0.0 .INDENT 3.5 .sp .EX virsh pool\-dumpxml pool > pool.xml vi pool.xml (or make changes with your other text editor) virsh pool\-define pool.xml .EE .UNINDENT .UNINDENT .sp با این تفاوت که برخی بررسی‌های خطا را انجام می‌دهد. .sp ویرایشگر مورداستفاده می‌تواند از طریق متغیرهای محیطی \fB$VISUAL\fP یا \fB$EDITOR\fP تعیین شود، و پیش‌فرض آن \fBvi\fP است\&. .SS pool\-info .sp \fBنحو:\fP .INDENT 0.0 .INDENT 3.5 .sp .EX pool\-info [\-\-bytes] pool\-or\-uuid .EE .UNINDENT .UNINDENT .sp اطلاعات پایه‌ای دربارهٔ شیء \fIpool\fP را برمی‌گرداند. اگر \fI\-\-bytes\fP مشخص شده باشد، اندازه‌ها در اطلاعات پایه به واحدهای خوانا برای انسان تبدیل نمی‌شوند. .SS pool\-list .sp \fBنحو:\fP .INDENT 0.0 .INDENT 3.5 .sp .EX pool\-list [\-\-inactive] [\-\-all] [\-\-persistent] [\-\-transient] [\-\-autostart] [\-\-no\-autostart] [[\-\-details] [\-\-uuid] [\-\-name] [] .EE .UNINDENT .UNINDENT .sp فهرست کردن اشیاء pool شناخته‌شده برای libvirt. به‌طور پیش‌فرض، تنها استخرهای فعال فهرست می‌شوند؛ \fI\-\-inactive\fP فقط استخرهای غیرفعال را فهرست می‌کند، و \fI\-\-all\fP تمام استخرها را فهرست می‌کند. .sp علاوه بر این، چندین دسته از پرچم‌های فیلتر کردن وجود دارد. \fI\-\-persistent\fP برای فهرست کردن استخرهای پایا (persistent) است، \fI\-\-transient\fP برای فهرست کردن استخرهای گذرا (transient) است. \fI\-\-autostart\fP استخرهای دارای شروع خودکار را فهرست می‌کند، \fI\-\-no\-autostart\fP استخرهایی را که شروع خودکار آن‌ها غیرفعال است فهرست می‌کند. اگر \fI\-\-uuid\fP مشخص شده باشد، تنها UUIDهای استخر چاپ می‌شوند. اگر \fI\-\-name\fP مشخص شده باشد، تنها نام‌های استخر چاپ می‌شوند. اگر هر دو گزینهٔ \fI\-\-name\fP و \fI\-\-uuid\fP مشخص شده باشند، UUID و نام استخرها در کنار هم بدون هیچ سرآیندی چاپ می‌شوند. گزینهٔ \fI\-\-details\fP با گزینه‌های \fI\-\-uuid\fP و \fI\-\-name\fP مانعة‌الجمع است\&. .sp همچنین ممکن است بخواهید استخرهایی با نوع‌های مشخص را با استفاده از \fItype\fP فهرست کنید؛ نوع‌های استخر باید با کاما از یکدیگر جدا شوند، مانند \-\-type dir,disk. نوع‌های معتبر استخر شامل \(aqdir\(aq، \(aqfs\(aq، \(aqnetfs\(aq، \(aqlogical\(aq، \(aqdisk\(aq، \(aqiscsi\(aq، \(aqscsi\(aq، \(aqmpath\(aq، \(aqrbd\(aq، \(aqsheepdog\(aq، \(aqgluster\(aq، \(aqzfs\(aq، \(aqvstorage\(aq و \(aqiscsi\-direct\(aq هستند. .sp گزینهٔ \fI\-\-details\fP به virsh دستور می‌دهد تا در صورت در دسترس بودن، اطلاعات مربوط به ماندگاری و ظرفیت استخر را نیز به صورت اضافه نمایش دهد. .sp نکته: هنگام برقراری ارتباط با سرورهای قدیمی‌تر، این دستور ناچار است از مجموعه‌ای از فراخوانی‌های API با شرایط رقابتی ذاتی (race condition) استفاده کند، که در آن اگر وضعیت یک استخر در حین جمع‌آوری فهرست بین فراخوانی‌ها تغییر کند، ممکن است آن استخر در فهرست آورده نشود یا بیش از یک بار ظاهر شود. سرورهای جدیدتر این مشکل را ندارند..SS pool\-name .sp \fBنحو:\fP .INDENT 0.0 .INDENT 3.5 .sp .EX pool\-name uuid .EE .UNINDENT .UNINDENT .sp \fIuuid\fP را به یک نام استخر تبدیل می‌کند. .SS pool\-refresh .sp \fBنحو:\fP .INDENT 0.0 .INDENT 3.5 .sp .EX pool\-refresh pool\-or\-uuid .EE .UNINDENT .UNINDENT .sp فهرست حجم‌های موجود در \fIpool\fP را تازه‌سازی می‌کند. .SS pool\-start .sp \fBنحو:\fP .INDENT 0.0 .INDENT 3.5 .sp .EX pool\-start pool\-or\-uuid [\-\-build] [[\-\-overwrite] | [\-\-no\-overwrite]] .EE .UNINDENT .UNINDENT .sp استخر ذخیره‌سازی \fIpool\fP را که پیش‌تر تعریف شده اما غیرفعال است، راه‌اندازی می‌کند. .sp گزینه‌های [\fI\-\-build\fP] [[\fI\-\-overwrite\fP] | [\fI\-\-no\-overwrite\fP]] پیش از \fBpool\-start\fP یک \fBpool\-build\fP را اجرا می‌کنند تا اطمینان حاصل شود محیط استخر در وضعیت مورد انتظار قرار دارد، به‌جای اینکه نیاز باشد پیش از راه‌اندازی، دستور ساخت به طور جداگانه اجرا شود. پرچم‌های \fI\-\-overwrite\fP و \fI\-\-no\-overwrite\fP از همان قواعد \fBpool\-build\fP پیروی می‌کنند. اگر تنها \fI\-\-build\fP مشخص شود، \fBpool\-build\fP بدون هیچ پرچمی فراخوانی می‌شود. .sp \fBنکته\fP: استخر ذخیره‌سازی که به منابع دوردست متکی است، مانند یک استخر \(dqiscsi\(dq یا یک استخر \(dqscsi\(dq مبتنی بر (v)HBA، ممکن است برای شناسایی تمامی حجم‌ها به چندین بار تازه‌سازی نیاز داشته باشد (به \fBpool\-refresh\fP مراجعه کنید). دلیل این امر آن است که دستگاه‌های متناظر با حجم ممکن است هنگام راه‌اندازی اولیه استخر یا تلاش جاری برای تازه‌سازی، در سامانه فایل میزبان موجود نباشند. تعداد تلاش‌های مجدد برای تازه‌سازی به اتصال شبکه و مدت زمانی که میزبان برای ارائه دستگاه‌های متناظر نیاز دارد وابسته است. .SS pool\-undefine .sp \fBنحو:\fP .INDENT 0.0 .INDENT 3.5 .sp .EX pool\-undefine pool\-or\-uuid .EE .UNINDENT .UNINDENT .sp پیکربندی مربوط به یک \fIpool\fP غیرفعال را حذف تعریف می‌کند. .SS pool\-uuid .sp \fBنحو:\fP .INDENT 0.0 .INDENT 3.5 .sp .EX pool\-uuid pool .EE .UNINDENT .UNINDENT .sp شناسه UUID مربوط به \fIpool\fP نام‌برده را بازمی‌گرداند..SS pool\-event .sp \fBنحو:\fP .INDENT 0.0 .INDENT 3.5 .sp .EX pool\-event {[pool] event [\-\-loop] [\-\-timeout seconds] [\-\-timestamp] | \-\-list} .EE .UNINDENT .UNINDENT .sp برای رخ دادن دسته‌ای از رویدادهای استخر ذخیره‌سازی منتظر می‌ماند و جزئیات مناسب رویدادها را هنگام وقوع چاپ می‌کند. رویدادها می‌توانند به طور اختیاری بر اساس \fIpool\fP فیلتر شوند. استفاده از \fI\-\-list\fP به عنوان تنها آرگومان، فهرستی از مقادیر ممکن \fIevent\fP را که توسط این کلاینت شناخته شده است ارائه می‌دهد، اگرچه ممکن است اتصال اجازه ثبت‌نام برای همه این رویدادها را ندهد. .sp به‌طور پیش‌فرض، این دستور تک‌مرحله‌ای (one\-shot) است و با وقوع یک رویداد وضعیت موفقیت‌آمیز بازمی‌گرداند؛ می‌توانید برای خروج فوری SIGINT (معمولاً از طریق \fBCtrl\-C\fP) ارسال کنید. اگر \fI\-\-timeout\fP مشخص شده باشد، دستور پس از سپری شدن \fIseconds\fP ثانیه از انتظار برای رویدادها دست می‌کشد. با \fI\-\-loop\fP، دستور همه رویدادها را تا پایان مهلت زمانی یا فشردن کلید وقفه چاپ می‌کند. .sp هنگامی که \fI\-\-timestamp\fP استفاده شود، یک برچسب زمانی خوانا برای انسان پیش از رویداد چاپ خواهد شد. .SH "دستورهای حجم (VOLUME COMMANDS)" .SS vol\-create .sp \fBنحو:\fP .INDENT 0.0 .INDENT 3.5 .sp .EX vol\-create pool\-or\-uuid FILE [\-\-prealloc\-metadata] [\-\-validate] .EE .UNINDENT .UNINDENT .sp یک حجم از یک نوع XML ایجاد می‌کند. .sp \fIpool\-or\-uuid\fP نام یا UUID استخر ذخیره‌سازی برای ایجاد حجم در آن است. .sp \fIFILE\fP همان با فرمت XML حاوی تعریف حجم است. یک روش آسان برای ایجاد نوع XML، استفاده از دستور \fBvol\-dumpxml\fP برای دریافت تعریف یک حجم از پیش موجود است. .sp [\fI\-\-prealloc\-metadata\fP] فراداده را پیش‌تخصیص می‌دهد (برای ایمیج‌های qcow2 که از تخصیص کامل پشتیبانی نمی‌کنند). این گزینه یک فایل ایمیج تنک (sparse) همراه با فراداده ایجاد می‌کند، که منجر به عملکرد بالاتر نسبت به ایمیج‌های بدون پیش‌تخصیص و استفاده اولیه از فضای دیسک تنها کمی بیشتر می‌شود. .sp اگر \fI\-\-validate\fP مشخص شده باشد، قالب سند XML را در برابر یک شِمای داخلی RNG اعتبارسنجی می‌کند. .sp \fBمثال:\fP .INDENT 0.0 .INDENT 3.5 .sp .EX virsh vol\-dumpxml \-\-pool storagepool1 appvolume1 > newvolume.xml vi newvolume.xml (or make changes with your other text editor) virsh vol\-create differentstoragepool newvolume.xml .EE .UNINDENT .UNINDENT .SS vol\-create\-from .sp \fBنحو:\fP .INDENT 0.0 .INDENT 3.5 .sp .EX vol\-create\-from pool\-or\-uuid FILE vol\-name\-or\-key\-or\-path [\-\-inputpool pool\-or\-uuid] [\-\-prealloc\-metadata] [\-\-reflink] [\-\-validate] .EE .UNINDENT .UNINDENT .sp ایجاد یک حجم، با استفاده از یک حجم دیگر به عنوان ورودی. .sp \fIpool\-or\-uuid\fP نام یا UUID استخر ذخیره‌سازی برای ایجاد حجم در آن است. .sp \fIFILE\fP همان با فرمت XML شامل تعریف حجم است. .sp \fIvol\-name\-or\-key\-or\-path\fP نام، کلید یا مسیر حجم مبدأ است. .sp \fI\-\-inputpool\fP \fIpool\-or\-uuid\fP نام یا UUID استخر ذخیره‌سازی است که حجم مبدأ در آن قرار دارد. .sp [\fI\-\-prealloc\-metadata\fP] فراداده را پیش‌تخصیص می‌دهد (برای ایمیج‌های qcow2 که از تخصیص کامل پشتیبانی نمی‌کنند). این گزینه یک فایل ایمیج تنک (sparse) با فراداده ایجاد می‌کند، که منجر به کارایی بالاتر در مقایسه با ایمیج‌های فاقد پیش‌تخصیص و تنها مصرف اولیه اندکی بیشتر از فضای دیسک می‌شود. .sp هنگامی که \fI\-\-reflink\fP مشخص شود، یک کپی سبک COW انجام می‌دهد که در آن بلوک‌های داده تنها هنگام تغییر کپی می‌شوند. در صورتی که این کار ممکن نباشد، عملیات کپی با شکست مواجه می‌شود. .sp اگر \fI\-\-validate\fP مشخص شده باشد، قالب سند XML را در برابر یک شِمای داخلی RNG اعتبارسنجی می‌کند..SS vol\-create\-as .sp \fBساختار دستوری:\fP .INDENT 0.0 .INDENT 3.5 .sp .EX vol\-create\-as pool\-or\-uuid name capacity [\-\-allocation size] [\-\-format string] [\-\-backing\-vol vol\-name\-or\-key\-or\-path] [\-\-backing\-vol\-format string] [\-\-prealloc\-metadata] [\-\-print\-xml] .EE .UNINDENT .UNINDENT .sp یک حجم را از مجموعه‌ای از آرگومان‌ها ایجاد می‌کند، مگر اینکه \fI\-\-print\-xml\fP مشخص شده باشد که در این صورت فقط XML شیء حجم بدون ایجاد واقعی شیء چاپ می‌شود. .sp \fIpool\-or\-uuid\fP نام یا UUID استخر ذخیره‌سازی برای ایجاد حجم در آن است. .sp \fIname\fP نام حجم جدید است. برای یک استخر دیسک (disk pool)، این نام باید با نام پارتیشن تعیین‌شده بر اساس مسیر دستگاه مبدأ استخر و پارتیشن در دسترس بعدی مطابقت داشته باشد. برای مثال، اگر مسیر دستگاه مبدأ /dev/sdb باشد و هیچ پارتیشنی روی دیسک وجود نداشته باشد، نام باید sdb1 باشد و نام بعدی sdb2 و به همین ترتیب خواهد بود. .sp \fIcapacity\fP اندازهٔ حجمی است که باید ایجاد شود، به‌صورت یک عدد صحیح مقیاس‌دار (به بخش \fBNOTES\fP در بالا مراجعه کنید)، که در صورت نبود پسوند، پیش‌فرض بایت خواهد بود. .sp \fI\-\-allocation\fP \fIsize\fP اندازهٔ اولیه برای تخصیص در حجم است، که آن هم به‌صورت یک عدد صحیح مقیاس‌دار با پیش‌فرض بایت می‌باشد. .sp \fI\-\-format\fP \fIstring\fP در استخرهای ذخیره‌سازی مبتنی بر فایل برای مشخص کردن قالب فایل حجم استفاده می‌شود؛ raw، bochs، qcow، qcow2، vmdk، qed. از extended برای استخرهای ذخیره‌سازی دیسک به‌منظور ایجاد یک پارتیشن توسعه‌یافته (extended) استفاده کنید (سایر مقادیر بررسی صحت می‌شوند اما هنگام راه‌اندازی مجدد libvirtd یا نوسازی استخر حفظ نخواهند شد). .sp \fI\-\-backing\-vol\fP \fIvol\-name\-or\-key\-or\-path\fP حجم پشتیبان مبدأ است که در صورت تهیهٔ اسنپ‌شات از یک حجم موجود استفاده می‌شود. .sp \fI\-\-backing\-vol\-format\fP \fIstring\fP قالب حجم پشتیبان اسنپ‌شات است؛ raw، bochs، qcow، qcow2، qed، vmdk، host_device. هرچند این موارد برای استخرهای ذخیره‌سازی مبتنی بر فایل در نظر گرفته شده‌اند. .sp [\fI\-\-prealloc\-metadata\fP] فراداده را از پیش تخصیص می‌دهد (برای ایمیج‌های qcow2 که از تخصیص کامل پشتیبانی نمی‌کنند). این گزینه یک فایل ایمیج متخلخل (sparse) همراه با فراداده ایجاد می‌کند، که در مقایسه با ایمیج‌های بدون پیش‌تخصیص، به عملکرد بالاتر و تنها مصرف اولیهٔ کمی بیشتر از فضای دیسک منجر می‌شود. .SS vol\-clone .sp \fBساختار دستوری:\fP .INDENT 0.0 .INDENT 3.5 .sp .EX vol\-clone vol\-name\-or\-key\-or\-path name [\-\-pool pool\-or\-uuid] [\-\-prealloc\-metadata] [\-\-reflink] [\-\-print\-xml] .EE .UNINDENT .UNINDENT .sp یک حجم موجود را درون استخر والد شبیه‌سازی (clone) می‌کند. نسخه‌ای با قدرت کمتر اما با تایپ آسان‌تر از دستور \fBvol\-create\-from\fP\& است. .sp \fIvol\-name\-or\-key\-or\-path\fP نام، کلید یا مسیر حجم مبدأ است. .sp \fIname\fP نام حجم جدید است. .sp \fI\-\-pool\fP \fIpool\-or\-uuid\fP نام یا UUID استخر ذخیره‌سازی است که شامل حجم مبدأ بوده و حجم جدید را نیز دربر خواهد گرفت. اگر به جای کلید یا مسیر، نام حجم مبدأ ارائه شود، مشخص کردن استخر برای یافتن حجمی که باید کلون شود ضروری است؛ در غیر این صورت، از اولین حجمی که بر اساس کلید یا مسیر پیدا شود استفاده خواهد شد. .sp [\fI\-\-prealloc\-metadata\fP] فراداده را از پیش تخصیص می‌دهد (برای ایمیج‌های qcow2 که از تخصیص کامل پشتیبانی نمی‌کنند). این گزینه یک فایل ایمیج متخلخل (sparse) همراه با فراداده ایجاد می‌کند، که در مقایسه با ایمیج‌های بدون پیش‌تخصیص، به عملکرد بالاتر و تنها مصرف اولیهٔ کمی بیشتر از فضای دیسک منجر می‌شود. .sp هنگامی که \fI\-\-reflink\fP مشخص شده باشد، یک رونوشت سبک COW انجام می‌دهد، که در آن بلوک‌های داده تنها در صورت تغییر رونویسی می‌شوند. اگر این امر امکان‌پذیر نباشد، عملیات کپی ناموفق خواهد بود. .sp اگر \fI\-\-print\-xml\fP مشخص شده باشد، در عوض ساختار XML مورد استفاده برای کلون کردن حجم در خروجی چاپ می‌شود..SS vol\-delete .sp \fBنحو:\fP .INDENT 0.0 .INDENT 3.5 .sp .EX vol\-delete vol\-name\-or\-key\-or\-path [\-\-pool pool\-or\-uuid] [\-\-delete\-snapshots] .EE .UNINDENT .UNINDENT .sp یک حجم داده‌شده را حذف می‌کند. .sp آرگومان \fIvol\-name\-or\-key\-or\-path\fP نام حجم، کلید یا مسیر حجمی است که باید حذف شود. .sp گزینه [\fI\-\-pool\fP \fIpool\-or\-uuid\fP] نام یا UUID استخر ذخیره‌سازی است که حجم در آن قرار دارد. اگر به‌جای کلید یا مسیر، نام حجم ارائه شود، ارائهٔ استخر برای یافتن حجم جهت حذف ضروری است؛ در غیر این صورت، از نخستین حجمی که با کلید یا مسیر یافت شود استفاده خواهد شد. .sp پرچم \fI\-\-delete\-snapshots\fP مشخص می‌کند که هرگونه اسنپ‌شات مرتبط با حجم ذخیره‌سازی نیز باید حذف شود. همه درایورهای ذخیره‌سازی از این گزینه پشتیبانی نمی‌کنند؛ در حال حاضر تنها rbd پشتیبانی می‌شود. .SS vol\-upload .sp \fBنحو:\fP .INDENT 0.0 .INDENT 3.5 .sp .EX vol\-upload vol\-name\-or\-key\-or\-path local\-file [\-\-pool pool\-or\-uuid] [\-\-offset bytes] [\-\-length bytes] [\-\-sparse] .EE .UNINDENT .UNINDENT .sp محتویات \fIlocal\-file\fP را روی یک حجم ذخیره‌سازی بارگذاری می‌کند. .sp آرگومان \fIvol\-name\-or\-key\-or\-path\fP نام، کلید یا مسیر حجمی است که \fIlocal\-file\fP در آن بارگذاری خواهد شد. .sp گزینه \fI\-\-pool\fP \fIpool\-or\-uuid\fP نام یا UUID استخر ذخیره‌سازی است که حجم در آن قرار دارد. اگر به‌جای کلید یا مسیر، نام حجم ارائه شود، ارائهٔ استخر برای یافتن حجمی که باید در آن بارگذاری انجام شود ضروری است؛ در غیر این صورت، نخستین حجمی که با کلید یا مسیر پیدا شود استفاده خواهد شد. .sp گزینه \fI\-\-offset\fP موقعیتی در حجم ذخیره‌سازی است که نوشتن داده‌ها باید از آنجا آغاز شود. این مقدار باید ۰ یا بزرگ‌تر باشد. .sp گزینه \fI\-\-length\fP کران بالای مقدار داده‌ای است که باید بارگذاری شود. مقدار منفی به‌صورت یک مقدار بدون علامت unsigned long long تفسیر می‌شود تا اساساً همه‌چیز را از افست تا انتهای حجم در بر بگیرد. .sp اگر \fI\-\-sparse\fP مشخص شده باشد، این دستور پراکندگی (حالت sparse) حجم را حفظ خواهد کرد. .sp اگر حجم \fIlocal\-file\fP از مقدار مشخص‌شده برای \fIlength\fP بیشتر باشد، خطایی رخ خواهد داد. .sp برای جزئیات مربوط به تغییرات احتمالی حجم و استخر هدف در نتیجهٔ نوسازی (refresh) استخر هنگام اقدام به بارگذاری، به توضیحات مربوط به API رابط virStorageVolUpload در libvirt مراجعه کنید. .SS vol\-download .sp \fBنحو:\fP .INDENT 0.0 .INDENT 3.5 .sp .EX vol\-download vol\-name\-or\-key\-or\-path local\-file [\-\-pool pool\-or\-uuid] [\-\-offset bytes] [\-\-length bytes] [\-\-sparse] .EE .UNINDENT .UNINDENT .sp محتویات یک حجم ذخیره‌سازی را در \fIlocal\-file\fP بارگیری می‌کند. .sp آرگومان \fIvol\-name\-or\-key\-or\-path\fP نام، کلید یا مسیر حجمی است که باید در \fIlocal\-file\fP بارگیری شود. .sp گزینه \fI\-\-pool\fP \fIpool\-or\-uuid\fP نام یا UUID استخر ذخیره‌سازی است که حجم در آن قرار دارد. اگر به‌جای کلید یا مسیر، نام حجم ارائه شود، ارائهٔ استخر برای یافتن حجم جهت بارگیری داده‌ها ضروری است؛ در غیر این صورت، نخستین حجمی که با کلید یا مسیر پیدا شود استفاده خواهد شد. .sp گزینه \fI\-\-offset\fP موقعیتی در حجم ذخیره‌سازی است که خواندن داده‌ها باید از آنجا آغاز شود. این مقدار باید ۰ یا بزرگ‌تر باشد. .sp گزینه \fI\-\-length\fP کران بالای مقدار داده‌ای است که باید بارگیری شود. مقدار منفی به‌صورت یک مقدار بدون علامت unsigned long long تفسیر می‌شود تا اساساً همه‌چیز را از افست تا انتهای حجم در بر بگیرد. .sp اگر \fI\-\-sparse\fP مشخص شده باشد، این دستور پراکندگی (حالت sparse) حجم را حفظ خواهد کرد..SS vol\-wipe .sp \fBساختار:\fP .INDENT 0.0 .INDENT 3.5 .sp .EX vol\-wipe vol\-name\-or\-key\-or\-path [\-\-pool pool\-or\-uuid] [\-\-algorithm algorithm] .EE .UNINDENT .UNINDENT .sp پاک‌سازی کامل یک حجم ذخیره‌سازی (volume) و حصول اطمینان از اینکه داده‌های پیشین روی آن برای خواندن‌های آتی غیرقابل‌دسترس هستند. .sp \fIvol\-name\-or\-key\-or\-path\fP نام، کلید یا مسیر حجمی است که باید پاک‌سازی شود. امکان انتخاب الگوریتم‌های پاک‌سازی مختلف به جای بازنویسی حجم با صفر وجود دارد. .sp \fI\-\-pool\fP \fIpool\-or\-uuid\fP نام یا UUID استخر ذخیره‌سازی (storage pool) است که حجم در آن قرار دارد. اگر به جای کلید یا مسیر، نام حجم مشخص شود، ارائهٔ استخر برای یافتن حجمی که باید پاک‌سازی شود ضروری است؛ در غیر این صورت، نخستین حجم یافت‌شده بر اساس کلید یا مسیر استفاده خواهد شد. .sp برای تعیین الگوریتم مورد استفاده در پاک‌سازی، از سوئیچ \fI\-\-algorithm\fP با انتخاب از فهرست الگوریتم‌های زیر استفاده کنید. .sp \fBالگوریتم‌های پشتیبانی‌شده\fP .INDENT 0.0 .IP \(bu 2 zero \- روش ۱\-گذر تماماً صفر. .IP \(bu 2 nnsa \- روش ۴\-گذر بر اساس شیوه‌نامهٔ NNSA با کد NAP\-14.1\-C (XVI\-8) برای پاک‌سازی دیسک‌های سخت جداشدنی و غیرقابل‌جداشدن: random x2, 0x00, verify. .IP \(bu 2 dod \- روش ۴\-گذر بر اساس دستورالعمل DoD 5220.22\-M بخش 8\-306 برای پاک‌سازی دیسک‌های صلب جداشدنی و غیرقابل‌جداشدن: random, 0x00, 0xff, verify. .IP \(bu 2 bsi \- روش ۹\-گذر توصیه‌شده توسط مرکز امنیت در فناوری اطلاعات آلمان (\%): 0xff, 0xfe, 0xfd, 0xfb, 0xf7, 0xef, 0xdf, 0xbf, 0x7f. .IP \(bu 2 gutmann \- توالی استاندارد ۳۵\-گذر توصیف‌شده در مقالهٔ Gutmann. .IP \(bu 2 schneier \- روش ۷\-گذر توصیف‌شده توسط Bruce Schneier در \(dqApplied Cryptography\(dq (1996): 0x00, 0xff, random x5. .IP \(bu 2 pfitzner7 \- روش ۷\-گذر تصادفی Roy Pfitzner: random x7. .IP \(bu 2 pfitzner33 \- روش ۳۳\-گذر تصادفی Roy Pfitzner: random x33. .IP \(bu 2 random \- الگوی ۱\-گذر: random. .IP \(bu 2 trim \- ۱\-گذر آزادسازی (trimming) حجم با استفاده از TRIM یا DISCARD. .UNINDENT .sp \fBنکته\fP: باینری \fBscrub\fP برای مدیریت الگوریتم‌های \(aqnnsa\(aq، \(aqdod\(aq، \(aqbsi\(aq، \(aqgutmann\(aq، \(aqschneier\(aq، \(aqpfitzner7\(aq و \(aqpfitzner33\(aq استفاده خواهد شد. در دسترس بودن این الگوریتم‌ها ممکن است توسط نسخهٔ باینری \fBscrub\fP نصب‌شده روی میزبان محدود باشد. الگوریتم \(aqzero\(aq صفرها را روی کل حجم می‌نویسد. برای برخی حجم‌ها، مانند حجم‌های sparse یا rbd، این کار ممکن است منجر به پر شدن کامل حجم با صفرها شود و طوری به نظر برسد که گویی حجم کاملاً پر شده است. به عنوان جایگزین، الگوریتم \(aqtrim\(aq تمام داده‌های یک حجم را بازنویسی نمی‌کند، بلکه انتظار دارد که درایور ذخیره‌سازی بتواند تمام بایت‌های درون حجم را دور بریزد (discard). نحوهٔ مدیریت چگونگی انجام دورریزی بر عهدهٔ درایور ذخیره‌سازی است. همهٔ درایورهای ذخیره‌سازی یا انواع حجم‌ها از \(aqtrim\(aq پشتیبانی نمی‌کنند. .SS vol\-dumpxml .sp \fBساختار:\fP .INDENT 0.0 .INDENT 3.5 .sp .EX vol\-dumpxml [\-\-pool pool\-or\-uuid] [\-\-xpath EXPRESSION] [\-\-wrap] vol\-name\-or\-key\-or\-path .EE .UNINDENT .UNINDENT .sp خروجی دادن اطلاعات حجم در قالب یک رونوشت XML روی stdout. .sp \fIvol\-name\-or\-key\-or\-path\fP نام، کلید یا مسیر حجمی است که باید XML آن در خروجی چاپ شود. .sp \fI\-\-pool\fP \fIpool\-or\-uuid\fP نام یا UUID استخر ذخیره‌سازی است که حجم در آن قرار دارد. اگر به جای کلید یا مسیر، نام حجم ارائه شود، مشخص کردن استخر برای یافتن حجم ضروری است؛ در غیر این صورت، نخستین حجم یافت‌شده بر اساس کلید یا مسیر استفاده خواهد شد. .sp اگر آرگومان \fB\-\-xpath\fP یک عبارت XPath ارائه دهد، بر روی XML خروجی ارزیابی شده و تنها گره‌های منطبق چاپ خواهند شد. رفتار پیش‌فرض این است که هر گرهٔ منطبق به عنوان یک سند مستقل چاپ شود؛ با این حال، جهت سهولت در پردازش‌های بعدی، آرگومان \fB\-\-wrap\fP باعث می‌شود که گره‌های منطبق درون یک گرهٔ ریشه (root node) مشترک قرار گیرند..SS vol\-info .sp \fBساختار:\fP .INDENT 0.0 .INDENT 3.5 .sp .EX vol\-info vol\-name\-or\-key\-or\-path [\-\-pool pool\-or\-uuid] [\-\-bytes] [\-\-physical] .EE .UNINDENT .UNINDENT .sp اطلاعات پایه‌ای درباره حجم ذخیره‌سازی مشخص‌شده را بازمی‌گرداند. .sp \fIvol\-name\-or\-key\-or\-path\fP نام، کلید یا مسیر حجمی است که اطلاعات آن بازگردانده می‌شود. .sp \fI\-\-pool\fP \fIpool\-or\-uuid\fP نام یا UUID استخر ذخیره‌سازی است که حجم در آن قرار دارد. اگر به جای کلید یا مسیر، نام حجم ارائه شود، ارائه استخر برای یافتن حجم ضروری است؛ در غیر این صورت، اولین حجمی که با کلید یا مسیر پیدا شود استفاده خواهد شد. .sp اگر \fI\-\-bytes\fP مشخص شود، اندازه‌ها به واحدهای خوانا برای انسان تبدیل نمی‌شوند. .sp اگر \fI\-\-physical\fP مشخص شود، اندازه فیزیکی میزبان به‌جای مقدار تخصیص (allocation) بازگردانده و نمایش داده می‌شود. مقدار فیزیکی برای برخی از انواع فایل‌ها، مانند qcow2، ممکن است مقدار متفاوتی (بزرگ‌تر) نسبت به آنچه برای تخصیص نشان داده شده است داشته باشد. علاوه بر این، فایل‌های کم‌پشت (sparse) مقادیر فیزیکی و تخصیص متفاوتی خواهند داشت. .SS vol\-list .sp \fBساختار:\fP .INDENT 0.0 .INDENT 3.5 .sp .EX vol\-list [\-\-pool pool\-or\-uuid] [\-\-details] .EE .UNINDENT .UNINDENT .sp فهرست حجم‌های موجود در استخر ذخیره‌سازی مشخص‌شده را بازمی‌گرداند. .sp \fI\-\-pool\fP \fIpool\-or\-uuid\fP نام یا UUID استخر ذخیره‌سازی است. .sp گزینه \fI\-\-details\fP به virsh دستور می‌دهد که در صورت موجود بودن، اطلاعات مربوط به نوع و ظرفیت حجم را نیز نمایش دهد. .SS vol\-pool .sp \fBساختار:\fP .INDENT 0.0 .INDENT 3.5 .sp .EX vol\-pool vol\-key\-or\-path [\-\-uuid] .EE .UNINDENT .UNINDENT .sp نام استخر یا UUID مربوط به یک حجم مشخص را بازمی‌گرداند. به‌طور پیش‌فرض، نام استخر بازگردانده می‌شود. .sp \fIvol\-key\-or\-path\fP کلید یا مسیر حجمی است که باید اطلاعات استخر آن بازگردانده شود. .sp اگر گزینه \fI\-\-uuid\fP داده شود، به‌جای آن UUID استخر بازگردانده می‌شود. .SS vol\-path .sp \fBساختار:\fP .INDENT 0.0 .INDENT 3.5 .sp .EX vol\-path vol\-name\-or\-key [\-\-pool pool\-or\-uuid] .EE .UNINDENT .UNINDENT .sp مسیر یک حجم مشخص را بازمی‌گرداند. .sp \fIvol\-name\-or\-key\fP نام یا کلید حجمی است که مسیر آن بازگردانده می‌شود. .sp \fI\-\-pool\fP \fIpool\-or\-uuid\fP نام یا UUID استخر ذخیره‌سازی است که حجم در آن قرار دارد. اگر به جای کلید، نام حجم ارائه شود، ارائه استخر برای یافتن حجم ضروری است؛ در غیر این صورت، اولین حجمی که با کلید پیدا شود استفاده خواهد شد..SS vol\-name .sp \fBساختار:\fP .INDENT 0.0 .INDENT 3.5 .sp .EX vol\-name vol\-key\-or\-path .EE .UNINDENT .UNINDENT .sp نام یک حجم مشخص را برمی‌گرداند. .sp پارامتر \fIvol\-key\-or\-path\fP کلید یا مسیر حجمی است که نام آن باید بازگردانده شود. .SS vol\-key .sp \fBساختار:\fP .INDENT 0.0 .INDENT 3.5 .sp .EX vol\-key vol\-name\-or\-path [\-\-pool pool\-or\-uuid] .EE .UNINDENT .UNINDENT .sp کلید حجم را برای یک حجم مشخص برمی‌گرداند. .sp پارامتر \fIvol\-name\-or\-path\fP نام یا مسیر حجمی است که کلید آن باید بازگردانده شود. .sp گزینهٔ \fI\-\-pool\fP \fIpool\-or\-uuid\fP نام یا UUID مخزن ذخیره‌سازی (storage pool) است که حجم در آن قرار دارد. اگر به جای مسیر، نام حجم ارائه شده باشد، مشخص کردن مخزن جهت یافتن حجم مورد نظر الزامی است؛ در غیر این صورت، از اولین حجمی که از طریق مسیر پیدا شود استفاده خواهد شد. .SS vol\-resize .sp \fBساختار:\fP .INDENT 0.0 .INDENT 3.5 .sp .EX vol\-resize vol\-name\-or\-path capacity [\-\-pool pool\-or\-uuid] [\-\-allocate] [\-\-delta] [\-\-shrink] .EE .UNINDENT .UNINDENT .sp ظرفیت حجم داده‌شده را بر حسب بایت تغییر اندازه می‌دهد. .sp پارامتر \fIvol\-name\-or\-key\-or\-path\fP نام، کلید یا مسیر حجمی است که اندازهٔ آن تغییر داده می‌شود. .sp پارامتر \fIcapacity\fP یک عدد صحیح مقیاس‌بندی‌شده است (به بخش \fBNOTES\fP در بالا مراجعه کنید) که در صورت نداشتن پسوند، پیش‌فرض آن بایت است. .sp گزینهٔ \fI\-\-pool\fP \fIpool\-or\-uuid\fP نام یا UUID مخزن ذخیره‌سازی است که حجم در آن قرار دارد. اگر نام حجم به‌جای کلید یا مسیر داده شود، تعیین مخزن برای یافتن حجم مورد نظر ضروری است؛ در غیر این صورت، نخستین حجمِ یافت‌شده بر اساس کلید یا مسیر استفاده خواهد شد. .sp ظرفیت جدید (\fIcapacity\fP) ممکن است پراکنده (sparse) باشد مگر اینکه \fI\-\-allocate\fP مشخص شده باشد. .sp به‌طور معمول، \fIcapacity\fP اندازهٔ جدید است، اما در صورت حضور \fI\-\-delta\fP، این مقدار به اندازهٔ فعلی افزوده می‌شود. .sp تلاش‌ها برای کوچک کردن حجم ناموفق خواهند بود مگر اینکه \fI\-\-shrink\fP مشخص شده باشد. مقدار \fIcapacity\fP نمی‌تواند منفی باشد مگر اینکه \fI\-\-shrink\fP ارائه شود، هرچند که درج علامت منفی الزامی نیست. .sp این دستور تنها برای حجم‌های ذخیره‌سازی که توسط یک مهمان فعال استفاده نمی‌شوند امن است؛ همچنین برای تغییر اندازهٔ زنده به \fBblockresize\fP مراجعه کنید. .SH "دستورهای اطلاعات محرمانه (SECRET COMMANDS)" .sp دستورهای زیر «اطلاعات محرمانه» (\(dqsecrets\(dq، مانند گذرواژه‌ها، عبارات عبور و کلیدهای رمزنگاری) را مدیریت و دستکاری می‌کنند. Libvirt می‌تواند اطلاعات محرمانه را مستقل از کاربردشان ذخیره کند، و سایر اشیاء (مانند حجم‌ها یا دامنه‌ها) می‌توانند برای رمزنگاری یا احتمالاً استفاده‌های دیگر به این اطلاعات محرمانه ارجاع دهند. اطلاعات محرمانه با استفاده از یک UUID شناسایی می‌شوند. برای مستندات قالب XML استفاده‌شده جهت نمایش ویژگی‌های اطلاعات محرمانه، \% را ببینید..SS secret\-define .sp \fBساختار:\fP .INDENT 0.0 .INDENT 3.5 .sp .EX secret\-define file [\-\-validate] .EE .UNINDENT .UNINDENT .sp یک راز با مشخصات تعیین‌شده در \fIfile\fP ایجاد می‌کند، بدون آنکه مقدار رازی به آن مرتبط شده باشد. اگر \fIfile\fP شناسهٔ UUID را مشخص نکرده باشد، یکی به‌طور خودکار انتخاب می‌شود. اگر \fIfile\fP شناسهٔ UUID یک راز موجود را مشخص کند، مشخصات آن بدون تأثیر بر مقدار راز، با مشخصات تعریف‌شده در \fIfile\fP جایگزین می‌شوند. .sp همچنین می‌توان قالب فایل XML ورودی را با استفاده از \fI\-\-validate\fP در برابر یک طرح‌وارهٔ داخلی RNG اعتبارسنجی کرد. .SS secret\-dumpxml .sp \fBساختار:\fP .INDENT 0.0 .INDENT 3.5 .sp .EX secret\-dumpxml [\-\-xpath EXPRESSION] [\-\-wrap] secret .EE .UNINDENT .UNINDENT .sp مشخصات \fIsecret\fP (تعیین‌شده توسط UUID آن) را به‌صورت خروجی XML در stdout چاپ می‌کند. .sp اگر آرگومان \fB\-\-xpath\fP یک عبارت XPath ارائه دهد، در برابر خروجی XML ارزیابی شده و تنها گره‌های منطبق چاپ خواهند شد. رفتار پیش‌فرض این است که هر گرهٔ منطبق به‌صورت یک سند مستقل چاپ شود؛ با این حال، جهت سهولت در پردازش‌های بیشتر، آرگومان \fB\-\-wrap\fP باعث می‌شود گره‌های منطبق درون یک گرهٔ ریشهٔ مشترک قرار گیرند. .SS secret\-event .sp \fBساختار:\fP .INDENT 0.0 .INDENT 3.5 .sp .EX secret\-event {[secret] event [\-\-loop] [\-\-timeout seconds] [\-\-timestamp] | \-\-list} .EE .UNINDENT .UNINDENT .sp منتظر وقوع دسته‌ای از رویدادهای راز می‌ماند و جزئیات مربوط به رویدادها را هنگام رخ دادن چاپ می‌کند. رویدادها را می‌توان به‌صورت اختیاری با \fIsecret\fP فیلتر کرد. استفاده از \fI\-\-list\fP به‌عنوان تنها آرگومان، فهرستی از مقادیر ممکن \fIevent\fP را که برای این کلاینت شناخته‌شده است ارائه می‌دهد، اگرچه ممکن است اتصال اجازهٔ ثبت‌نام برای همهٔ این رویدادها را ندهد. .sp به‌طور پیش‌فرض، این دستور یک‌باره است و پس از رخ دادن یک رویداد وضعیت موفقیت‌آمیز برمی‌گرداند؛ می‌توانید با ارسال SIGINT (معمولاً از طریق \fBCtrl\-C\fP) فوراً از آن خارج شوید. اگر \fI\-\-timeout\fP مشخص شده باشد، دستور پس از سپری شدن \fIseconds\fP ثانیه از انتظار برای رویدادها دست می‌کشد. با \fI\-\-loop\fP، دستور تمام رویدادها را تا زمان پایان مهلت یا دریافت کلید وقفه چاپ می‌کند. .sp هنگام استفاده از \fI\-\-timestamp\fP، یک برچسب زمانی خوانا برای انسان پیش از رویداد چاپ خواهد شد. .SS secret\-set\-value .sp \fBساختار:\fP .INDENT 0.0 .INDENT 3.5 .sp .EX secret\-set\-value secret (\-\-file filename [\-\-plain] | \-\-interactive | base64) .EE .UNINDENT .UNINDENT .sp مقدار مرتبط با \fIsecret\fP (مشخص‌شده توسط UUID آن) را روی مقدار کُدگذاری‌شده با Base64 در \fIbase64\fP یا محتویات کُدگذاری‌شده با Base64 فایلی به نام \fIfilename\fP تنظیم می‌کند. استفاده از پرچم \fI\-\-plain\fP همراه با \fI\-\-file\fP این امکان را فراهم می‌کند که از محتوای فایل مستقیماً به‌عنوان مقدار راز استفاده شود. .sp اگر پرچم \fI\-\-interactive\fP به کار رود، مقدار راز مانند یک گذرواژه از ترمینال خوانده می‌شود. .sp توجه داشته باشید که گزینه‌های \fI\-\-file\fP، \fI\-\-interactive\fP و \fIbase64\fP مانعة‌الجمع هستند. .sp ارسال رازها از طریق گزینهٔ \fIbase64\fP در خط فرمان ناامن (INSECURE) بوده و منسوخ شده است. به‌جای آن از گزینهٔ \fI\-\-file\fP استفاده کنید..SS secret\-get\-value .sp \fBنحو:\fP .INDENT 0.0 .INDENT 3.5 .sp .EX secret\-get\-value [\-\-plain] secret .EE .UNINDENT .UNINDENT .sp مقدار مرتبط با \fIsecret\fP (مشخص‌شده با UUID آن) را به‌صورت کدگذاری‌شده با Base64 در خروجی استاندارد (stdout) چاپ می‌کند. .sp اگر پرچم \fI\-\-plain\fP استفاده شود، مقدار با Base64 کدگذاری نشده و به‌صورت خام چاپ می‌شود. توجه داشته باشید مگر اینکه virsh در حالت بی‌صدا (\fIvirsh \-q\fP) اجرا شده باشد، یک خط جدید در انتهای دستور چاپ می‌کند. این خط جدید بخشی از secret نیست. .SS secret\-undefine .sp \fBنحو:\fP .INDENT 0.0 .INDENT 3.5 .sp .EX secret\-undefine secret .EE .UNINDENT .UNINDENT .sp یک \fIsecret\fP (مشخص‌شده با UUID آن) را به همراه مقدار مرتبط، در صورت وجود، حذف می‌کند. .SS secret\-list .sp \fBنحو:\fP .INDENT 0.0 .INDENT 3.5 .sp .EX secret\-list [\-\-ephemeral] [\-\-no\-ephemeral] [\-\-private] [\-\-no\-private] .EE .UNINDENT .UNINDENT .sp فهرست رازها (secrets) را بازمی‌گرداند. همچنین می‌توانید رازهای بازگردانده‌شده را با \fI\-\-ephemeral\fP برای فهرست کردن موارد گذرا، \fI\-\-no\-ephemeral\fP برای موارد غیرگذرا، \fI\-\-private\fP برای موارد خصوصی، و \fI\-\-no\-private\fP برای فهرست کردن موارد غیرخصوصی پالایش کنید. .SH "دستورهای اسنپ‌شات (SNAPSHOT COMMANDS)" .sp دستورهای زیر اسنپ‌شات‌های دامنه را دستکاری می‌کنند. اسنپ‌شات‌ها وضعیت دیسک، حافظه و دستگاه‌های یک دامنه را در یک نقطه زمانی خاص ثبت کرده و آن را برای استفاده در آینده ذخیره می‌کنند. آن‌ها کاربردهای فراوانی دارند، از ذخیره یک نسخه «تمیز» از ایمیج سیستم‌عامل گرفته تا ذخیره وضعیت یک دامنه قبل از انجام یک عملیات بالقوه مخرب. اسنپ‌شات‌ها با یک نام یکتا شناسایی می‌شوند. برای مستندات مربوط به ساختار XML استفاده‌شده جهت نمایش ویژگی‌های اسنپ‌شات‌ها، \% را ببینید. .SS snapshot\-create .sp \fBنحو:\fP .INDENT 0.0 .INDENT 3.5 .sp .EX snapshot\-create domain [xmlfile] {[\-\-redefine [\-\-current]] | [\-\-no\-metadata] [\-\-halt] [\-\-disk\-only] [\-\-reuse\-external] [\-\-quiesce] [\-\-atomic] [\-\-live]} [\-\-validate] .EE .UNINDENT .UNINDENT .sp یک اسنپ‌شات برای دامنه \fIdomain\fP با ویژگی‌های مشخص‌شده در \fIxmlfile\fP ایجاد می‌کند. در صورت تمایل، گزینه \fI\-\-validate\fP را می‌توان برای اعتبارسنجی قالب فایل XML ورودی در برابر شِمای داخلی RNG ارسال کرد (مشابه استفاده از ابزار virt\-xml\-validate(1)). به‌طور معمول، تنها ویژگی‌های قابل تنظیم برای یک اسنپ‌شات دامنه، عناصر و هستند، و همچنین در صورتی که \fI\-\-disk\-only\fP مشخص شده باشد؛ بقیه فیلدها نادیده گرفته شده و به‌طور خودکار توسط libvirt مقداردهی می‌شوند. اگر \fIxmlfile\fP کاملاً حذف شود، libvirt برای همه فیلدها مقداری را انتخاب خواهد کرد. اسنپ‌شات جدید به عنوان اسنپ‌شات جاری در نظر گرفته خواهد شد، همان‌طور که توسط \fBsnapshot\-current\fP فهرست می‌شود. .sp اگر \fI\-\-halt\fP مشخص شود، دامنه پس از ایجاد اسنپ‌شات در وضعیتی غیرفعال رها خواهد شد. .sp اگر \fI\-\-disk\-only\fP مشخص شود، اسنپ‌شات فقط شامل محتوای دیسک خواهد بود و نه اسنپ‌شات معمول سیستم کامل به همراه وضعیت ماشین مجازی. ثبت اسنپ‌شات‌های دیسک سریع‌تر از اسنپ‌شات‌های سیستم کامل انجام می‌شود، اما بازگردانی به یک اسنپ‌شات دیسک ممکن است نیازمند fsck یا بازپخش ژورنال باشد، زیرا این حالت مشابه وضعیت دیسک در لحظه قطع ناگهانی کابل برق است؛ و ترکیب \fI\-\-halt\fP و \fI\-\-disk\-only\fP هرگونه داده‌ای را که در آن لحظه روی دیسک تخلیه نشده باشد از بین می‌برد. .sp اگر \fI\-\-redefine\fP مشخص شود، تمامی عناصر XML تولیدشده توسط \fBsnapshot\-dumpxml\fP معتبر خواهند بود؛ این گزینه می‌تواند برای مهاجرت سلسله‌مراتب اسنپ‌شات از یک ماشین به ماشین دیگر، بازسازی سلسله‌مراتب برای دامنه‌های گذرایی که بسته شده و بعداً با همان نام و UUID دوباره ایجاد می‌شوند، یا اعمال تغییرات جزئی در فراداده اسنپ‌شات (مانند جنبه‌های وابسته به میزبان در XML دامنه که درون اسنپ‌شات گنجانده شده است) استفاده شود. هنگام استفاده از این پرچم، آرگومان \fIxmlfile\fP الزامی است و اسنپ‌شات جاری دامنه تغییر نخواهد کرد مگر اینکه پرچم \fI\-\-current\fP نیز داده شده باشد. .sp اگر \fI\-\-no\-metadata\fP مشخص شود، داده‌های اسنپ‌شات ایجاد می‌شوند اما هرگونه فراداده بلافاصله دور انداخته می‌شود (یعنی libvirt با اسنپ‌شات به عنوان اسنپ‌شات جاری رفتار نمی‌کند و نمی‌تواند به آن بازگردانی کند، مگر اینکه بعداً از \fI\-\-redefine\fP برای معرفی مجدد فراداده به libvirt استفاده شود). .sp اگر \fI\-\-reuse\-external\fP مشخص شود و XML اسنپ‌شات یک اسنپ‌شات خارجی با مقصد یک فایل موجود را درخواست کند، آنگاه مقصد باید از پیش موجود بوده و با قالب و فراداده صحیح ایجاد شده باشد. سپس فایل مجدداً استفاده می‌شود؛ در غیر این صورت، برای جلوگیری از دست رفتن محتویات فایل‌های موجود، درخواست اسنپ‌شات رد خواهد شد. .sp اگر \fI\-\-quiesce\fP مشخص شود، libvirt تلاش خواهد کرد از عامل مهمان (guest agent) برای منجمد کردن و آزادسازی سیستم‌های فایل متصل‌شده دامنه استفاده کند. با این حال، اگر دامنه فاقد عامل مهمان باشد، ایجاد اسنپ‌شات شکست خواهد خورد. در حال حاضر، این مورد نیازمند ارسال \fI\-\-disk\-only\fP نیز می‌باشد. .sp اگر \fI\-\-atomic\fP مشخص شود، libvirt تضمین می‌کند که اسنپ‌شات یا کاملاً موفقیت‌آمیز باشد یا بدون هیچ تغییری شکست بخورد؛ همه هایپروایزرها از این قابلیت پشتیبانی نمی‌کنند. اگر این پرچم مشخص نشود، برخی هایپروایزرها ممکن است پس از انجام ناقص عملیات با خطا مواجه شوند، و باید از \fBdumpxml\fP برای بررسی رخ دادن هرگونه تغییر ناقص استفاده شود. .sp اگر \fI\-\-live\fP مشخص شود، libvirt اسنپ‌شات را در حین اجرای ماشین مهمان تهیه می‌کند. هم اسنپ‌شات دیسک و هم اسنپ‌شات حافظه دامنه ثبت می‌شوند. این کار اندازه ایمیج حافظه اسنپ‌شات خارجی را افزایش می‌دهد. در حال حاضر این قابلیت فقط برای اسنپ‌شات‌های خارجی سیستم کامل پشتیبانی می‌شود. .sp وجود فراداده اسنپ‌شات از تلاش‌ها برای \fBundefine\fP کردن یک مهمان ماندگار جلوگیری می‌کند. با این حال، برای دامنه‌های گذرا، زمانی که اجرای دامنه متوقف می‌شود (خواه با دستوری مانند \fBdestroy\fP یا با کنش داخلی ماشین مهمان)، فراداده اسنپ‌شات بدون هشدار از بین می‌رود. .sp در حال حاضر، ایجاد اسنپ‌شات در دامنه‌ای که دارای چک‌پوینت (checkpoint) است امکان‌پذیر نیست، هرچند این محدودیت در انتشار‌های آینده برداشته خواهد شد..SS snapshot\-create\-as .sp \fBساختار دستوری:\fP .INDENT 0.0 .INDENT 3.5 .sp .EX snapshot\-create\-as domain {[\-\-print\-xml] [\-\-no\-metadata] [\-\-halt] [\-\-reuse\-external]} [name] [description] [\-\-disk\-only [\-\-quiesce]] [\-\-atomic] [\-\-validate] [[\-\-live] [\-\-memspec memspec]] [\-\-diskspec] diskspec]... .EE .UNINDENT .UNINDENT .sp یک اسنپ‌شات برای دامنهٔ \fIdomain\fP با و مشخص‌شده ایجاد می‌کند؛ اگر هرکدام از این مقادیر حذف شوند، libvirt مقداری را برمی‌گزیند. اگر \fI\-\-print\-xml\fP مشخص شده باشد، به‌جای ایجاد واقعی اسنپ‌شات، XML مناسب برای \fIsnapshot\-create\fP در خروجی نمایش داده می‌شود. در غیر این صورت، چنانچه \fI\-\-halt\fP مشخص شود، دامنه پس از ایجاد اسنپ‌شات در وضعیتی غیرفعال باقی می‌ماند، و اگر \fI\-\-disk\-only\fP مشخص شده باشد، اسنپ‌شات وضعیت ماشین مجازی (vm state) را در بر نخواهد گرفت. .sp گزینهٔ \fI\-\-memspec\fP می‌تواند برای کنترل داخلی یا خارجی بودن اسنپ‌شات کامل سیستم به کار رود. پرچم \fI\-\-memspec\fP اجباری است و پس از آن یک \fBmemspec\fP به شکل \fB[file=]name[,snapshot=type]\fP می‌آید، که در آن type می‌تواند \fBno\fP، \fBinternal\fP یا \fBexternal\fP باشد\&. برای گنجاندن یک کامای تحت‌اللفظی در \fBfile=name\fP، آن را با یک کامای دوم گریزدهی (escape) کنید. \fI\-\-memspec\fP نمی‌تواند همراه با \fI\-\-disk\-only\fP استفاده شود\&. .sp گزینهٔ \fI\-\-diskspec\fP می‌تواند برای کنترل نحوهٔ ایجاد فایل‌های خارجی توسط \fI\-\-disk\-only\fP و اسنپ‌شات‌های خارجی کامل سیستم به کار رود. این گزینه با توجه به تعداد عناصر در xml دامنه می‌تواند چندین بار تکرار شود. هر به صورت \fBdisk[,snapshot=type][,driver=type][,stype=type][,file=name]\fP است\&. برای دیسک‌هایی که توسط دستگاه‌های بلوکی (block devices) پشتیبانی می‌شوند باید یک \fIdiskspec\fP ارائه شود، زیرا libvirt نام فایل‌ها را برای آن‌ها به طور خودکار تولید نمی‌کند. پارامتر اختیاری \fBstype\fP امکان کنترل نوع فایل منبع را فراهم می‌کند. مقادیر پشتیبانی‌شده عبارت‌اند از \(aqfile\(aq (پیش‌فرض) و \(aqblock\(aq. برای مستثنی کردن یک دیسک از اسنپ‌شات خارجی از \fB\-\-diskspec disk,snapshot=no\fP استفاده کنید\&. .sp برای گنجاندن یک کامای صریح در \fBdisk\fP یا \fBfile=name\fP، آن را با یک کامای دوم گریز دهید. عبارت صریح \fI\-\-diskspec\fP باید قبل از هر \fBdiskspec\fP قرار گیرد، مگر اینکه هر سه مورد \fIdomain\fP، \fIname\fP و \fIdescription\fP نیز حضور داشته باشند. برای نمونه، diskspec با مقدار \(dqvda,snapshot=external,file=/path/to,,new\(dq به XML زیر منجر می‌شود: .INDENT 0.0 .INDENT 3.5 .sp .EX .EE .UNINDENT .UNINDENT .sp اگر \fI\-\-reuse\-external\fP مشخص شده باشد و XML دامنه یا گزینهٔ \fIdiskspec\fP درخواست یک اسنپ‌شات خارجی با مقصد یک فایل موجود را داشته باشند، آنگاه مقصد باید وجود داشته و از قبل با فرمت و فرادادهٔ صحیح ایجاد شده باشد. سپس از فایل دوباره استفاده می‌شود؛ در غیر این صورت، برای جلوگیری از دست رفتن محتوای فایل‌های موجود، از ایجاد اسنپ‌شات خودداری می‌شود. .sp اگر \fI\-\-quiesce\fP مشخص شده باشد، libvirt تلاش خواهد کرد از guest agent برای منجمد کردن (freeze) و رفع انجماد (unfreeze) سیستم‌های فایل متصل‌شدهٔ دامنه استفاده کند. با این حال، اگر دامنه فاقد guest agent باشد، ایجاد اسنپ‌شات شکست خواهد خورد. در حال حاضر، این حالت نیازمند فرستادن \fI\-\-disk\-only\fP نیز می‌باشد. .sp اگر \fI\-\-no\-metadata\fP مشخص شده باشد، داده‌های اسنپ‌شات ایجاد می‌شوند اما هرگونه فراداده بی‌درنگ دور ریخته می‌شود (بدین معنا که libvirt اسنپ‌شات را به عنوان اسنپ‌شات فعلی در نظر نمی‌گیرد و نمی‌تواند به آن بازگردد، مگر اینکه بعداً از \fBsnapshot\-create\fP برای معرفی دوبارهٔ فراداده به libvirt استفاده شود). .sp اگر \fI\-\-atomic\fP مشخص شده باشد، libvirt تضمین می‌کند که اسنپ‌شات یا با موفقیت انجام شود، یا بدون هیچ تغییری شکست بخورد؛ همهٔ هایپروایزرها از این قابلیت پشتیبانی نمی‌کنند. اگر این پرچم مشخص نشود، ممکن است برخی هایپروایزرها پس از انجام جزئی عملیات شکست بخورند، و باید از \fBdumpxml\fP برای بررسی رخ دادن هرگونه تغییرات جزئی استفاده شود. .sp اگر \fI\-\-live\fP مشخص شده باشد، libvirt در حین اجرای مهمان اسنپ‌شات می‌گیرد. این امر اندازهٔ ایمیج حافظه در اسنپ‌شات خارجی را افزایش می‌دهد. این ویژگی در حال حاضر تنها برای اسنپ‌شات‌های خارجی کامل سیستم پشتیبانی می‌شود. .sp در حال حاضر، ایجاد اسنپ‌شات در دامنه‌ای که دارای checkpoint است ممکن نیست، هرچند این محدودیت در نسخه‌های آینده برداشته خواهد شد. .sp به صورت اختیاری، گزینهٔ \fI\-\-validate\fP می‌تواند برای اعتبارسنجی سند XML که به طور داخلی توسط این دستور تولید شده است در برابر شِمای RNG داخلی ارسال شود..SS snapshot\-current .sp \fBسینتکس:\fP .INDENT 0.0 .INDENT 3.5 .sp .EX snapshot\-current domain {[\-\-name] | [\-\-security\-info] | [snapshotname]} .EE .UNINDENT .UNINDENT .sp بدون \fIsnapshotname\fP، این دستور خروجی XML اسنپ‌شات را برای اسنپ‌شات فعلی دامنه (در صورت وجود) نمایش می‌دهد. اگر \fI\-\-name\fP مشخص شده باشد، به جای کل XML، فقط نام اسنپ‌شات فعلی نمایش داده می‌شود. در غیر این صورت، استفاده از \fI\-\-security\-info\fP اطلاعات حساس امنیتی را نیز در XML شامل خواهد کرد. .sp همراه با \fIsnapshotname\fP، این درخواستی است برای تبدیل اسنپ‌شات نام‌برده موجود به اسنپ‌شات فعلی، بدون بازگردانی دامنه. .SS snapshot\-edit .sp \fBسینتکس:\fP .INDENT 0.0 .INDENT 3.5 .sp .EX snapshot\-edit domain [snapshotname] [\-\-current] {[\-\-rename] | [\-\-clone]} .EE .UNINDENT .UNINDENT .sp ویرایش فایل پیکربندی XML برای \fIsnapshotname\fP یک دامنه. اگر هر دو \fIsnapshotname\fP و \fI\-\-current\fP مشخص شده باشند، اسنپ‌شات ویرایش‌شده را نیز وادار می‌کند تا به اسنپ‌شات فعلی تبدیل شود. اگر \fIsnapshotname\fP حذف شود، برای ویرایش اسنپ‌شات فعلی باید \fI\-\-current\fP ارائه گردد. .sp این دستور معادل است با: .INDENT 0.0 .INDENT 3.5 .sp .EX virsh snapshot\-dumpxml dom name > snapshot.xml vi snapshot.xml (or make changes with your other text editor) virsh snapshot\-create dom snapshot.xml \-\-redefine [\-\-current] .EE .UNINDENT .UNINDENT .sp با این تفاوت که برخی بررسی‌های خطا را نیز انجام می‌دهد. .sp ویرایشگر مورد استفاده می‌تواند توسط متغیرهای محیطی \fB$VISUAL\fP یا \fB$EDITOR\fP تعیین شود، و پیش‌فرض آن \fBvi\fP است\&. .sp اگر \fI\-\-rename\fP مشخص شود، ویرایش‌ها می‌توانند نام اسنپ‌شات را تغییر دهند. اگر \fI\-\-clone\fP مشخص شود، تغییر نام اسنپ‌شات یک کلون از فراداده اسنپ‌شات ایجاد خواهد کرد. اگر هیچ‌کدام مشخص نشوند، ویرایش‌ها نباید نام اسنپ‌شات را تغییر دهند. توجه داشته باشید که تغییر نام اسنپ‌شات باید با احتیاط انجام شود، زیرا محتوای برخی از اسنپ‌شات‌ها، مانند اسنپ‌شات‌های داخلی درون یک فایل qcow2 منفرد، فقط از طریق همان نام اولیه قابل دسترسی هستند. .SS snapshot\-info .sp \fBسینتکس:\fP .INDENT 0.0 .INDENT 3.5 .sp .EX snapshot\-info domain {snapshot | \-\-current} .EE .UNINDENT .UNINDENT .sp نمایش اطلاعات پایه‌ای درباره یک نام‌برده، یا اسنپ‌شات فعلی با \fI\-\-current\fP\&. .SS snapshot\-list .sp \fBسینتکس:\fP .INDENT 0.0 .INDENT 3.5 .sp .EX snapshot\-list domain [\-\-metadata] [\-\-no\-metadata] [{\-\-parent | \-\-roots | [{\-\-tree | \-\-name}]}] [\-\-topological] [{[\-\-from] snapshot | \-\-current} [\-\-descendants]] [\-\-leaves] [\-\-no\-leaves] [\-\-inactive] [\-\-active] [\-\-disk\-only] [\-\-internal] [\-\-external] .EE .UNINDENT .UNINDENT .sp فهرست کردن تمام اسنپ‌شات‌های موجود برای دامنه داده‌شده؛ به طور پیش‌فرض ستون‌هایی برای نام اسنپ‌شات، زمان ایجاد، و وضعیت دامنه نمایش داده می‌شود. .sp در حالت عادی، خروجی قالبی جدول بر اساس نام اسنپ‌شات مرتب می‌شود؛ استفاده از \fI\-\-topological\fP به جای آن خروجی را طوری مرتب می‌کند که هیچ فرزندی پیش از اجداد خود فهرست نشود (اگرچه ممکن است بیش از یک ترتیب ممکن با این ویژگی وجود داشته باشد). .sp اگر \fI\-\-parent\fP مشخص شده باشد، ستونی به جدول خروجی اضافه می‌کند که نام والد هر اسنپ‌شات را ارائه می‌دهد. اگر \fI\-\-roots\fP مشخص شده باشد، فهرست فقط به اسنپ‌شات‌هایی که هیچ والدی ندارند فیلتر می‌شود. اگر \fI\-\-tree\fP مشخص شده باشد، خروجی در قالب درختی خواهد بود و فقط نام اسنپ‌شات‌ها را فهرست می‌کند. این سه گزینه مانعة‌الجمع هستند. .sp اگر \fI\-\-name\fP مشخص شده باشد فقط نام اسنپ‌شات چاپ می‌شود که در صورت استفاده از \fI\-\-parent\fP نیز، به صورت اختیاری نام اسنپ‌شات والد جدا شده با نویسه tab به دنبال آن می‌آید. این گزینه با \fI\-\-tree\fP مانعة‌الجمع است\&. .sp اگر \fI\-\-from\fP ارائه شود، فهرست به اسنپ‌شات‌هایی که فرزندان \fBsnapshot\fP داده‌شده هستند فیلتر می‌شود؛ یا اگر \fI\-\-current\fP ارائه شود، از اسنپ‌شات فعلی شروع می‌کند. هنگامی که به تنهایی یا همراه با \fI\-\-parent\fP استفاده شود، فهرست محدود به فرزندان مستقیم است مگر اینکه \fI\-\-descendants\fP نیز وجود داشته باشد. هنگام استفاده با \fI\-\-tree\fP، استفاده از \fI\-\-descendants\fP به صورت ضمنی در نظر گرفته می‌شود. این گزینه با \fI\-\-roots\fP سازگار نیست\&. توجه داشته باشید که نقطه شروع \fI\-\-from\fP یا \fI\-\-current\fP در فهرست گنجانده نمی‌شود مگر اینکه گزینه \fI\-\-tree\fP نیز وجود داشته باشد. .sp اگر \fI\-\-leaves\fP مشخص شده باشد، فهرست فقط به اسنپ‌شات‌هایی فیلتر می‌شود که هیچ فرزندی ندارند. به همین ترتیب، اگر \fI\-\-no\-leaves\fP مشخص شده باشد، فهرست فقط به اسنپ‌شات‌های دارای فرزند فیلتر خواهد شد. (توجه داشته باشید که حذف هر دو گزینه هیچ فیلتری اعمال نمی‌کند، در حالی که ارائه هر دو گزینه بسته به اینکه سرور پرچم‌ها را تشخیص دهد یا خیر، یا همان فهرست را تولید می‌کند یا با خطا مواجه می‌شود). گزینه‌های فیلتر کردن با \fI\-\-tree\fP سازگار نیستند\&. .sp اگر \fI\-\-metadata\fP مشخص شده باشد، فهرست فقط به اسنپ‌شات‌هایی فیلتر می‌شود که با فراداده libvirt مرتبط هستند، و در نتیجه از \fBundefine\fP کردن یک ماشین مهمان دائمی جلوگیری می‌کنند، یا با \fBdestroy\fP یک دامنه گذرا از بین می‌روند. به همین ترتیب، اگر \fI\-\-no\-metadata\fP مشخص شده باشد، فهرست فقط به اسنپ‌شات‌هایی فیلتر می‌شود که بدون نیاز به فراداده libvirt وجود دارند. .sp اگر \fI\-\-inactive\fP مشخص شده باشد، فهرست به اسنپ‌شات‌هایی فیلتر می‌شود که هنگام خاموش بودن دامنه گرفته شده‌اند. اگر \fI\-\-active\fP مشخص شده باشد، فهرست به اسنپ‌شات‌هایی فیلتر می‌شود که هنگام روشن و در حال اجرا بودن دامنه گرفته شده‌اند، و اسنپ‌شات شامل وضعیت حافظه برای بازگشت به آن حالت اجرا است. اگر \fI\-\-disk\-only\fP مشخص شده باشد، فهرست به اسنپ‌شات‌هایی فیلتر می‌شود که در زمان اجرای دامنه گرفته شده‌اند، اما اسنپ‌شات فقط شامل وضعیت دیسک است. .sp اگر \fI\-\-internal\fP مشخص شده باشد، فهرست به اسنپ‌شات‌هایی فیلتر می‌شود که از فضای ذخیره‌سازی داخلی ایمیج‌های دیسک موجود استفاده می‌کنند. اگر \fI\-\-external\fP مشخص شده باشد، فهرست به اسنپ‌شات‌هایی فیلتر می‌شود که از فایل‌های خارجی برای ایمیج‌های دیسک یا وضعیت حافظه استفاده می‌کنند..SS snapshot\-dumpxml .sp \fBنحو:\fP .INDENT 0.0 .INDENT 3.5 .sp .EX snapshot\-dumpxml [\-\-security\-info] [\-\-xpath EXPRESSION] [\-\-wrap] domain snapshot .EE .UNINDENT .UNINDENT .sp خروجی XML اسنپ‌شات را برای اسنپ‌شاتی از دامنه با نام \fIsnapshot\fP نمایش می‌دهد. استفاده از \fI\-\-security\-info\fP همچنین اطلاعات حساس امنیتی را نیز شامل خواهد کرد. از \fBsnapshot\-current\fP برای دسترسی آسان به XML اسنپ‌شات فعلی استفاده کنید. .sp اگر آرگومان \fB\-\-xpath\fP یک عبارت XPath ارائه دهد، آن عبارت بر روی خروجی XML ارزیابی شده و تنها گره‌های منطبق چاپ خواهند شد. رفتار پیش‌فرض این است که هر گره منطبق به عنوان یک سند مستقل چاپ شود؛ با این حال، جهت سهولت در پردازش‌های بیشتر، آرگومان \fB\-\-wrap\fP باعث می‌شود گره‌های منطبق درون یک گره ریشه (root) مشترک قرار گیرند. .SS snapshot\-parent .sp \fBنحو:\fP .INDENT 0.0 .INDENT 3.5 .sp .EX snapshot\-parent domain {snapshot | \-\-current} .EE .UNINDENT .UNINDENT .sp نام اسنپ‌شات والد (در صورت وجود) را برای \fIsnapshot\fP مشخص‌شده، یا با \fI\-\-current\fP برای اسنپ‌شات فعلی خروجی می‌دهد. .SS snapshot\-revert .sp \fBنحو:\fP .INDENT 0.0 .INDENT 3.5 .sp .EX snapshot\-revert domain {snapshot | \-\-current} [{\-\-running | \-\-paused}] [\-\-force] [\-\-reset\-nvram] .EE .UNINDENT .UNINDENT .sp دامنه‌ی داده‌شده را به اسنپ‌شات مشخص‌شده با \fIsnapshot\fP، یا با استفاده از \fI\-\-current\fP به اسنپ‌شات فعلی بازگردانی می‌کند. توجه داشته باشید که این یک عمل مخرب است؛ هرگونه تغییر در دامنه از زمان ثبت آخرین اسنپ‌شات از دست خواهد رفت. همچنین در نظر داشته باشید که وضعیت دامنه پس از تکمیل snapshot\-revert، همان وضعیت دامنه در زمان ثبت اسنپ‌شات اولیه خواهد بود. .sp به طور معمول، بازگردانی به یک اسنپ‌شات، دامنه را در همان وضعیتی که هنگام ایجاد اسنپ‌شات داشت رها می‌کند؛ به جز اسنپ‌شات دیسک بدون وضعیت ماشین مجازی (vm state) که دامنه را در وضعیت غیرفعال (inactive) قرار می‌دهد. ارسال هر یک از پرچم‌های \fI\-\-running\fP یا \fI\-\-paused\fP تغییرات وضعیت دیگری را اعمال خواهد کرد (مانند بوت کردن یک دامنه غیرفعال، یا متوقف کردن موقت یک دامنه در حال اجرا). از آنجا که دامنه‌های گذرا (transient) نمی‌توانند غیرفعال باشند، هنگام بازگردانی به یک اسنپ‌شات دیسک از یک دامنه‌ی گذرا، استفاده از یکی از این پرچم‌ها الزامی است. .sp از نسخه 7.10.0 نرم‌افزار libvirt، فرایند ماشین مجازی همواره مجدداً راه‌اندازی می‌شود، بنابراین بند بعدی دیگر معتبر نیست. اگر متاداده‌ی اسنپ‌شات فاقد XML کامل ماشین مجازی باشد، دیگر امکان بازگردانی به چنین اسنپ‌شاتی وجود ندارد. .sp مواردی وجود دارد که بازگردانی اسنپ‌شات با ریسک اضافی همراه است و برای ادامه‌ی عملیات نیاز به استفاده از \fI\-\-force\fP دارد: .INDENT 0.0 .INDENT 3.5 .INDENT 0.0 .IP \(bu 2 مورد نخست، اسنپ‌شاتی است که فاقد اطلاعات کامل دامنه برای بازگردانی پیکربندی است (مانند اسنپ‌شات‌های ایجادشده پیش از libvirt نسخه 0.9.5)؛ از آنجا که libvirt نمی‌تواند اثبات کند پیکربندی فعلی با آنچه در زمان اسنپ‌شات استفاده می‌شده مطابقت دارد، ارائه \fI\-\-force\fP به libvirt اطمینان می‌دهد که اسنپ‌شات با پیکربندی فعلی سازگار است (و چنانچه سازگار نباشد، اجرای دامنه به احتمال زیاد با شکست مواجه می‌شود). .IP \(bu 2 مورد دیگر، بازگردانی از یک دامنه‌ی در حال اجرا به وضعیتی فعال است که در آن باید به جای استفاده مجدد از هایپروایزر موجود، یک هایپروایزر جدید ایجاد شود؛ زیرا این امر معایبی نظیر قطع اتصالات موجود VNC یا Spice را به همراه دارد. این وضعیت برای اسنپ‌شات فعالی رخ می‌دهد که از یک پیکربندی ناسازگارِ قابل اثبات استفاده می‌کند، و همچنین برای اسنپ‌شات غیرفعالی که با پرچم‌های \fI\-\-start\fP یا \fI\-\-pause\fP ترکیب شده باشد. .IP \(bu 2 همچنین، libvirt از بازیابی اسنپ‌شات‌های دامنه‌های غیرفعال QEMU تا زمانی که وضعیت ذخیره‌شده‌ی مدیریت‌شده (managed saved state) وجود دارد، خودداری می‌کند. دلیل این امر آن است که این اسنپ‌شات‌ها فاقد وضعیت حافظه هستند و بنابراین وضعیت حافظه فعلی را جایگزین نخواهند کرد. این امر در نهایت منجر به تعویض دیسک در زیر پای یک سیستم در حال اجرا می‌شود و احتمالاً هنگام اجرا باعث خرابی گسترده سیستم‌فایل یا فروپاشی سیستم به دلیل عدم تطابق محتوای swap خواهد شد. .UNINDENT .UNINDENT .UNINDENT .sp اگر \fI\-\-reset\-nvram\fP مشخص شود، هرگونه فایل NVRAM/varstore موجود حذف شده و از روی قالب دست‌نخورده‌ی اولیه دوباره مقداردهی خواهد شد..SS snapshot\-delete .sp \fBنحو:\fP .INDENT 0.0 .INDENT 3.5 .sp .EX snapshot\-delete domain {snapshot | \-\-current} [\-\-metadata] [{\-\-children | \-\-children\-only}] .EE .UNINDENT .UNINDENT .sp اسنپ‌شات مربوط به دامنه با نام \fIsnapshot\fP، یا با استفاده از \fI\-\-current\fP اسنپ‌شات کنونی را حذف می‌کند. اگر این اسنپ‌شات دارای اسنپ‌شات‌های فرزند باشد، تغییرات این اسنپ‌شات در فرزندان ادغام خواهد شد. اگر \fI\-\-children\fP داده شود، این اسنپ‌شات و تمامی فرزندان آن حذف می‌شوند. اگر \fI\-\-children\-only\fP داده شود، تمامی فرزندان این اسنپ‌شات حذف می‌شوند اما خود این اسنپ‌شات دست‌نخورده باقی می‌ماند. این دو پرچم مانعة‌الجمع هستند. .sp اگر \fI\-\-metadata\fP مشخص شود، تنها فرادادهٔ اسنپ‌شات که توسط libvirt نگهداری می‌شود حذف می‌گردد، در حالی که محتوای اسنپ‌شات برای دسترسی توسط ابزارهای خارجی دست‌نخورده باقی می‌ماند؛ در غیر این صورت، حذف یک اسنپ‌شات محتوای داده‌ها را نیز از آن نقطهٔ زمانی حذف می‌کند. .SH "دستورهای CHECKPOINT (CHECKPOINT COMMANDS)" .sp دستورهای زیر چک‌پوینت‌های دامنه را دست‌کاری می‌کنند. چک‌پوینت‌ها به عنوان یک نقطه در زمان عمل می‌کنند تا مشخص شود کدام بخش‌ها از دیسک‌های مهمان پس از آن زمان تغییر کرده‌اند، و امکان انجام پشتیبان‌گیری‌های افزایشی و تفاضلی را فراهم می‌سازند. چک‌پوینت‌ها با یک نام یکتا شناسایی می‌شوند. برای مشاهدهٔ مستندات مربوط به قالب XML مورد استفاده جهت نمایش ویژگی‌های چک‌پوینت‌ها، \% را ببینید. .SS checkpoint\-create .sp \fBنحو:\fP .INDENT 0.0 .INDENT 3.5 .sp .EX checkpoint\-create domain [xmlfile] { \-\-redefine [\-\-redefine\-validate] | [\-\-quiesce]} .EE .UNINDENT .UNINDENT .sp یک چک‌پوینت برای دامنهٔ \fIdomain\fP با ویژگی‌های مشخص‌شده در \fIxmlfile\fP که عنصر سطح‌بالای را توصیف می‌کند، ایجاد می‌کند. قالب فایل XML ورودی در برابر یک طرحوارهٔ داخلی RNG اعتبارسنجی می‌شود (مشابه با استفاده از ابزار virt\-xml\-validate(1)). اگر \fIxmlfile\fP به‌طور کامل نادیده گرفته شود، libvirt یک چک‌پوینت با نامی بر اساس زمان فعلی ایجاد خواهد کرد. .sp اگر \fI\-\-redefine\fP مشخص شود، تمام عناصر XML تولیدشده توسط \fBcheckpoint\-dumpxml\fP معتبر هستند؛ این گزینه می‌تواند برای مهاجرت دادن سلسله‌مراتب چک‌پوینت از یک ماشین به ماشین دیگر، بازسازی سلسله‌مراتب در موردی که یک دامنهٔ گذرا از بین رفته و بعداً با همان نام و UUID دوباره ایجاد می‌شود، یا ایجاد تغییرات جزئی در فرادادهٔ چک‌پوینت (مانند جنبه‌های وابسته به میزبان در XML دامنه که درون چک‌پوینت گنجانده شده‌اند) استفاده شود. هنگامی که این پرچم داده شود، آرگومان \fIxmlfile\fP اجباری است. .sp اگر \fI\-\-redefine\-validate\fP به همراه \fI\-\-redefine\fP مشخص شود، ناظر مجازی (hypervisor) اعتبارسنجی فراداده‌های مرتبط با چک‌پوینت ذخیره‌شده در مکان‌هایی غیر از XML چک‌پوینت را انجام می‌دهد. توجه داشته باشید که برخی از ناظرهای مجازی ممکن است برای انجام اعتبارسنجی نیاز داشته باشند که دامنه در حال اجرا باشد. .sp اگر \fI\-\-quiesce\fP مشخص شود، libvirt سعی خواهد کرد از guest agent برای فریز کردن و از حالت فریز خارج کردن فایل‌سیستم‌های سوارشدهٔ دامنه استفاده کند. با این حال، اگر دامنه فاقد guest agent باشد، ایجاد چک‌پوینت با شکست مواجه خواهد شد. .sp وجود فرادادهٔ چک‌پوینت از تلاش‌ها برای \fBundefine\fP کردن یک مهمان مانا جلوگیری می‌کند. با این حال، برای دامنه‌های گذرا، زمانی که اجرای دامنه متوقف شود (چه با دستوری مانند \fBdestroy\fP و چه بر اثر کنش داخلی مهمان)، فرادادهٔ چک‌پوینت بدون هیچ هشداری از دست می‌رود. .sp در حال حاضر، امکان ایجاد چک‌پوینت در دامنه‌ای که دارای اسنپ‌شات است وجود ندارد، اگرچه این محدودیت در انتشار‌های آینده برداشته خواهد شد. .SS checkpoint\-create\-as .sp \fBنحو:\fP .INDENT 0.0 .INDENT 3.5 .sp .EX checkpoint\-create\-as domain [\-\-print\-xml] [name] [description] [\-\-quiesce] [\-\-diskspec] diskspec]... .EE .UNINDENT .UNINDENT .sp یک چک‌پوینت برای دامنهٔ \fIdomain\fP با و داده‌شده ایجاد می‌کند؛ اگر هر کدام از این مقادیر نادیده گرفته شوند، libvirt مقداری را انتخاب خواهد کرد. اگر \fI\-\-print\-xml\fP مشخص شود، به جای ایجاد واقعی چک‌پوینت، ساختار XML مناسب برای \fIcheckpoint\-create\fP در خروجی چاپ می‌شود. .sp گزینهٔ \fI\-\-diskspec\fP می‌تواند برای کنترل این که کدام دیسک‌های مهمان در چک‌پوینت مشارکت داشته باشند استفاده شود. این گزینه می‌تواند با توجه به تعداد عناصر در XML دامنه، چندین بار تکرار شود. هر به فرمت \fBdisk[,checkpoint=type][,bitmap=name]\fP\& است. عبارت تحت‌اللفظی \fI\-\-diskspec\fP باید پیش از هر \fBdiskspec\fP بیاید، مگر این‌که هر سه مقدار \fIdomain\fP، \fIname\fP و \fIdescription\fP نیز وجود داشته باشند. به عنوان مثال، یک diskspec به صورت \(dqvda,checkpoint=bitmap,bitmap=map1\(dq به XML زیر منجر می‌شود: .INDENT 0.0 .INDENT 3.5 .sp .EX .EE .UNINDENT .UNINDENT .sp اگر \fI\-\-quiesce\fP مشخص شود، libvirt سعی خواهد کرد از guest agent برای فریز کردن و از حالت فریز خارج کردن فایل‌سیستم‌های سوارشدهٔ دامنه استفاده کند. با این حال، اگر دامنه فاقد guest agent باشد، ایجاد چک‌پوینت با شکست مواجه خواهد شد. .sp در حال حاضر، امکان ایجاد چک‌پوینت در دامنه‌ای که دارای اسنپ‌شات است وجود ندارد، اگرچه این محدودیت در انتشار‌های آینده برداشته خواهد شد..SS checkpoint\-edit .sp \fBنحو:\fP .INDENT 0.0 .INDENT 3.5 .sp .EX checkpoint\-edit domain checkpointname .EE .UNINDENT .UNINDENT .sp فایل پیکربندی XML مربوط به \fIcheckpointname\fP یک domain را ویرایش می‌کند. .sp این معادل است با: .INDENT 0.0 .INDENT 3.5 .sp .EX virsh checkpoint\-dumpxml dom name > checkpoint.xml vi checkpoint.xml (or make changes with your other text editor) virsh checkpoint\-create dom checkpoint.xml \-\-redefine .EE .UNINDENT .UNINDENT .sp با این تفاوت که برخی بررسی‌های خطا را انجام می‌دهد، از جمله اینکه ویرایش‌ها نباید تلاشی برای تغییر دادن نام checkpoint باشند. .sp ویرایشگر مورداستفاده می‌تواند توسط متغیرهای محیطی \fB$VISUAL\fP یا \fB$EDITOR\fP مشخص شود، و به‌طور پیش‌فرض \fBvi\fP\& است. .SS checkpoint\-info .sp \fBنحو:\fP .INDENT 0.0 .INDENT 3.5 .sp .EX checkpoint\-info domain checkpoint .EE .UNINDENT .UNINDENT .sp نمایش اطلاعات پایه‌ای درباره یک مشخص‌شده. .SS checkpoint\-list .sp \fBنحو:\fP .INDENT 0.0 .INDENT 3.5 .sp .EX checkpoint\-list domain [{\-\-parent | \-\-roots | [{\-\-tree | \-\-name}]}] [\-\-topological] [[\-\-from] checkpoint | [\-\-descendants]] [\-\-leaves] [\-\-no\-leaves] .EE .UNINDENT .UNINDENT .sp تمام checkpointهای در دسترس برای domain داده‌شده را فهرست می‌کند، که به‌طور پیش‌فرض ستون‌هایی را برای نام checkpoint و زمان ایجاد آن نمایش می‌دهد. .sp به‌طور معمول، خروجی جدولی بر اساس نام checkpoint مرتب می‌شود؛ استفاده از \fI\-\-topological\fP در عوض آن را به‌گونه‌ای مرتب می‌کند که هیچ فرزندی قبل از نیاکان خود فهرست نشود (اگرچه ممکن است بیش از یک ترتیب ممکن با این ویژگی وجود داشته باشد). .sp اگر \fI\-\-parent\fP مشخص شود، ستونی به جدول خروجی اضافه می‌کند که نام والد هر checkpoint را نمایش می‌دهد. اگر \fI\-\-roots\fP مشخص شود، فهرست تنها به checkpointهایی فیلتر می‌شود که هیچ والدی ندارند. اگر \fI\-\-tree\fP مشخص شود، خروجی در قالب درختی خواهد بود و تنها نام checkpointها را فهرست می‌کند. این سه گزینه مانعة‌الجمع هستند. .sp اگر \fI\-\-name\fP مشخص شود تنها نام checkpoint چاپ می‌شود و در صورتی که \fI\-\-parent\fP نیز به کار رود، نام والد checkpoint که با tab جدا شده است نیز به دنبال آن می‌آید. این گزینه با \fI\-\-tree\fP\& مانعة‌الجمع است. .sp اگر \fI\-\-from\fP ارائه شود، فهرست را به checkpointهایی که فرزندان \fBcheckpoint\fP داده‌شده هستند فیلتر می‌کند. هنگامی که به‌تنهایی یا همراه با \fI\-\-parent\fP استفاده شود، فهرست به فرزندان مستقیم محدود می‌شود مگر اینکه \fI\-\-descendants\fP نیز حضور داشته باشد. در صورت استفاده با \fI\-\-tree\fP، استفاده از \fI\-\-descendants\fP ضمنی خواهد بود. این گزینه با \fI\-\-roots\fP\& سازگار نیست. توجه داشته باشید که نقطه شروع \fI\-\-from\fP در فهرست گنجانده نمی‌شود مگر اینکه گزینه \fI\-\-tree\fP نیز ارائه شده باشد. .sp اگر \fI\-\-leaves\fP مشخص شود، فهرست تنها به checkpointهایی که فرزندی ندارند فیلتر می‌شود. به همین ترتیب، اگر \fI\-\-no\-leaves\fP مشخص شود، فهرست تنها به checkpointهایی دارای فرزند فیلتر خواهد شد. (توجه داشته باشید که نادیده گرفتن هر دو گزینه هیچ فیلتری اعمال نمی‌کند، در حالی که ارائه هر دو گزینه بسته به اینکه سرور پرچم‌ها را تشخیص می‌دهد یا خیر، منجر به همان فهرست یا خطا می‌شود). گزینه‌های فیلترسازی با \fI\-\-tree\fP\& سازگار نیستند..SS checkpoint\-dumpxml .sp \fBنحو:\fP .INDENT 0.0 .INDENT 3.5 .sp .EX checkpoint\-dumpxml [\-\-security\-info] [\-\-no\-domain] [\-\-size] [\-\-xpath EXPRESSION] [\-\-wrap] domain checkpoint .EE .UNINDENT .UNINDENT .sp خروجی دادن XML نقطهٔ بازرسی برای نقطهٔ بازرسی دامنه به نام \fIcheckpoint\fP\&. استفاده از \fI\-\-security\-info\fP اطلاعات حساس امنیتی را نیز شامل خواهد کرد. .sp استفاده از \fI\-\-size\fP یک XML اضافه می‌کند که اندازهٔ فعلی داده‌های تغییریافتهٔ سیستم‌عامل میهمان از زمان ایجاد نقطهٔ بازرسی را بر حسب بایت نشان می‌دهد (اگرچه به یاد داشته باشید که فعالیت سیستم‌عامل میهمان میان بررسی اندازه و ایجاد واقعی نسخهٔ پشتیبان می‌تواند منجر به نیاز پشتیبان به فضای کمی بیشتر شود). توجه داشته باشید که برخی از هایپروایزرها ممکن است هنگام استفاده از \fI\-\-size\fP نیازمند در حال اجرا بودن \fIdomain\fP باشند. .sp استفاده از \fI\-\-no\-domain\fP عنصر را برای داشتن نمایی فشرده‌تر از خروجی حذف می‌کند. .sp اگر آرگومان \fB\-\-xpath\fP یک عبارت XPath ارائه دهد، این عبارت روی خروجی XML ارزیابی شده و تنها گره‌های منطبق چاپ خواهند شد. رفتار پیش‌فرض چاپ هر گره منطبق به عنوان یک سند مستقل است، با این حال برای سهولت در پردازش‌های بیشتر، آرگومان \fB\-\-wrap\fP باعث می‌شود که گره‌های منطبق درون یک گره ریشهٔ مشترک قرار گیرند. .SS checkpoint\-parent .sp \fBنحو:\fP .INDENT 0.0 .INDENT 3.5 .sp .EX checkpoint\-parent domain checkpoint .EE .UNINDENT .UNINDENT .sp خروجی دادن نام نقطهٔ بازرسی والد (در صورت وجود) برای \fIcheckpoint\fP داده‌شده. .SS checkpoint\-delete .sp \fBنحو:\fP .INDENT 0.0 .INDENT 3.5 .sp .EX checkpoint\-delete domain checkpoint [\-\-metadata] [{\-\-children | \-\-children\-only}] .EE .UNINDENT .UNINDENT .sp حذف نقطهٔ بازرسی برای دامنه به نام \fIcheckpoint\fP\&. سابقهٔ اینکه کدام بخش‌های دیسک از زمان این نقطهٔ بازرسی تغییر کرده‌اند در نقطهٔ بازرسی والد (در صورت وجود) ادغام می‌شوند. اگر \fI\-\-children\fP داده شود، این نقطهٔ بازرسی و تمامی فرزندان آن حذف خواهند شد. اگر \fI\-\-children\-only\fP داده شود، تمامی فرزندان این نقطهٔ بازرسی حذف می‌شوند اما خود این نقطهٔ بازرسی دست‌نخورده باقی می‌ماند. این دو گزینه مانعة‌الجمع هستند. .sp اگر \fI\-\-metadata\fP مشخص شود، تنها فرادادهٔ نقطهٔ بازرسی که توسط libvirt نگهداری می‌شود حذف خواهد شد، در حالی که محتوای نقطهٔ بازرسی برای دسترسی توسط ابزارهای خارجی دست‌نخورده باقی می‌ماند؛ در غیر این صورت حذف یک نقطهٔ بازرسی همچنین قابلیت انجام پشتیبان‌گیری افزایشی از آن نقطهٔ زمانی را از بین می‌برد. .SH "دستورهای NWFILTER (NWFILTER COMMANDS)" .sp دستورهای زیر فیلترهای شبکه را دستکاری می‌کنند. فیلترهای شبکه امکان پالایش ترافیک شبکهٔ ورودی و خروجی ماشین‌های مجازی را فراهم می‌کنند. فیلترهای مجزای ترافیک شبکه با XML نوشته می‌شوند و ممکن است شامل ارجاع به سایر فیلترهای شبکه باشند، قوانین پالایش ترافیک را شرح دهند، یا هر دو را در بر داشته باشند. فیلترهای شبکه از درون توصیف رابط شبکهٔ ماشین‌های مجازی ارجاع داده می‌شوند. یک فیلتر شبکه می‌تواند توسط رابط‌های چندین ماشین مجازی مورد ارجاع قرار گیرد..SS nwfilter\-define .sp \fBنحو:\fP .INDENT 0.0 .INDENT 3.5 .sp .EX nwfilter\-define xmlfile [\-\-validate] .EE .UNINDENT .UNINDENT .sp معرفی یک فیلتر شبکهٔ جدید به libvirt. اگر فیلتر شبکه‌ای با همین نام از قبل وجود داشته باشد، با XML جدید جایگزین خواهد شد. قوانین ترافیک شبکهٔ هر ماشین مجازی در حال اجرایی که به این فیلتر شبکه ارجاع می‌دهد، منطبق خواهد شد. اگر به هر دلیلی قوانین فیلتر ترافیک شبکه نتوانند توسط هر یک از ماشین‌های مجازی در حال اجرا نمونه‌سازی (instantiate) شوند، XML جدید رد خواهد شد. .sp به‌صورت اختیاری، ساختار فایل XML ورودی می‌تواند با \fI\-\-validate\fP\& در برابر یک شمای RNG داخلی اعتبارسنجی شود. .SS nwfilter\-undefine .sp \fBنحو:\fP .INDENT 0.0 .INDENT 3.5 .sp .EX nwfilter\-undefine nwfilter\-name .EE .UNINDENT .UNINDENT .sp حذف یک فیلتر شبکه. اگر هر ماشین مجازی در حال اجرایی در حال حاضر از این فیلتر شبکه استفاده کند، عملیات حذف با شکست مواجه خواهد شد. .SS nwfilter\-list .sp \fBنحو:\fP .INDENT 0.0 .INDENT 3.5 .sp .EX nwfilter\-list .EE .UNINDENT .UNINDENT .sp فهرست کردن تمام فیلترهای شبکهٔ موجود. .SS nwfilter\-dumpxml .sp \fBنحو:\fP .INDENT 0.0 .INDENT 3.5 .sp .EX nwfilter\-dumpxml [\-\-xpath EXPRESSION] [\-\-wrap] nwfilter\-name .EE .UNINDENT .UNINDENT .sp نمایش خروجی XML فیلتر شبکه. .sp اگر آرگومان \fB\-\-xpath\fP یک عبارت XPath را ارائه دهد، روی خروجی XML ارزیابی شده و تنها گره‌های منطبق چاپ خواهند شد. رفتار پیش‌فرض چاپ هر گرهٔ منطبق به عنوان یک سند مستقل است؛ با این حال، جهت سهولت در پردازش‌های بعدی، آرگومان \fB\-\-wrap\fP باعث می‌شود که گره‌های منطبق درون یک گرهٔ ریشهٔ مشترک قرار گیرند. .SS nwfilter\-edit .sp \fBنحو:\fP .INDENT 0.0 .INDENT 3.5 .sp .EX nwfilter\-edit nwfilter\-name .EE .UNINDENT .UNINDENT .sp ویرایش XML یک فیلتر شبکه. .sp این دستور معادل است با: .INDENT 0.0 .INDENT 3.5 .sp .EX virsh nwfilter\-dumpxml myfilter > myfilter.xml vi myfilter.xml (or make changes with your other text editor) virsh nwfilter\-define myfilter.xml .EE .UNINDENT .UNINDENT .sp با این تفاوت که بررسی‌هایی برای بروز خطا انجام می‌دهد. فیلتر شبکهٔ جدید ممکن است به دلایلی مشابه آنچه در \fInwfilter\-define\fP\& ذکر شد رد شود. .sp ویرایشگرِ مورد استفاده می‌تواند توسط متغیرهای محیطی \fB$VISUAL\fP یا \fB$EDITOR\fP تعیین شود، و پیش‌فرض آن \fBvi\fP\& است..SH "دستورهای اتصال فیلتر شبکه (NWFILTER BINDING COMMANDS)" .sp دستورهای زیر اتصالات فیلتر شبکه را مدیریت می‌کنند. اتصالات فیلتر شبکه، ارتباط میان یک پورت شبکه و یک فیلتر شبکه را دنبال می‌کنند. به‌طور کلی این اتصالات هنگام افزودن یا حذف کارت‌های شبکه (NIC) در یک ماشین مهمان، به‌صورت خودکار توسط درایورهای هایپروایزر مدیریت می‌شوند. .sp با این حال، اگر مدیری در حال ایجاد یا حذف دستگاه‌های TAP برای کاربردهایی غیر از ماشین مهمان باشد، دستورهای اتصال فیلتر شبکه راهکاری را برای بهره‌گیری مستقیم از فیلترهای شبکه فراهم می‌کنند. .SS nwfilter\-binding\-create .sp \fBنحو:\fP .INDENT 0.0 .INDENT 3.5 .sp .EX nwfilter\-binding\-create xmlfile [\-\-validate] .EE .UNINDENT .UNINDENT .sp یک پورت شبکه را با یک فیلتر شبکه مرتبط می‌کند. پشتیبان فیلتر شبکه بلافاصله تلاش خواهد کرد تا قوانین فیلتر را روی پورت پیاده‌سازی کند. این دستور می‌تواند برای مرتبط ساختن یک فیلتر با یک مهمانِ در حال اجرا استفاده شود که فیلتری برای یک پورت شبکه خاص آن تعریف نشده است. از آن‌جا که اتصالات عموماً به‌طور خودکار توسط هایپروایزر مدیریت می‌شوند، استفاده از این دستور برای تعریف یک فیلتر برای یک پورت شبکه و سپس راه‌اندازی مهمان پس از آن، ممکن است مانع از شروع به کار مهمان شود اگر تلاش کند از پورت شبکه استفاده کرده و ببیند فیلتری از پیش برای آن تعریف شده است. .sp به‌صورت اختیاری، می‌توان قالب فایل XML ورودی را با استفاده از \fI\-\-validate\fP در برابر یک شِمای داخلی RNG اعتبارسنجی کرد. .SS nwfilter\-binding\-delete .sp \fBنحو:\fP .INDENT 0.0 .INDENT 3.5 .sp .EX nwfilter\-binding\-delete port\-name .EE .UNINDENT .UNINDENT .sp ارتباط یک پورت شبکه را از یک فیلتر شبکه قطع می‌کند. پشتیبان فیلتر شبکه بلافاصله قوانین فیلتر موجود روی پورت را حذف می‌کند. از این دستور می‌توان برای حذف اتصال پورت شبکه برای فیلتری که در حال حاضر توسط ماشین مهمان استفاده می‌شود، در زمان روشن بودن مهمان و بدون نیاز به راه‌اندازی مجدد آن بهره برد. بازگرداندن فیلتر اتصال پورت شبکه برای مهمان در حال اجرا با استفاده از \fInwfilter\-binding\-create\fP انجام خواهد شد. .SS nwfilter\-binding\-list .sp \fBنحو:\fP .INDENT 0.0 .INDENT 3.5 .sp .EX nwfilter\-binding\-list .EE .UNINDENT .UNINDENT .sp فهرست کردن تمام پورت‌های شبکه‌ای که فیلترهایی به آن‌ها متصل شده است. .SS nwfilter\-binding\-dumpxml .sp \fBنحو:\fP .INDENT 0.0 .INDENT 3.5 .sp .EX nwfilter\-binding\-dumpxml [\-\-xpath EXPRESSION] [\-\-wrap] port\-name .EE .UNINDENT .UNINDENT .sp نمایش خروجی XML مربوط به اتصال فیلتر شبکه برای دستگاه شبکه‌ای به نام \fBport\-name\fP\&. .sp اگر آرگومان \fB\-\-xpath\fP یک عبارت XPath را مشخص کند، این عبارت در برابر خروجی XML ارزیابی شده و فقط گره‌های منطبق چاپ خواهند شد. رفتار پیش‌فرض این است که هر گره منطبق به‌عنوان یک سند مستقل چاپ شود؛ با این حال، برای سهولت در پردازش‌های بعدی، آرگومان \fB\-\-wrap\fP باعث می‌شود که گره‌های منطبق در یک گره ریشه مشترک قرار گیرند..SH "دستورهای ویژهٔ ناظر مجازی (HYPERVISOR-SPECIFIC COMMANDS)" .sp نکته: استفاده از دستورهای زیر \fBاکیداً\fP منع شده است. این دستورها می‌توانند باعث سردرگمی libvirt شده و در عملیات‌های بعدی به رفتارهای نادرست منجر گردند. چنانچه از این دستورها استفاده کردید، لطفاً مشکلات رخ‌داده را به توسعه‌دهندگان libvirt گزارش ندهید؛ به این گزارش‌ها ترتیب اثر داده نخواهد شد. اگر دریافتید که این دستورها تنها راه دستیابی به مقصود شما هستند، بهتر است درخواست کنید که این قابلیت به‌عنوان یک ویژگی رسمی و درجه‌یک به کتابخانهٔ استاندارد libvirt افزوده شود. .SS qemu\-attach .sp \fBساختار:\fP .INDENT 0.0 .INDENT 3.5 .sp .EX qemu\-attach pid .EE .UNINDENT .UNINDENT .sp یک فرایند QEMU که به‌طور جداگانه اجرا شده است را به راه‌انداز QEMU در libvirt متصل می‌کند. فرایند QEMU باید با یک اتصال مانیتور از طریق راه‌انداز UNIX ایجاد شده باشد. در حالت ایدئال، این فرایند باید با آرگومان \(aq\-name\(aq نیز اجرا شده باشد. .INDENT 0.0 .INDENT 3.5 .sp .EX $ qemu\-kvm \-cdrom ~/demo.iso \e \-monitor unix:/tmp/demo,server,nowait \e \-name foo \e \-uuid cece4f9f\-dff0\-575d\-0e8e\-01fe380f12ea & $ QEMUPID=$! $ virsh qemu\-attach $QEMUPID .EE .UNINDENT .UNINDENT .sp انتظار نمی‌رود پس از اتصال به یک فرایند QEMU که از خارج راه‌اندازی شده، همهٔ توابع libvirt به‌درستی و پایدار کار کنند. ممکن است در مهاجرت ماشین با تغییر ABI مهمان مشکلاتی ایجاد شود و اتصال یا انفصال گرم قطعات (hotplug یا hotunplug) کار نکند. محیط متصل‌شده باید در وهلهٔ نخست صرفاً خواندنی در نظر گرفته شود. .SS qemu\-monitor\-command .sp \fBساختار:\fP .INDENT 0.0 .INDENT 3.5 .sp .EX qemu\-monitor\-command domain { [\-\-hmp] | [\-\-pretty] [\-\-return\-value] } [\-\-pass\-fds N,M,...] command... .EE .UNINDENT .UNINDENT .sp یک دستور مانیتور دلخواه \fIcommand\fP را از طریق مانیتور QEMU به دامنهٔ \fIdomain\fP ارسال می‌کند. نتایج دستور در stdout چاپ خواهد شد. .sp اگر بیش از یک آرگومان برای \fIcommand\fP وارد شود، قبل از ارسال این دستورِ واحد به مانیتور، آرگومان‌ها با یک فاصله در میانشان به یکدیگر الحاق می‌شوند. .sp توجه داشته باشید که libvirt برای ارتباط با qemu از QMP استفاده می‌کند، بنابراین \fIcommand\fP برای عملکرد صحیح باید یک JSON معتبر در قالب QMP باشد. اگر \fIcommand\fP یک شیء JSON نباشد، libvirt تلاش می‌کند تا آن را درون یک شیء JSON بسته‌بندی کند تا رابط کاربری ساده‌تری فراهم شود؛ مانند این گروه‌های دستوری با رفتار یکسان: .INDENT 0.0 .INDENT 3.5 .sp .EX # simple command $ virsh qemu\-monitor\-command VM commandname $ virsh qemu\-monitor\-command VM \(aq{\(dqexecute\(dq:\(dqcommandname\(dq}\(aq # with arguments $ virsh qemu\-monitor\-command VM commandname \(aq\(dqarg1\(dq:123\(aq \(aq\(dqarg2\(dq:\(dqtest\(dq\(aq $ virsh qemu\-monitor\-command VM commandname \(aq{\(dqarg1\(dq:123,\(dqarg2\(dq:\(dqtest\(dq}\(aq $ virsh qemu\-monitor\-command VM \(aq{\(dqexecute\(dq:\(dqcommandname\(dq, \(dqarguments\(dq:{\(dqarg1\(dq:123,\(dqarg2\(dq:\(dqtest\(dq}}\(aq .EE .UNINDENT .UNINDENT .sp اگر \fI\-\-pretty\fP داده شود، پاسخ QMP به‌صورت خوانا و زیبا چاپ می‌شود (pretty\-printed). .sp اگر \fI\-\-return\-value\fP داده شود، به جای نمایش پاسخ کاملِ ارسالی از QEMU، فقط کلید \(aqreturn\(aq از شیء پاسخ QMP استخراج و نمایش داده می‌شود. .sp اگر \fI\-\-hmp\fP ارسال شود، دستور به عنوان یک دستورِ Human Monitor در نظر گرفته می‌شود و libvirt به‌طور خودکار آن را به QMP تبدیل کرده و خروجی را نیز مجدداً بازمی‌گرداند. .sp اگر \fI\-\-pass\-fds\fP مشخص شده باشد، آرگومان آن فهرستی از توصیف‌کننده‌های فایل (file descriptors) باز است که با کاما از هم جدا شده‌اند و باید همراه با دستور به qemu فرستاده شوند..SS qemu\-agent\-command .sp \fBنحو:\fP .INDENT 0.0 .INDENT 3.5 .sp .EX qemu\-agent\-command domain [\-\-timeout seconds | \-\-async | \-\-block] command... .EE .UNINDENT .UNINDENT .sp ارسال یک دستور دلخواه عامل مهمان \fIcommand\fP به دامنهٔ \fIdomain\fP از طریق QEMU agent. گزینه‌های \fI\-\-timeout\fP، \fI\-\-async\fP و \fI\-\-block\fP مانعة‌الجمع هستند. گزینهٔ \fI\-\-timeout\fP نیازمند مقدار زمان بر حسب ثانیه در \fIseconds\fP است و مقدار آن باید مثبت باشد. هنگامی که \fI\-\-async\fP داده شود، دستور چه در صورت موفقیت و چه شکست، تا پایان مهلت زمانی منتظر می‌ماند. و هنگامی که \fI\-\-block\fP مشخص شود، دستور با مهلت زمانی مسدودکننده برای همیشه منتظر می‌ماند. .SS qemu\-monitor\-event .sp \fBنحو:\fP .INDENT 0.0 .INDENT 3.5 .sp .EX qemu\-monitor\-event [domain] [\-\-event event\-name] [\-\-loop] [\-\-timeout seconds] [\-\-pretty] [\-\-regex] [\-\-no\-case] [\-\-timestamp] .EE .UNINDENT .UNINDENT .sp منتظر رخداد رویدادهای دلخواه پایشگر QEMU می‌ماند و جزئیات رویدادها را به محض وقوع چاپ می‌کند. رویدادها می‌توانند به طور اختیاری بر اساس \fIdomain\fP یا \fIevent\-name\fP فیلتر شوند. از دستور QMP با نام \(aqquery\-events\(aq می‌توان از طریق \fIqemu\-monitor\-command\fP استفاده کرد تا مشخص شود چه رویدادهایی پشتیبانی می‌شوند. اگر از \fI\-\-regex\fP استفاده شود، \fIevent\-name\fP به جای یک رشتهٔ دقیق، یک عبارت منظم پایه خواهد بود. اگر از \fI\-\-no\-case\fP استفاده شود، \fIevent\-name\fP بدون حساسیت به بزرگی و کوچکی حروف تطبیق داده خواهد شد. .sp به طور پیش‌فرض، این دستور تک‌مرحله‌ای (one\-shot) است و پس از وقوع یک رویداد با موفقیت خاتمه می‌یابد؛ می‌توانید SIGINT را (معمولاً از طریق \fBCtrl\-C\fP) ارسال کنید تا فوراً خارج شوید. اگر \fI\-\-timeout\fP مشخص شده باشد، دستور پس از سپری شدن \fIseconds\fP از انتظار برای رویدادها دست می‌کشد. با \fI\-\-loop\fP، دستور تا زمان پایان مهلت زمانی یا فشرده شدن کلید وقفه، تمام رویدادها را چاپ می‌کند. اگر \fI\-\-pretty\fP مشخص شده باشد، هرگونه جزئیات رویداد JSON برای خوانایی بهتر با آرایش زیبا چاپ می‌شود. .sp هنگامی که از \fI\-\-timestamp\fP استفاده شود، یک برچسب زمانی خوانا برای انسان پیش از رویداد چاپ خواهد شد و اطلاعات زمان‌بندی ارائه‌شده توسط QEMU حذف می‌شود. .SS lxc\-enter\-namespace .sp \fBنحو:\fP .INDENT 0.0 .INDENT 3.5 .sp .EX lxc\-enter\-namespace domain [\-\-noseclabel] \-\- /path/to/binary [arg1, [arg2, ...]] .EE .UNINDENT .UNINDENT .sp وارد فضای نام (namespace) دامنهٔ \fIdomain\fP شده و دستور \fB/path/to/binary\fP را با ارسال آرگومان‌های درخواست‌شده اجرا می‌کند. مسیر باینری نسبت به سیستم‌فایل ریشهٔ کانتینر است، نه سیستم‌فایل ریشهٔ میزبان. باینری متغیرهای محیطی / کنسول قابل مشاهده برای virsh را به ارث می‌برد. دستور با همان بافتار sVirt و جایابی cgroups مربوط به فرآیندهای درون کانتینر اجرا خواهد شد. این دستور فقط زمانی کار می‌کند که به راه‌انداز ناظر مجازی LXC متصل باشد. این دستور تنها در صورتی با موفقیت پایان می‌یابد که \fB/path/to/binary\fP وضعیت خروج 0 داشته باشد. .sp به طور پیش‌فرض، فرآیند جدید با برچسب امنیتی کانتینر والد جدید اجرا خواهد شد. از گزینهٔ \fI\-\-noseclabel\fP استفاده کنید تا در عوض، فرآیند همان برچسب امنیتی \fBvirsh\fP را حفظ کند. .SH "محیط (ENVIRONMENT)" .sp متغیرهای محیطی زیر را می‌توان برای تغییر رفتار \fBvirsh\fP تنظیم کرد: .INDENT 0.0 .IP \(bu 2 VIRSH_DEBUG=<0 to 4> .sp فعال‌سازی اشکال‌زدایی پرگو برای دستورهای virsh. سطوح معتبر عبارتند از: .INDENT 2.0 .IP \(bu 2 VIRSH_DEBUG=0 .sp DEBUG \- پیام‌ها در تمامی سطوح ثبت می‌شوند .IP \(bu 2 VIRSH_DEBUG=1 .sp INFO \- پیام‌ها در سطوح INFO، NOTICE، WARNING و ERROR ثبت می‌شوند .IP \(bu 2 VIRSH_DEBUG=2 .sp NOTICE \- پیام‌ها در سطوح NOTICE، WARNING و ERROR ثبت می‌شوند .IP \(bu 2 VIRSH_DEBUG=3 .sp WARNING \- پیام‌ها در سطوح WARNING و ERROR ثبت می‌شوند .IP \(bu 2 VIRSH_DEBUG=4 .sp ERROR \- تنها پیام‌ها در سطح ERROR ثبت می‌شوند. .UNINDENT .IP \(bu 2 VIRSH_LOG_FILE=\(ga\(gaLOGFILE\(ga\(ga .sp فایلی برای ثبت پیام‌های اشکال‌زدایی virsh. .IP \(bu 2 VIRSH_DEFAULT_CONNECT_URI .sp ناظر مجازی برای اتصال پیش‌فرض. این متغیر را روی یک URI با همان قالبی که توسط گزینهٔ \fBconnect\fP پذیرفته می‌شود تنظیم کنید. این متغیر محیطی منسوخ شده و متغیر سراسری \fBLIBVIRT_DEFAULT_URI\fP که هدف مشابهی دارد جایگزین آن شده است. .IP \(bu 2 LIBVIRT_DEFAULT_URI .sp ناظر مجازی برای اتصال پیش‌فرض. این متغیر را روی یک URI با همان قالبی که توسط گزینهٔ \fBconnect\fP پذیرفته می‌شود تنظیم کنید. این متغیر بر URI پیش‌فرض تنظیم‌شده در هر فایل پیکربندی کلاینت ارجحیت دارد و از کاوش libvirt برای یافتن راه‌اندازها جلوگیری می‌کند. .IP \(bu 2 VISUAL .sp ویرایشگری که توسط گزینهٔ \fBedit\fP و گزینه‌های مرتبط استفاده می‌شود. .IP \(bu 2 EDITOR .sp ویرایشگری که در صورت تنظیم نبودن \fBVISUAL\fP، توسط گزینهٔ \fBedit\fP و گزینه‌های مرتبط استفاده می‌شود. .IP \(bu 2 VIRSH_HISTSIZE .sp تعداد دستورهایی که باید در تاریخچهٔ دستورها ذخیره شوند. مقدار پیش‌فرض 500 است. .IP \(bu 2 LIBVIRT_DEBUG=LEVEL .sp فعال‌سازی اشکال‌زدایی پرگو برای تمامی فراخوانی‌های API در libvirt. سطوح معتبر عبارتند از: .INDENT 2.0 .IP \(bu 2 LIBVIRT_DEBUG=1 .sp پیام‌ها در سطح DEBUG یا بالاتر .IP \(bu 2 LIBVIRT_DEBUG=2 .sp پیام‌ها در سطح INFO یا بالاتر .IP \(bu 2 LIBVIRT_DEBUG=3 .sp پیام‌ها در سطح WARNING یا بالاتر .IP \(bu 2 LIBVIRT_DEBUG=4 .sp پیام‌ها در سطح ERROR .UNINDENT .UNINDENT .sp برای اطلاعات بیشتر دربارهٔ گزینه‌های اشکال‌زدایی به نشانی زیر مراجعه کنید: \%.SH "گزارش باگ‌ها (BUGS)" .sp لطفاً تمام باگ‌هایی را که پیدا می‌کنید گزارش دهید. این کار باید از طریق یکی از روش‌های زیر انجام شود: .INDENT 0.0 .IP 1. 3 فهرست پستی .sp \% .IP 2. 3 ردیاب باگ .sp \% .UNINDENT .sp همچنین می‌توانید باگ‌ها را به توزیع‌کننده یا ارائه‌دهنده نرم‌افزار خود گزارش دهید. .SH "نویسندگان (AUTHORS)" .sp لطفاً به فایل AUTHORS توزیع‌شده به همراه libvirt مراجعه کنید. .SH "کپی‌رایت و تکثیر (COPYRIGHT)" .sp حق نشر (C) 2005, 2007\-2015 متعلق به Red Hat, Inc. و نویسندگان فهرست‌شده در فایل AUTHORS نرم‌افزار libvirt است. .SH "مجوز (LICENSE)" .sp برنامه \fBvirsh\fP تحت شرایط مجوز GNU LGPL v2+ توزیع شده است. این نرم‌افزار آزاد است؛ برای شرایط رونوشت‌برداری به کد منبع مراجعه کنید. هیچ ضمانتی وجود ندارد؛ حتی برای قابلیت فروش یا تناسب با یک هدف خاص. .SH "همچنین ببینید (SEE ALSO)" .sp virt\-install(1), virt\-xml\-validate(1), virt\-top(1), virt\-df(1), \% .\" End of generated man page.