libvirtd(8) پشتیبانی از مجازی‌سازی libvirtd(8) نام (NAME) libvirtd - دیمن مدیریت مجازی‌سازی libvirt خلاصه دستور (SYNOPSIS) libvirtd [گزینه‌ها]... توضیحات (DESCRIPTION) برنامه libvirtd مؤلفه دیمن سمت سرور از سیستم مدیریت مجازی‌سازی libvirt است. این دیمن روی سرورهای میزبان اجرا می‌شود و وظایف مدیریتی لازم برای ماشین‌های میهمان مجازی‌سازی‌شده را انجام می‌دهد. این وظایف شامل مواردی چون راه‌اندازی، متوقف‌سازی و مهاجرت میهمانان بین سرورهای میزبان، پیکربندی و مدیریت شبکه، و مدیریت فضای ذخیره‌سازی برای استفاده توسط میهمانان است. کتابخانه‌ها و ابزارهای کلاینت libvirt به این دیمن متصل می‌شوند تا دستورات را صادر کرده و اطلاعات مربوط به پیکربندی و منابع سیستم میزبان و میهمانان را گردآوری نمایند. به طور پیش‌فرض، دیمن libvirtd به درخواست‌های دریافتی روی یک سوکت محلی دامنه یونیکس (Unix domain socket) گوش می‌دهد. با استفاده از گزینه خط فرمان -l | --listen، می‌توان به دیمن libvirtd دستور داد تا علاوه بر آن به یک سوکت TCP/IP نیز گوش فرا دهد. سوکت TCP/IP مورد استفاده در فایل پیکربندی libvirtd تعریف می‌شود. راه‌اندازی مجدد libvirtd تاثیری بر عملکرد میهمانان در حال اجرا نخواهد داشت. میهمانان به فعالیت خود ادامه می‌دهند و در صورتی که پیکربندی XML آن‌ها از قبل تعریف شده باشد، به طور خودکار بازیابی می‌شوند. هر میهمانی که پیکربندی XML آن تعریف نشده باشد، از پیکربندی از دست خواهد رفت. فعال‌سازی سوکت سیستم (SYSTEM SOCKET ACTIVATION) دیمن libvirtd قادر به راه‌اندازی در دو حالت است. در حالت سنتی، این دیمن سوکت‌های یونیکس را خودش ایجاد کرده و به آن‌ها گوش می‌دهد. در صورتی که پارامتر --listen مشخص شده باشد، بر اساس گزینه‌های listen_tcp و listen_tls در فایل /etc/libvirt/libvirtd.conf به سوکت(های) TCP/IP نیز گوش فرا خواهد داد. در حالت فعال‌سازی سوکت، این دیمن به systemd متکی خواهد بود تا سوکت‌های یونیکس و در صورت تمایل TCP/IP را ایجاد کرده، به آن‌ها گوش دهد و آن‌ها را به عنوان توصیف‌کننده‌های فایل از پیش بازشده ارسال کند. در این حالت، مشخص کردن پارامتر --listen مجاز نیست و بیشتر گزینه‌های پیکربندی مرتبط با سوکت در فایل /etc/libvirt/libvirtd.conf دیگر اثری نخواهند داشت. برای فعال‌سازی سوکت‌های TCP یا TLS از یکی از دستورات زیر استفاده کنید: $ systemctl start libvirtd-tls.socket یا $ systemctl start libvirtd-tcp.socket هنگام اجرا روی یک سیستم‌عامل میزبان که از systemd استفاده می‌کند، حالت فعال‌سازی سوکت معمولاً پیش‌فرض است. برای بازگشت به حالت سنتی، تمام فایل‌های واحد سوکت باید ماسک (mask) شوند: $ systemctl mask libvirtd.socket libvirtd-ro.socket \ libvirtd-admin.socket libvirtd-tls.socket libvirtd-tcp.socket علاوه بر این اطمینان حاصل کنید که آرگومان --timeout برای دیمن استفاده نشود، زیرا در اتصالات بعدی مجدداً راه‌اندازی نخواهد شد. در صورت استفاده از سرویس libvirt-guests، ترتیب اجرای آن سرویس باید طوری هماهنگ شود که به جای واحد سوکت، پس از واحد سرویس اجرا گردد. از آنجا که وابستگی‌ها و ترتیب اجرا را نمی‌توان با فایل‌های جایگزین drop-in تغییر داد، کل فایل واحد libvirt-guests باید دستخوش تغییر شود. برای حفظ چنین تغییری، فایل نصب‌شده /usr/lib/systemd/system/libvirt-guests.service را به مسیر /etc/systemd/system/libvirt-guests.service رونوشت کرده و تغییر را در آنجا اعمال کنید؛ به طور مشخص اطمینان حاصل فرمایید که در ترتیب After= عبارت libvirtd.service درج شده باشد و نه libvirtd.socket: [Unit] After=libvirtd.service گزینه‌ها (OPTIONS) -h, --help نمایش راهنمای استفاده از دستور در خط فرمان و سپس خروج. -d, --daemon اجرا به عنوان یک دیمن و نوشتن فایل شناسه فرآیند (PID). -f, --config *FILE* استفاده از این فایل پیکربندی به جای مقدار پیش‌فرض. -l, --listen گوش دادن به اتصالات TCP/IP. در صورت استفاده از فعال‌سازی سوکت systemd نباید این گزینه تنظیم شود؛ در عوض فایل‌های واحد libvirtd-tls.socket یا libvirtd-tcp.socket را فعال کنید. -p, --pid-file *FILE* استفاده از این نام برای فایل PID به جای مقدار پیش‌فرض. -t, --timeout *SECONDS* خروج پس از سپری شدن دوره وقفه (به ثانیه)، به شرط آنکه نه اتصال کلاینتی برقرار باشد و نه هیچ دامنه‌ای در حال اجرا باشد. -v, --verbose فعال‌سازی خروجی پیام‌های پرجزئیات (verbose). --version نمایش اطلاعات نسخه و سپس خروج. سیگنال‌ها (SIGNALS) با دریافت سیگنال SIGHUP، دیمن libvirtd پیکربندی خود را دوباره بارگذاری خواهد کرد. فایل‌ها (FILES) هنگام اجرا به عنوان کاربر ریشه (root) • /etc/libvirt/libvirtd.conf فایل پیکربندی پیش‌فرضی که توسط libvirtd استفاده می‌شود، مگر اینکه در خط فرمان با استفاده از گزینه -f | --config جایگزین شده باشد. بسته به اینکه کدام درایور نصب شده باشد، فایل‌های زیر نیز خوانده خواهند شد: • /etc/libvirt/qemu.conf برای درایور QEMU • /etc/libvirt/lxc.conf برای درایور LXC • /etc/libvirt/libxl.conf برای درایور libxl این فایل‌ها شامل مقادیر پیش‌فرض و پارامترهای تنظیمی گوناگونی برای ماشین‌های مجازی ایجادشده در درایورهای مربوطه‌شان هستند، و راهکاری برای بازنویسی مقادیر پیش‌فرض توکار ارائه می‌دهند؛ برای نمونه (اما نه محدود به): مسیر فایل‌های اجرایی مکمل مختلف، مکان گواهی‌های TLS، پیکربندی کنسول‌های گرافیکی و موارد دیگر. مکان هیچ‌کدام از این فایل‌ها را نمی‌توان با سوییچ‌های خط فرمان تغییر داد. • /run/libvirt/libvirt-sock • /run/libvirt/libvirt-sock-ro سوکت‌هایی که دیمن libvirtd از آن‌ها استفاده خواهد کرد. • /etc/pki/CA/cacert.pem گواهی مرجع صدور گواهی (CA) تی‌ال‌اس که libvirtd استفاده خواهد کرد. • /etc/pki/libvirt/servercert.pem گواهی سرور TLS که توسط libvirtd استفاده خواهد شد. • /etc/pki/libvirt/private/serverkey.pem کلید خصوصی سرور TLS که توسط libvirtd استفاده خواهد شد. • /run/libvirtd.pid فایل PID برای استفاده، مگر اینکه توسط گزینه -p | --pid-file جایگزین شده باشد. هنگام اجرا به عنوان کاربر غیر ریشه (non-root) • $XDG_CONFIG_HOME/libvirt/libvirtd.conf فایل پیکربندی پیش‌فرضی که توسط libvirtd استفاده می‌شود، مگر اینکه در خط فرمان با گزینه -f | --config جایگزین شود. اگر درایور QEMU نصب شده باشد، فایل زیر نیز خوانده خواهد شد: • $XDG_CONFIG_HOME/libvirt/qemu.conf اگر این فایل موجود باشد، می‌تواند شامل پارامترهای تنظیمی و مقادیر پیش‌فرض گوناگونی برای ماشین‌های مجازی ایجادشده در درایور QEMU باشد، و راهکاری برای تغییر مقادیر پیش‌فرض توکار ارائه می‌دهد، برای نمونه (اما نه محدود به): مسیرهای باینری‌های تکمیلی، مکان گواهی‌های TLS، پیکربندی کنسول‌های گرافیکی و موارد دیگر. مکان این فایل را نمی‌توان با سوییچ خط فرمان تغییر داد. • $XDG_RUNTIME_DIR/libvirt/libvirt-sock سوکت مورد استفاده توسط libvirtd. • $HOME/.pki/libvirt/cacert.pem گواهی مرجع صدور گواهی (CA) تی‌ال‌اس که توسط libvirtd استفاده خواهد شد. • $HOME/.pki/libvirt/servercert.pem گواهی سرور TLS که libvirtd از آن استفاده خواهد کرد. • $HOME/.pki/libvirt/serverkey.pem کلید خصوصی سرور TLS که توسط libvirtd استفاده خواهد شد. • $XDG_RUNTIME_DIR/libvirt/libvirtd.pid فایل PID برای استفاده، مگر اینکه توسط گزینه -p | --pid-file جایگزین شده باشد. اگر متغیر $XDG_CONFIG_HOME در محیط شما مقداردهی نشده باشد، دیمن libvirtd از مسیر $HOME/.config استفاده خواهد کرد. اگر متغیر $XDG_RUNTIME_DIR در محیط شما تنظیم نشده باشد، دیمن libvirtd از مسیر $HOME/.cache استفاده خواهد کرد. مثال‌ها (EXAMPLES) برای دریافت نسخه دیمن libvirtd: # libvirtd --version libvirtd (libvirt) 12.7.0 برای راه‌اندازی دیمن libvirtd، با دستور به دیمن شدن و ایجاد فایل PID: # libvirtd -d # ls -la /run/libvirtd.pid -rw-r--r-- 1 root root 6 Jul 9 02:40 /run/libvirtd.pid اشکالات (BUGS) لطفاً هرگونه اشکال یا خطای کشف‌شده را گزارش دهید. این کار را می‌توانید از یکی از روش‌های زیر انجام دهید: 1. فهرست پستی 2. سامانه ثبت اشکالات به عنوان راهکار جایگزین، می‌توانید اشکالات را به توزیع‌کننده یا فروشنده نرم‌افزار خود گزارش کنید. نویسندگان (AUTHORS) لطفاً به پرونده AUTHORS که همراه با libvirt توزیع شده است مراجعه فرمایید. حق نشر (COPYRIGHT) حق نشر (C) ۲۰۰۶-۲۰۱۲ متعلق به Red Hat, Inc. و نویسندگان فهرست‌شده در فایل AUTHORS برنامه libvirt. مجوز (LICENSE) برنامه libvirtd تحت شرایط مجوز GNU LGPL نسخه ۲.۱ یا بالاتر توزیع می‌شود. این یک نرم‌افزار آزاد است؛ برای شرایط رونوشت‌برداری به متن منبع مراجعه کنید. هیچ‌گونه ضمانتی وجود ندارد؛ حتی برای ضمانت تجاری بودن یا مناسب بودن برای یک منظور خاص. همچنین ببینید (SEE ALSO) virsh(1), virt-install(1), virt-xml-validate(1), virt-top(1), virt-df(1), libvirtd(8)