منبع اصلی نوشتار زیر در این لینک قرار دارد

آموزش فعال کردن Nested Virtualization در مجازی ساز KVM

Nested

Nested

بطور خلاصه ویژگی Nested Virtualization این امکان را فراهم می کند که بتوانیم درون یک ماشین مجازی (Virtual  Machine) که خودش بر روی یک Hypervisor سطح صفر یا همان L0 می باشد، یک Hypervisor دیگر نصب کنیم و باز بر روی آن ماشین های مجازی (VM) دیگری اجرا کنیم.

جهت اطلاعات بیشتر در مورد Nested Virtualization می توانید مطلب «ویژگی Nested Virtualization در دنیای مجازی سازها» را مطالعه کنید. برای بررسی اینکه سیستم از ویژگی Nested Virtualization پشتیبانی می کند روش های گوناگونی وجود دارد که بر اساس مدل CPU متفاوت می باشد.

برای CPU های Intel فایل زیر را بررسی کنید:

/sys/module/kvm_intel/parameters/nested

برای CPU های AMD فایل زیر را بررسی کنید:

/sys/module/kvm_amd/parameters/nested

اگر در خروجی 1 یا Y را مشاهده کردید به این معنی می باشد که nested virtualization پشتیبانی می شود. اگر در خروجی 0 یا N مشاهده کردید به این معنی می باشد که nested virtualization پشتیبانی نمی شود.

یک نمونه خروجی بر روی CPU Intel را در تصویر پایین مشاهده می کنید:

kvm_intel

فعال کردن nested virtualization:

برای فعال کردن nested virtualization در Intel processors کارهای زیر را به ترتیب انجام دهید.

۱- تمام VM هایی که در حالت اجرایی (روشن) هستند را Shut down کنید و ماژول kvm_probe را unload کنید:

# modprobe -r kvm_intel

۲- ویژگی nested را با استفاده از دستور زیر فعال کنید:

# modprobe kvm_intel nested=1

۳- اکنون ویژگی nested تا زمانی که سیستم reboot نشود فعال است. برای ذخیره ی تغییرات به صورت دائمی فایل زیر را باز کنید:

# vi /etc/modprobe.d/kvm.conf

اکنون خط زیر را به فایل اضافه و ذخیره کنید:

options kvm_intel nested=1

 

برای فعال کردن nested virtualization در AMD processors کارهای زیر را به ترتیب انجام دهید.

۱- تمام VM هایی که در حالت اجرایی (روشن) هستند را Shut down کنید و ماژول kvm_amd را unload کنید:

# modprobe -r kvm_amd

۲- ویژگی nested را با استفاده از دستور زیر فعال کنید:

# modprobe kvm_amd nested=1

۳- اکنون ویژگی nested تا زمانی که سیستم reboot نشود فعال است. برای ذخیره ی تغییرات به صورت دائمی فایل زیر را باز کنید:

# vi /etc/modprobe.d/kvm.conf

اکنون خط زیر را به فایل اضافه و ذخیره کنید:

options kvm_amd nested=1

 

پیکربندی nested virtualization در virt-manager :

اگر بخواهید که VM مورد نظر خود از ویژگی nested virtualization استفاده کند. کارهای زیر را به ترتیب انجام دهید.

۱- برنامه virt-manager که یک نرم افزار دسکتاپی جهت کنترل و مدیریت KVM Server می باشد را اجرا کنید. بر روی VM مورد نظر خود که قصد دارید تا nested virtualization را برای آن فعال کنید دو بار کلیک کنید. اکنون در پنجره ی VM بر روی آیکون Show virtual hardware details کلیک کنید.

۲- از منوی کناری گزینه ی CPUs را انتخاب کنید و سپس در قسمت Configuration و در جلوی قسمت Model می توانید host-passthrough را تایپ کنید و یا اینکه گزینه ی Copy host CPU configuration را تیک دار کنید که در واقع مقدار host-model را در قسمت Model خواهد نوشت.

۳- اکنون برای ذخیره ی تغییرات روی دکمه ی Apply کلیک کنید.

 

یک نمونه از کارهای گفته شده را در تصویر پایین مشاهده می کنید:

virt-manager

نکته اینکه استفاده از host-passthrough برای استفاده ی عمومی پیشنهاد نمی شود و بهتر است فقط برای اهداف nested virtualization استفاده شود.

 

آزمایش nested virtualization:

همانطور که در ابتدای مطلب گفته شد، روش های گوناگونی برای بررسی nested virtualization وجود دارد. اکنون ما فرض می کنیم که شما یک VM با سیستم عامل لینوکس فدورا دارید که nested virtualization را برای آن فعال کرده اید. برای آزمایش nested virtualization کافیست به VM مورد نظر login کنید. اکنون مجازی ساز KVM را به همراه بسته های مورد نیاز نصب کنید:

# dnf group install virtualization

اکنون برای بررسی اینکه مجازی ساز به درستی بر روی VM نصب شده است، کافیست تا دستور زیر را اجرا کنید:

# virt-host-validate

یک نمونه از خروجی دستور گفته شده را در تصویر پایین مشاهده می کنید:

kvm-virtualization

امید است تا از این مطلب استفاده لازم را برده باشید.

 



برچسب ها : , , , , , , , , , ,