آخرین فرصت تا %60 تخفیف خرید یکجای دوره ها برای 3 نفر فقط تا
00 00 00

ساختار دیسک ها در KVM :مدیریت کردن pool در kvm با virsh

یکی از بخشهای مهم در ساختار KVM وضعیت و نوع ساختار دیسک ها در KVM است. همانطوری که می دانید دیسکهای ماشینهای مجازی به صورت فایلهایی برروی پارتیشنهای شما و یا در قالب پارتیشن های سخت افزاری برروی یک دیسک بدون فایل سیستم قرار می گرد. در این مقاله شما با ساختار کلی دیسکها در KVM آشنا می شوید.  در شکل زیر شما با ساختار کلی دیسک در KVM آشنا می شوید:

این ساختار خود به دو بخش کلی تقسیم می شود:

  1. بخش مربوط به pools ها
  2. بخش مربوط به valumes

بعد از راه اندازی کردن KVM برای ایجاد کردن یک ماشین مجازی شما نیاز به ایجاد کردن یک pool داشته که به صورت پیش فرض برروی ماشین شما ایجاد شده است که البته این pool قابل تغییر و حذف و یا اضافه کردن نوع های دیگر هم هست. در داخل pool محل ذخیره سازی valumes هاست که هر کدام از آنها در حقیقت حکم یک دیسک برای ماشینهای مجازی را خواهد داشت. مسیر این pool در شاخه زیر قرار دارد:

/var/lib/libvirt/images/

برای شروع کار و ایجاد کردن یک دیسک مجازی برای یک ماشین مجازی در KVM شما باید ابتدا یک Pool ایجاد کرده که البته به صورت پیش فرض این pool برروی دیسک شما ، این  pool است که در ادامه محل ذخیره سازی دیسکهای مجازی خواهد شد و انواع مختلفی را شامل می شود که هر کدام را شما می توانید به تناسب نیاز و سناریو خود ایجاد کنید، انواع این pool ها شامل لیست زیر هستن:

  • Directory pool
  • Filesystem pool
  • Network filesystem pool
  • Logical volume pool
  • Disk pool
  • iSCSI pool
  • iSCSI direct pool
  • SCSI pool
  • Multipath pool
  • RBD pool
  • Sheepdog pool
  • Gluster pool
  • ZFS pool
  • Vstorage pool

در این لیست چهار نوع directory ,Disk ,Filesystem و network پر استفاده ترین در بین سایرین هستند که در ادامه شما با روش ایجاد کردن این pool ها در kvm اشنا می شوید.

همه شما عزیزان می دانید که برای مدیریت کردن KVM ابزاری خط فرمانی به نام Virsh وجود دارد که تقریبا همه فعالیت و کارهایی که شما قصد انجام دادن آنرا دارید می توانید در KVM  انجام دهید، برای مشاهد کردن و  مدیریت کردن pool ها هم شما می توانید از این فرمان و ابزار قدرتمند استفاده کنید، در قدم اول برای مشاهده کردن لیستی از pool ها موجود برروی سیستم خود از فرمان زیر استفاده کنید:

# virsh pool-list --all

Name                     State          Autostart

-----------------------------------------

default                    active          yes

guest_images_fs       inactive      no

همانطوری که شما در فرمان مشاهده می کنید بعد از فرمان Virsh  شما باید از زیر فرمان pool استفاده کنید که این زیر فرمان با – از سایر فرمانها جدا می شود، برای مشاهده کردن لیست از list بعد از – در بخش pool از فرمان Virsh به صورت نمایش داده شده در فرمان بالا استفاده کنید.

نکته:

در زمان ایجاد کردن یک pool جدید تا زمانی که شما این pool را راه اندازی نکرده باشید در لیست pool ها در خروجی فرمان قرار نمی گیرد، برای نمایش لیست کاملی از pool ها فعال و غیر فعال از –all در انتهای فرمان خود استفاده کنید، در این صورت شما در خروجی فرمان بخش state را مشاهده خواهید کرد که در آن دو وضعیت active و inactive نمایش داده می شود.

 

روش ایجاد کردن pool از نوع directory با Virsh:

یکی از pool ها سریع و در دسترس در kvm که نیاز به فضای اضافه و یا دیسک و پارتیشن ندارد نوع directory است که به صورت پیش فرض در kvm استفاده  می شود و راه اندازی آن ساده است، در این بخش شما با روش ایجاد کردن و فعال کردن آن در KVM آشنا می شوید.

در این نوع از pool شما می توانید یک شاخه یا همان directory برروی پارتیشنهای موجود سرور خود ایجاد کنید و از این شاخه به انواع محل ذخیره سازی pool استفاده کنید، به این نکته هم توجه کنید که میزان فضای ارایه شده در این نوع  از pool با فضای آزاد شما برروی پارتیشن شما یکسان بوده و هیچ فضای اختصاصی برای این pool در نظر گرفته نمی شود و در صورت پر شدن فضای پارتیشن شما دیگر امکان این کردن هارد های مجازی در آنرا نخواهید داشت.

برای شروع کار و ایجاد کردن یک pool از این نوع شما باید از فرمان Virsh به صورت زیر استفاده کنید:

#virsh pool-define-as guest_images dir - - - - "/guest_images"#
Pool guest_images defined

در ابتدا شما باید از pool-define-as  استفاده کنید، این فرمان به Virsh می گوید که شما قصد ایجاد کردن یک pool جدید را دارید، بعد از مشخص کردن نام آن شما باید نوع آنرا مشخص کنید که برای مشخص کردن pool از نوع  directory باید از بخش dir استفاده کنید، در ادامه شما باید مسیر مورد نظر خود را هم مشخص کنید.

در صورتی که خروجی فرمان شما Pool guest_images defined باشد pool شما به درستی ایجاد شده است، اما هنوز این pool قابل استفاده نیست تا شما آنرا راه ندازی کنید، برای نمایش pool ایجاد شده از فرمان زیر استفاده کنید:

 #virsh pool-list --all

Name                     State          Autostart

-----------------------------------------

default                    active          yes

guest_images_fs       inactive      no

در ابتدا شما باید pool مورد نظر بعد از define کردن ایجاد کنید ، برای این کار شما باید فرمان زیر را اجرا کنید:

 #virsh pool-build guest_images
Pool guest_images built

در این مرحله هم هنوز  وضعیت pool ایجاد شده در این بخش غیرفعال است. در مرحله بعد شما باید pool را راه اندازی کنید با استفاده از فرمان زیر:

# virsh pool-start guest_images

Pool guest_images started

حال خروجی فرمان قبل را دوباره مشاهده کنید:

#virsh pool-list --all

Name                     State          Autostart

-----------------------------------------

default                    active          yes

guest_images_fs       active          no

حال pool ایجاد شده هم فعال شده است، اما یک نکته در این بین وجود دارد که در صورت راه اندازی شدن مجدد سیستم شما pool شما راه اندازی نمی شود  مگر شما آنر autostart کنید که برای این کار فرمان زیر را اجرا کنید:

# virsh pool-autostart guest_imagesPool 
guest_images marked as autostarted

# virsh pool-list --allName        State      Autostart
-----------------------------------------
default              active     yes
yesguest_images          active      yes

همانطوری که در خروجی فرمان pool-list   مشاهده می کنید وضعیت pool شما هم به راه اندازی خودکار تغییر کرده و در زمان راه اندازی مجدد سیستم شما pool مورد نظر شما هم راه اندازی می شود.

برای مشاهده کردن و ضعیت pool ایجاد شده از فرمان زیر استفاده کنید:

# virsh pool-info guest_images
Name:           guest_images
UUID:           779081bf-7a82-107b-2874-a19a9c51d24c
State:          running
Persistent:     yes
Autostart:      yes
Capacity:       49.22 GB
Allocation:     12.80 GB
Available:      36.41 GB

حذف کردن pool ایجاد شده:

همانطوری که شما در بخش قبل با روش ایجاد کردن یک pool با Virsh در خط فرمان آشنا شده اید در این بخش شما با روش حذف کردن یک pool در خط فرمان با استفاده از Virsh آشنا می شوید. این بخش خود شامل سه قسمت است:

بخش اول شما باید pool مورد نظر را destroy کنید با استفاده از فرمان زیر:

# virsh pool-destroy guest_images_disk

در قدم بعد شما با استفاده از فرمان زیر باید pool مورد نظر را حذف کنید:

# virsh pool-delete guest_images_disk

بعد از حدف کردن آن حال نوبت به undefined کردن pool:

# virsh pool-undefine guest_images_disk
0 نظر

هیچ نظری ارسال نشده است! اولین نظر برای این مطلب را شما ارسال کنید...

نظر شما
برای ارسال نظر باید وارد شوید.
از سرتاسر توسینسو
تنظیمات حریم خصوصی
تائید صرفنظر