.\" 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 "QEMU-STORAGE-DAEMON" "1" "Aug 28, 2026" "11.1.1" "QEMU" .SH "نام (NAME)" qemu-storage-daemon \- دیمن ذخیره‌سازی QEMU .SH "خلاصه دستور (SYNOPSIS)" .sp \fBqemu\-storage\-daemon\fP [گزینه‌ها] .SH "توضیحات (DESCRIPTION)" .sp ابزار \fBqemu\-storage\-daemon\fP قابلیت‌های تصویر دیسک را از QEMU، \fBqemu\-img\fP و \fBqemu\-nbd\fP در قالب یک فرایند طولانی‌مدت فراهم می‌کند که از طریق دستورات QMP و بدون نیاز به اجرای یک ماشین مجازی کنترل می‌شود. این ابزار می‌تواند تصاویر دیسک را برون‌ریزی (export) کند، عملیات کارهای بلوکی را اجرا نماید، و سایر عملیات مربوط به دیسک را انجام دهد. این دیمن از طریق یک دیده‌بان (monitor) پروتکل QMP و پیکربندی اولیه از خط فرمان کنترل می‌شود. .sp این دیمن زیرمجموعه زیر از ویژگی‌های QEMU را ارائه می‌دهد: .INDENT 0.0 .IP \(bu 2 گره‌های بلوکی (Block nodes) .IP \(bu 2 کارهای بلوکی (Block jobs) .IP \(bu 2 برون‌ریزی‌های بلوکی (Block exports) .IP \(bu 2 گروه‌های کنترل نرخ (Throttle groups) .IP \(bu 2 دستگاه‌های نویسه‌ای (Character devices) .IP \(bu 2 رمزنگاری و اسرار (Crypto and secrets) .IP \(bu 2 پروتکل QMP .IP \(bu 2 رشته‌های ورودی/خروجی (IOThreads) .UNINDENT .sp دستورات را می‌توان از طریق یک اتصال پروتکل دیده‌بان QEMU (یا همان QMP) ارسال کرد. برای شرح دستورات، صفحه راهنمای \fBqemu\-storage\-daemon\-qmp\-ref(7)\fP را ببینید. .sp این دیمن تا زمانی که با استفاده از دستور QMP با نام \fBquit\fP یا سیگنال‌های SIGINT/SIGHUP/SIGTERM متوقف شود، به کار خود ادامه می‌دهد. .sp \fBهشدار:\fP هرگز تصاویری را که توسط یک ماشین مجازی در حال اجرا یا هر فرایند دیگری استفاده می‌شوند تغییر ندهید؛ این کار ممکن است تصویر دیسک را تخریب کند. همچنین، آگاه باشید که پرس‌وجو از تصویری که توسط فرایند دیگری در حال تغییر است، ممکن است با وضعیتی ناسازگار مواجه شود. .SH "گزینه‌ها (OPTIONS)" .sp گزینه‌های استاندارد: .INDENT 0.0 .TP .B \-h, \-\-help نمایش راهنما و خروج .UNINDENT .INDENT 0.0 .TP .B \-V, \-\-version نمایش اطلاعات نسخه و خروج .UNINDENT .INDENT 0.0 .TP .B \-T, \-\-trace [[enable=]PATTERN][,events=FILE][,file=FILE] مشخص کردن گزینه‌های ردگیری (tracing). .sp \fB[enable=]PATTERN\fP .INDENT 7.0 .INDENT 3.5 رویدادهای منطبق با \fIPATTERN\fP (نام یک رویداد یا یک الگوی تطبیق globbing) را فوراً فعال می‌کند. این گزینه تنها در صورتی در دسترس است که QEMU با یکی از پس‌زمینه‌های ردگیری \fBsimple\fP، \fBlog\fP یا \fBftrace\fP کامپایل شده باشد. برای تعیین چندین رویداد یا الگو، گزینه \fB\-trace\fP را چندین بار مشخص کنید. .sp از \fB\-trace help\fP برای چاپ فهرستی از نام‌های نقاط ردگیری استفاده کنید. .UNINDENT .UNINDENT .sp \fBevents=FILE\fP .INDENT 7.0 .INDENT 3.5 رویدادهای فهرست‌شده در \fIFILE\fP\& را فوراً فعال می‌کند. فایل باید در هر خط شامل یک نام رویداد (همان‌طور که در فایل \fBtrace\-events\-all\fP فهرست شده) باشد؛ الگوهای globbing نیز پذیرفته می‌شوند. این گزینه تنها در صورتی در دسترس است که QEMU با پس‌زمینه ردگیری \fBsimple\fP، \fBlog\fP یا \fBftrace\fP کامپایل شده باشد. .UNINDENT .UNINDENT .sp \fBfile=FILE\fP .INDENT 7.0 .INDENT 3.5 خروجی‌های ردگیری را در \fIFILE\fP\& ثبت (log) می‌کند. این گزینه تنها در صورتی در دسترس است که QEMU با پس‌زمینه ردگیری \fBsimple\fP کامپایل شده باشد. .UNINDENT .UNINDENT .UNINDENT .INDENT 0.0 .TP .B \-\-blockdev BLOCKDEVDEF یک تعریف گره بلوکی است. برای شرح ویژگی‌های گره بلوکی صفحه راهنمای \fBqemu(1)\fP و برای شرح پارامترهای مختص درایور صفحه راهنمای \fBqemu\-block\-drivers(7)\fP را ببینید. .UNINDENT .INDENT 0.0 .TP .B \-\-chardev CHARDEVDEF یک تعریف دستگاه نویسه‌ای است. برای شرح ویژگی‌های دستگاه نویسه‌ای صفحه راهنمای \fBqemu(1)\fP را ببینید. یک تعریف متداول دستگاه نویسه‌ای، یک سوکت دامنه یونیکس (UNIX domain socket) را پیکربندی می‌کند: .INDENT 7.0 .INDENT 3.5 .sp .EX \-\-chardev socket,id=char1,path=/var/run/qsd\-qmp.sock,server=on,wait=off .EE .UNINDENT .UNINDENT .UNINDENT .INDENT 0.0 .TP .B \-\-export [type=]nbd,id=,node\-name=[,name=][,writable=on|off][,bitmap=] .TP .B \-\-export [type=]vhost\-user\-blk,id=,node\-name=,addr.type=unix,addr.path=[,writable=on|off][,logical\-block\-size=][,num\-queues=] .TP .B \-\-export [type=]vhost\-user\-blk,id=,node\-name=,addr.type=fd,addr.str=[,writable=on|off][,logical\-block\-size=][,num\-queues=] .TP .B \-\-export [type=]fuse,id=,node\-name=,mountpoint=[,growable=on|off][,writable=on|off][,allow\-other=on|off|auto] .TP .B \-\-export [type=]vduse\-blk,id=,node\-name=,name=[,writable=on|off][,num\-queues=][,queue\-size=][,logical\-block\-size=][,serial=] یک تعریف برون‌ریزی بلوکی است. \fBnode\-name\fP گره بلوکی است که باید برون‌ریزی شود. \fBwritable\fP مشخص می‌کند که آیا برون‌ریزی اجازه درخواست‌های نوشتن برای تغییر داده را می‌دهد یا خیر (پیش‌فرض off است). .sp نوع برون‌ریزی \fBnbd\fP نیازمند \fB\-\-nbd\-server\fP است (در زیر ببینید). \fBname\fP نام برون‌ریزی NBD است (اگر مشخص نشود، مقدار پیش‌فرض آن همان \fBnode\-name\fP داده‌شده خواهد بود). \fBbitmap\fP نام یک نگاشت بیتی کثیف (dirty bitmap) قابل دسترس از گره بلوکی است، تا کلاینت NBD بتواند از NBD_OPT_SET_META_CONTEXT همراه با نام زمینه فراداده \(dqqemu:dirty\-bitmap:BITMAP\(dq برای بررسی نگاشت بیتی استفاده کند. .sp نوع برون‌ریزی \fBvhost\-user\-blk\fP یک نشانی سوکت vhost\-user را دریافت می‌کند که از طریق آن اتصالات ورودی را می‌پذیرد. هم \fBaddr.type=unix,addr.path=\fP برای سوکت‌های دامنه یونیکس و هم \fBaddr.type=fd,addr.str=\fP برای انتقال توصیف‌گر فایل (file descriptor passing) پشتیبانی می‌شوند. \fBlogical\-block\-size\fP اندازه بلوک منطقی را بر حسب بایت مشخص می‌کند (پیش‌فرض 512 است). \fBnum\-queues\fP تعداد virtqueueها را تنظیم می‌کند (پیش‌فرض 1 است). .sp نوع برون‌ریزی \fBfuse\fP یک نقطه اتصال (mount point) دریافت می‌کند که باید یک فایل معمولی باشد و گره بلوکی مشخص‌شده روی آن برون‌ریزی می‌شود. آن فایل تغییر نخواهد کرد، بلکه تا زمانی که برون‌ریزی فعال است صرفاً به نظر می‌رسد که محتوای گره بلوکی را دارد (دقیقاً مشابه اینکه سوار کردن (mount) یک فایل‌سیستم روی یک دایرکتوری، محتوای آن دایرکتوری را تغییر نمی‌دهد و تنها در زمان سوار بودن فایل‌سیستم محتوای متفاوتی را نشان می‌دهد). در نتیجه، برنامه‌هایی که فایل مورد نظر را قبل از فعال شدن برون‌ریزی باز کرده‌اند، همچنان محتوای اصلی آن را خواهند دید. اگر \fBgrowable\fP تنظیم شده باشد، نوشتن فراتر از انتهای فایل برون‌ریزی‌شده، اندازه گره بلوکی را متناسب با آن افزایش می‌دهد. گزینه \fBallow\-other\fP کنترل می‌کند که آیا کاربرانی غیر از کاربر اجراکننده فرایند مجاز به دسترسی به برون‌ریزی هستند یا خیر. توجه داشته باشید که فعال‌سازی این گزینه به عنوان یک کاربر غیر ریشه (non-root)، نیازمند فعال‌سازی گزینه user_allow_other در فایل پیکربندی سراسری fuse.conf است. تنظیم \fBallow\-other\fP روی auto (پیش‌فرض) سعی در فعال کردن این گزینه دارد و در صورت بروز خطا به غیرفعال کردن آن بازمی‌گردد. .sp نوع برون‌ریزی \fBvduse\-blk\fP یک \fBname\fP (که باید در سراسر میزبان یکتا باشد) را برای ساخت دستگاه VDUSE دریافت می‌کند. \fBnum\-queues\fP تعداد virtqueueها را تنظیم می‌کند (پیش‌فرض 1 است). \fBqueue\-size\fP اندازه جدول توصیف‌گر virtqueue را تنظیم می‌کند (پیش‌فرض 256 است). .sp دستگاه VDUSE ساخته‌شده سپس باید با استفاده از دستور vdpa(8) از پروژه iproute2 به گذرگاه vDPA افزوده شود: .INDENT 7.0 .INDENT 3.5 .sp .EX # vdpa dev add name mgmtdev vduse .EE .UNINDENT .UNINDENT .sp این دستگاه بعداً می‌تواند به شکل زیر از گذرگاه vDPA حذف شود: .INDENT 7.0 .INDENT 3.5 .sp .EX # vdpa dev del .EE .UNINDENT .UNINDENT .sp برای اطلاعات بیشتر در مورد ضمیمه کردن دستگاه‌های vDPA به میزبان با virtio_vdpa.ko یا اتصال آن‌ها به سیستم‌های میهمان با vhost_vdpa.ko، پیوند \%\& را ببینید. .sp برای اطلاعات بیشتر درباره VDUSE، پیوند \%\& را ببینید. .UNINDENT .INDENT 0.0.TP .B \-\-monitor MONITORDEF تعریف یک مانیتور QMP است. برای شرح ویژگی‌های مانیتور QMP به صفحهٔ راهنمای \fBqemu(1)\fP مراجعه کنید. یک تعریف متداول مانیتور QMP، مانیتوری را روی دستگاه نویسه‌ای \fBchar1\fP پیکربندی می‌کند: .INDENT 7.0 .INDENT 3.5 .sp .EX \-\-monitor chardev=char1 .EE .UNINDENT .UNINDENT .UNINDENT .INDENT 0.0 .TP .B \-\-nbd\-server addr.type=inet,addr.host=,addr.port=[,tls\-creds=][,tls\-authz=][,max\-connections=] .TP .B \-\-nbd\-server addr.type=unix,addr.path=[,tls\-creds=][,tls\-authz=][,max\-connections=] .TP .B \-\-nbd\-server addr.type=fd,addr.str=[,tls\-creds=][,tls\-authz=][,max\-connections=] سروری برای برون‌ریزی‌های NBD است. هر دو سوکت TCP و دامنه یونیکس (UNIX domain) پشتیبانی می‌شوند. سوکت شنود (listen socket) می‌تواند از طریق ارسال توصیف‌گر فایل (file descriptor passing) فراهم شود (مثال‌های زیر را ببینید). رمزنگاری TLS را می‌توان با استفاده از اسرار \fB\-\-object\fP tls\-creds\-* و authz\-* پیکربندی کرد (به زیر مراجعه کنید). .sp برای پیکربندی یک سرور NBD روی مسیر سوکت دامنه یونیکس \fB/var/run/qsd\-nbd.sock\fP: .INDENT 7.0 .INDENT 3.5 .sp .EX \-\-nbd\-server addr.type=unix,addr.path=/var/run/qsd\-nbd.sock .EE .UNINDENT .UNINDENT .UNINDENT .INDENT 0.0 .TP .B \-\-object help .TP .B \-\-object ,help .TP .B \-\-object [,=...] تعریف یک شیء قابل ایجاد توسط کاربر در QEMU است. فهرست کردن انواع شیء با \fBhelp\fP و فهرست کردن ویژگی‌های شیء با \fB,help\fP انجام می‌شود. برای شرح ویژگی‌های شیء به صفحهٔ راهنمای \fBqemu(1)\fP مراجعه کنید. .UNINDENT .INDENT 0.0 .TP .B \-\-pidfile PATH مسیر فایلی است که دیمن شناسه فرایند (pid) خود را در آن می‌نویسد. این قابلیت به اسکریپت‌ها اجازه می‌دهد با ارسال یک سیگنال، دیمن را متوقف کنند: .INDENT 7.0 .INDENT 3.5 .sp .EX $ kill \-SIGTERM $(\fP و \fB\-\-export type=vhost\-user\-blk,addr.type=fd,addr.str=\fP نیز کار می‌کند. .sp برون‌ریزی فایل تصویر خام \fBdisk.img\fP روی سوکت دامنه یونیکس NBD به نام \fBnbd.sock\fP: .INDENT 0.0 .INDENT 3.5 .sp .EX $ qemu\-storage\-daemon \e \-\-blockdev driver=file,node\-name=disk,filename=disk.img \e \-\-nbd\-server addr.type=unix,addr.path=nbd.sock \e \-\-export type=nbd,id=export,node\-name=disk,writable=on .EE .UNINDENT .UNINDENT .sp برون‌ریزی یک فایل تصویر qcow2 با نام \fBdisk.qcow2\fP به عنوان یک دستگاه vhost\-user\-blk روی سوکت دامنه یونیکس \fBvhost\-user\-blk.sock\fP: .INDENT 0.0 .INDENT 3.5 .sp .EX $ qemu\-storage\-daemon \e \-\-blockdev driver=file,node\-name=file,filename=disk.qcow2 \e \-\-blockdev driver=qcow2,node\-name=qcow2,file=file \e \-\-export type=vhost\-user\-blk,id=export,addr.type=unix,addr.path=vhost\-user\-blk.sock,node\-name=qcow2 .EE .UNINDENT .UNINDENT .sp برون‌ریزی یک فایل تصویر qcow2 با نام \fBdisk.qcow2\fP از طریق FUSE بر روی خودش، تا بدین ترتیب فایل تصویر دیسک به عنوان یک تصویر خام (raw) ظاهر شود: .INDENT 0.0 .INDENT 3.5 .sp .EX $ qemu\-storage\-daemon \e \-\-blockdev driver=file,node\-name=file,filename=disk.qcow2 \e \-\-blockdev driver=qcow2,node\-name=qcow2,file=file \e \-\-export type=fuse,id=export,node\-name=qcow2,mountpoint=disk.qcow2,writable=on .EE .UNINDENT .UNINDENT.SH "همچنین ببینید (SEE ALSO)" .sp \fBqemu(1)\fP, \fBqemu\-block\-drivers(7)\fP, \fBqemu\-storage\-daemon\-qmp\-ref(7)\fP .SH "کپی‌رایت و تکثیر (COPYRIGHT)" 2026، توسعه‌دهندگان پروژه QEMU .\" End of generated man page.