ویژگی Nested Virtualization در دنیای مجازی سازها

nestدر دنیای مجازی سازها ویژگی وجود دارد به نام Nested Virtualization که امروزه بیشتر Hypervisor ها از این ویژگی پشتیبانی می کنند.

البته شرط لازم برای فعال کردن Nested Virtualization در Hypervisor وجود قابلیت پشتیبانی CPU از مجازی سازی سخت افزاری می باشد که در CPU های Intel به آن Intel-VT و در CPU های AMD به آن AMD-V گفته می شود.

معمولا CPU های سرورهای سازمانی دارای چنین قابلیتی می باشند و امروزه اکثر CPU های کامپیوترهای خانگی و لپ تاپ ها نیز از این قابلیت پشتیبانی می کنند. جهت بررسی اینکه سیستم شما مجازی سازی سخت افزاری را پشتیبانی می کند یا خیر، می توانید دستور زیر را در ترمینال اجرا کنید:

$ grep -E --color 'vmx|svm' /proc/cpuinfo

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

cpu-vmxهمانطور که در تصویر بالا مشاهده می کنید، مقدار vmx نمایش داده می شود که به این معنا می باشد که CPU از نوع Intel می باشد و از مجازی سازی سخت افزاری یا همان Hardware virtualization پشتیبانی می کند. اما اگر در خروجی دستور چیزی مشاهده نکردید به این معنا می باشد که CPU سیستم شما از مجازی سازی سخت افزاری پشتیبانی نمی کند و یا اینکه این قابلیت بر روی سیستم شما غیرفعال می باشد. برای فعال کردن Hardware virtualization باید به BIOS سیستم مراجعه کنید و آن را فعال کنید.

Intel-Virual-Technology

زمانیکه CPU از مجازی سازی سخت افراری پشتیبانی می کند، Hypervisor به صورت بهینه تری می توانید یک محیط مجازی برای ماشین های مجازی فراهم کند.

حال فرض کنید که ما یک سرور فیزیکی در اختیار داریم که CPU آن از مجازی سازی سخت افزاری پشتیبانی می کند و یک Hypervisor، به عنوان نمونه مجازی ساز KVM بر روی آن نصب می باشد. در این مرحله ما یک محیط مجازی سطح صفر یا همان L0 داریم و می توانیم ماشین های مجازی (VM) خود را ایجاد کنیم.

اکنون اگر بخواهیم همان CPU virtualization technology یعنی Intel-VT یا AMD-V را درون یک ماشین مجازی (VM) داشته باشیم، اینجاست که پای Nested Virtualization به میان خواهد آمد و ما می توانیم درون یک ماشین مجازی یک Hypervisor دیگر نصب کنیم.

به عبارت دیگر با استفاده از Nested Virtualization می توانیم یک Hypervisor درون یک Hypervisor دیگر داشته باشیم. به عنوان مثال فرض کنید که Hypervisor ما KVM می باشد و با آن یک ماشین مجازی ایجاد کرده ایم. تا اینجای کار، ما یک محیط مجازی داریم که به آن Level 0 یا همان L0 می گوییم. اکنون اگر Nested Virtualization را برای همان ماشین مجازی که در L0 قرار دارد فعال کرده باشیم، می توانیم یک Hypervisor دیگر به عنوان نمونه VMware ESXi را بر روی آن ماشین مجازی نصب کنیم و در واقع یک محیط مجازی دیگر که به آن L1 می گوییم ایجاد کنیم و درون محیط مجازی L1 ماشین های مجازی دیگری ایجاد کنیم و به همین ترتیب لایه در لایه محیط مجازی ایجاد کنیم.nested-virtualizationبطور خلاصه ویژگی Nested Virtualization این امکان را فراهم می کند که بتوانیم درون یک ماشین مجازی (Virtual  Machine) که خودش بر روی یک Hypervisor سطح صفر یا همان L0 می باشد، یک Hypervisor دیگر نصب کنیم و باز بر روی آن ماشین های مجازی (VM) دیگری اجرا کنیم.

همانطور که گفته شد، اغلب Hypervisor های امروزی از ویژگی Nested Virtualization پشتیبانی می کنند و تنطیماتی برای فعال کردن آن دارند که در صورت نیاز می توان آن را برای ماشین مجازی مورد نظر خود فعال کنید.

ارسال یک پاسخ

آدرس ایمیل شما منتشر نخواهد شد.

این سایت از اکیسمت برای کاهش هرزنامه استفاده می کند. بیاموزید که چگونه اطلاعات دیدگاه های شما پردازش می‌شوند.