Academy and Foundation unixmens | Your skills, Your future
2.3K subscribers
6.68K photos
1.39K videos
1.24K files
6.17K links
@unixmens_support
@yashar_esm
[email protected]
یک کانال علمی تکنولوژی
فلسفه متن باز-گنو/لینوکس-امنیت - اقتصاد
دیجیتال
Technology-driven -بیزینس های مبتنی بر تکنولوژی
Enterprise open source
ارایه دهنده راهکارهای ارتقای سازمانی - فردی - تیمی
Download Telegram
virsh :
دستور virsh یک دستور از بسته libvirt-client می‌باشد . برای مشاهده ساختار ماشین مجازی

#virsh capabilities
اما libvirt چیست ؟


Libvirt is collection of software that provides a convenient way to manage virtual machines and other virtualization functionality, such as storage and network interface management. These software pieces include an API library, a daemon (libvirtd), and a command line utility (virsh).

An primary goal of libvirt is to provide a single way to manage multiple different virtualization providers/hypervisors. For example, the command ‘virsh list –all’ can be used to list the existing virtual machines for any supported hypervisor (KVM, Xen, VMWare ESX, etc.) No need to learn the hypervisor specific tools!

به عبارت ساده‌تر (البته متن و زبان خود سایت خیلی ساده و گویا هست) libvirt مجموعه‌ای از برنامه‌های مناسبی است برای مدیریت ماشین‌ها و بقیه‌ی منابع مجازی مانند منابع ذخیره‌سازی (strage) و کارت‌های شبکه.
از جمله خوبی‌هایی که استفاده از libvirt داره این هست که چندین hypervisor و provider رو پشتیبانی می‌کنه و دیگه لازم نیست برای استفاده از هر کدوم از اونها دستورات مختص به خودشون رو یادبگیریم. برای مثال می‌شه با استفاده از دستور زیر
virsh list —all
همه‌ی ماشین‌های مجازی موجود رو لیست کرد. اگر استفاده از خط فرمان رو نمی‌پسندید می‌تونید رابط گرافیکی virt-manager رو نصب و استفاده کنید.
اینجا می خواهم از قابلیت console دستور virsh صحبت کنم. console این قابلیت رو به ما می‌ده که بتونیم به serial console ماشین مهمان (که البته منظور مجازی هست) متصل بشیم (از طریق خط فرمان). امّا برای این کار باید تنظیماتی بر روی ماشین مجازی انجام بدیم تا بتونه این اتصال رو برقرار کنه.
کار‌هایی که باید انجام بدیم ۲تا هستن (هر دوی این کارها داخل ماشین‌مجازی انجام می‌گیرن یعنی باید یه روش دیگه‌ای باشه و بر حسب شرایط بتونید پیدا کنید که بتونید داخل ماشین لاگین کنید):
اوّل اینکه باید سیستم‌عامل ماشین‌مجازی رو تنظیم کنیم که خروجی رو بر روی سریال پورت مجازی (که اسم serial port در لینوکس ttyS0 و در ویندوز COM1 هست) بفرسته. برای اینکار، خط مربوط به کرنل رو در فایل /boot/grub/grub.cfg ویرایش کرده و متن زیر رو به انتهای اون اضافه کنیم.
console=tty0 console=ttyS0,115200
نکته:
۱. قبل از ویرایش فایل یک کپی از اون به عنوان پشتیبان تهیه کنید.
۲. این فایل سطح دسترسی نوشتن نداره و قبل از هر چیز این رو رفع کنید.
۳. یادتون باشه بعد از انجام تغییرات دسترسی نوشتن بر روی فایل رو بگیرید.

ماشین رو ریبوت کرده و دستور virsh console رو اجرا می‌کنیم در این حالت باید بتونیم خروجی کنسول ماشین‌مجازی رو ببینم (همون خط‌هایی که سیستم‌عامل موقع بوت شدن روی صفحه می‌نویسه.) امّا در نهایت پس از اتمام مراحل بوت چیزی عاید ما نمی‌شه در حالی که باید با صفحه‌ی ورود به ماشین مواجه می‌شدیم.
ایجاد این مسأله طبیعی هست، چون گفتم دوتا کار باید انجام بدیم ولی ما فقط اوّلی رو به اتمام رسوندیم.
کار دوّم این هست که باید خود سریال کنسول رو بر روی ماشین‌مجازی کانفیگ کنیم. برای این کار یک فایل به اسم ttyS0.conf در مسیر /etc/init می‌سازیم و خطوط زیر رو داخلش می‌نویسیم:
start on stopped rc RUNLEVEL=[2345]
stop on runlevel [!2345]
respawn
exec /sbin/getty -L 115200 ttyS0 xterm

سپس دستور زیر رو برای شروع به کار ttyS0 اجرا می‌کنیم:
sudo start ttyS0
یا ماشین رو ریبوت می‌کنیم.
در این مرحله پس از اینکه دستور console رو داخل virsh به همراه اسم ماشین‌مجازی مورد نظر اجرا کردیم پس از بوت شدن ماشین شاهد خط فرمان برای نام‌کاربری و رمز عبور خواهیم بود که نشون‌دهنده‌ی اون هست که ماشین در حال آماده به کار است.
و اما ادامه دستور virsh :
مدیریت ماشین مجازی و هایپروایزرها با استفاده از دستورات virsh بسیار ساده تر شده است. این یک ابزار درون ساخت متن باز است. با استفاده از این دستورات، می توانید ماشین های مجازی را ایجاد کنید، ویرایش نمایید و انتقال دهید. همانطور که در ابتدای مقاله نیز ذکر کردیم، دستورات زیادی در این مورد وجود دارد که هر کدام از آن ها به طبقه بندی های مختلفی همچون دستورات دامنه، دستورات بخش ذخیره سازی و دستورات اسنپ شات تقسیم می شوند. حالا سوال اینجاست که با وجود طیف وسیعی از دستورات، چگونه می توان بهترین دستور را برای مدیریت ماشین مجازی و هایپروایزر انتخاب کرد؟ در ادامه لیستی از دستورات را بیان می کنیم که می توانید برای شروع کار خود از آن ها استفاده کنید.

دستورات عمومی:
دستور pool-list: این دستور اشیای فعال در pool را مشخص می کند. شما می توانید با استفاده از –persistent ،–transient ،–autostart یا –no-autostart فیلتر کنید. علاوه بر این می توانید pool های خاصی را لیست نمایید. اگر می خواهید لیستی از pool های غیر فعال را به دست آورید از –inactive استفاده کنید. برای اینکه بتوانید لیست کاملی از دستورات را در دست داشته باشید باید از عبارت –all استفاده نمایید.

دستور pool-build: شما می توانید با این دستور یک pool بسازید. گزینه های در دسترس شامل –overwrite و –no-overwrite است. اگر از گزینه –overwrite استفاده کنید، داده های موجود در دستگاه هدف رونویسی خواهد شد.

دستور pool-edit: این دستور به شما اجازه می دهد پیکربندی XML فضای ذخیره سازی(storage pool) خود را در ویرایشگر متن پیش فرض ویرایش کنید. این گزینه می تواند مفید باشد زیرا خطاهای موجود را بررسی می کند.

دستورات Volume:

اینگونه دستورات حجم فضای ذخیره سازی را مدیریت می کنند.

دستور vol-create: این دستور حجمی را از فایل XML یا آرگومان خط فرمان ایجاد می کند. علاوه بر این، شما می توانید حجمی را با استفاده از حجم های دیگر به عنوان ورودی ایجاد نمایید. برای انجام اینکار باید از vol-create-from استفاده کنید. همچنین قادر خواهید بود حجم موجود را از مجموعه آرگومان ها ایجاد نمایید. در این شرایط نیز بهتر است از vol-create-as استفاده کنید. می توانید اندازه خاص و حجم مناسب هر فایل را ایجاد کنید.

دستور vol-resize: این دستور اندازه حجم داده شده را تغییر می دهد. ظرفیت موجود به یک اندازه جدید تبدیل می شود اما با استفاده از دستور–delta می توان مقداری را به اندازه فعلی افزود. باید به این نکته توجه داشته باشید که استفاده از دستور vol-resize برای ماشین های مجازی فعال زیاد امن نیست. اما شما می توانید برای تغییر اندازه Live از دستور blockresizecommand استفاده کنید.

دستور vol-wipe: این دستور حجم را پاک می کند و شما را مطمئن می سازد که داده های قبلی، دیگر در دسترس هیچ کسی قرار نمی گیرد. این گزینه زمانی مفید است که می خواهید اطلاعاتی را در ماشین مجازی پاک کنید. با تغییر الگوریتم می توانید الگوریتم های پاکسازی دیگری انتخاب کنید.

دستورات اسنپ شات:

دستوراتی که در این طبقه بندی قرار دارد می تواند اسنپ شات های موجود در ماشین مجازی را دستکاری نماید.

دستور snapshot-list: با استفاده از این دستور می توانید لیستی از اسنپ شات های موجود در ماشین مجازی را به دست آورید. این لیست شامل نام اسنپ شات، زمان ایجاد آن و وضعیت ماشین مجازی خواهد بود. همچنین فیلترهای زیادی وجود دارد که می توانید از آن ها استفاده کنید. برخی از این فیلترها شامل –from ،–leaves ،–metadata ،–inactive و –internal است.

دستور snapshot-create: این دستور می تواند اسنپ شاتی را با نام، توضیح و مقدار دیسک اختصاص داده شده در فایل XML ایجاد کند. اگر دوست دارید اسنپ شاتی را بدون استفاده از ویژگی های بیان شده در فایل XML ایجاد کنید از snapshot-create-as استفاده کنید. با مشخصه –halt ، می توانید بعد از ایجاد اسنپ شات ماشین مجازی را به صورت غیر فعال رها کنید.

دستور snapshot-revert: این دستور به شما اجازه می دهد ماشین مجازی را به یک اسنپ شات خاص بازگردانید. برای بازگرداندن اسنپ شات فعلی از –current استفاده کنید.

دستور snapshot-delete: شما می توانید یک اسنپ شات خاصی را با این دستور پاک کنید یا اسنپ شات فعلی را با اضافه کردن –current پاک نمایید. اگر قصد دارید اسنپ شات و children های آن را پاک کنید از –children استفاده کنید. با اضافه کردن –children-only ، می توانید children های اسنپ شات را پاک کنید بدون اینکه آسیبی به خود اسنپ شات وارد نمایید.

خوب همانطور که مشاهده کردید لیستی از دستورات Virsh در این مقاله بیان شد. البته باید به این نکته توجه داشته باشید که این لیست کامل نیست و هنوز هم دستورات زیادی در این مورد وجود دارد. در هر کدام از طبقه بندی ها می توانید دستورات مفید دیگری بیابید. برخی از طبقه بندی ها در این مقاله بیان نشد اما بهتر است در مطالعات خود این موارد را نیز مد نظر داشته باشید. زمانی که صحبت از مدیریت موفق هایپروایزر و ماشین مجازی به میان می آید، درک صحیح تمامی گزینه ها، محدودیت ها و نتایج احتمالی هر کدام بسیار مهم خواهد بود. پس این لیست را با دقت مطالعه کنید و از دستورات موجود برای آسان تر کردن فرایند مدیریت استفاده نمایید.



نکته : می تونید در kvm از libvirt استفاده نکنید که در آینده توضیح خواهم داد
#libvirt #virtualization #virsh
کتاب جدیدی که نوشتم و بصورت آزاد منتشر کردم ، تقدیم عزیزان کتاب نحوه مدیریت ESX و Vspareاز طریق libvirt و virsh
نکته : این کتاب قسمتی از کتاب مجازی سازی هست که در حال نوشتن آن هستم . بگذار اشتراک خوبی ها صفت تو باشد ...

#yashar_esmaildokht #linux #virtualization #vmware #redhat #esxi #esx #libvirt #virsh @unixmens
کتاب جدیدی که نوشتم و بصورت آزاد منتشر کردم ، تقدیم عزیزان کتاب نحوه مدیریت ESX و Vspareاز طریق libvirt و virsh
نکته : این کتاب قسمتی از کتاب مجازی سازی هست که در حال نوشتن آن هستم . بگذار اشتراک خوبی ها صفت تو باشد ...

#yashar_esmaildokht #linux #virtualization #vmware #redhat #esxi #esx #libvirt #virsh @unixmens
Forwarded from Academy and Foundation unixmens | Your skills, Your future (yashar esmaildokht 🐧)
کتاب جدیدی که نوشتم و بصورت آزاد منتشر کردم ، تقدیم عزیزان کتاب نحوه مدیریت ESX و Vspareاز طریق libvirt و virsh
نکته : این کتاب قسمتی از کتاب مجازی سازی هست که در حال نوشتن آن هستم . بگذار اشتراک خوبی ها صفت تو باشد ...

#yashar_esmaildokht #linux #virtualization #vmware #redhat #esxi #esx #libvirt #virsh @unixmens
Forwarded from Academy and Foundation unixmens | Your skills, Your future (yashar esmaildokht 🐧)
کتاب جدیدی که نوشتم و بصورت آزاد منتشر کردم ، تقدیم عزیزان کتاب نحوه مدیریت ESX و Vspareاز طریق libvirt و virsh
نکته : این کتاب قسمتی از کتاب مجازی سازی هست که در حال نوشتن آن هستم . بگذار اشتراک خوبی ها صفت تو باشد ...

#yashar_esmaildokht #linux #virtualization #vmware #redhat #esxi #esx #libvirt #virsh @unixmens