آیا تا به حال فکر کرده اید که آیا می توانید یک VM را در VM راه اندازی کنید؟
اگر نیاز به استفاده روزانه از چندین سیستم عامل دارید، ماشین های مجازی (VM) می توانند بسیار مفید باشند. گفته می شود، به همان اندازه که استفاده از آنها آسان است، انواع مختلفی دارند، و انتخاب مناسب می تواند مشکل باشد.
یک نوع خاص از مجازی سازی که اغلب آن را نمی بینیم، مجازی سازی تودرتو نامیده می شود. این دقیقاً همان چیزی است که به نظر می رسد و تنظیم آن کمی دشوار است، اما اگر آن چیزی است که شما به دنبال آن هستید، می تواند بسیار مفید باشد.
مجازی سازی تودرتو چیست؟
در ساده ترین شکل، مجازی سازی تودرتو شامل اجرای یک ماشین مجازی در داخل ماشین مجازی دیگر است. این بدان معناست که شما یک کامپیوتر میزبان و سیستم عامل دارید که یک ماشین مجازی را با مجموعه سخت افزار و نرم افزار مجازی سازی شده خودش اجرا می کند، که ماشین مجازی دیگری در آن اجرا می شود.
در اصل یک لایه مجازی سازی دیگر به هایپروایزر شما اضافه می کند و می تواند VM را از ماشین میزبان با دو لایه مجزا جدا کند. این موارد کاربرد زیادی دارد، مخصوصاً در برنامههای توسعه که ممکن است برای آزمایش چارچوبهای نرمافزار، برنامهها، پایگاههای کد و موارد مشابه به یک محیط ایزوله نیاز داشته باشید.
برای استفاده از مجازی سازی تودرتو به چه الزاماتی نیاز دارید؟
بر اساس هایپروایزر که استفاده می کنید، نرم افزار و سخت افزار مورد نیاز برای اجرای یک محیط مجازی سازی تودرتو می تواند متفاوت باشد. گفته می شود، نیازهای سخت افزاری در کل کم و بیش یکسان خواهد بود. در مورد نرم افزار، برنامه های مختلف نسخه های مخصوص به خود را خواهند داشت که از مجازی سازی تودرتو پشتیبانی می کنند.
در مورد VMware VirtualBox، پشتیبانی از مجازیسازی تودرتو با نسخه 6.0 برای پردازندههای AMD ارائه شد. CPUهای اینتل بعداً با نسخه 6.1 اضافه شدند. بنابراین تنها کاری که واقعاً باید انجام دهید این است که مطمئن شوید آخرین نسخه VirtualBox را اجرا می کنید، و باید آماده باشید.
چرا باید از مجازی سازی تودرتو استفاده کنید؟
همانطور که در بالا ذکر شد، مجازی سازی تودرتو بیشتر در سناریوهای توسعه برای آزمایش چارچوب های نرم افزار و پایگاه های کد در یک محیط ایزوله استفاده می شود. با این حال، موارد استفاده از آنها فقط به این محدود نمی شود.
ماشین های مجازی تو در تو می توانند کاملا مقرون به صرفه باشند زیرا نیازی به اضافه کردن تجهیزات فیزیکی اضافی برای ماشین های بیشتر ندارید. جابهجایی آنها نیز آسان است، بنابراین اگر شما (یا سازمانتان) ماشینها را از سرور محلی خود به فضای ابری منتقل میکنید، این فرآیند میتواند به سادگی صادر کردن فایلهای VM و آپلود آنها در رایانه دیگری یا ابروایزر ابری باشد.
به غیر از این، انعطافپذیری که ماشینهای مجازی تودرتو فراهم میکنند، به کاربران این امکان را میدهد که چند Hypervisor را اجرا کنند. همه هایپروایزرها یکسان ساخته نمی شوند و ممکن است گاهی لازم باشد یکی را بر دیگری انتخاب کنید. برای مثال، میتوان Windows Hyper-V را روی یک Windows VM که روی VirtualBox VMware میزبانی میشود، اجرا کرد که دو Hypervisor را به طور همزمان اجرا میکند.
آخرین اما نه کماهمیت، بزرگسازی آنها بر اساس نیازهای شما نیز بسیار آسان است. تنها کاری که باید انجام دهید این است که فضای ذخیرهسازی، رم یا یک CPU قویتر را به دستگاه میزبان خود اضافه کنید و ماشینهای مجازی و همچنین ماشینهای مجازی تو در تو، تنها با چند کلیک میتوانند از منابع اضافی استفاده کنند.
نحوه راه اندازی یک VM تودرتو
راه اندازی یک VM تودرتو بر اساس هایپروایزر مورد استفاده شما می تواند در واقع مشکل باشد. با این حال، برای VirtualBox، این فرآیند به سادگی کلیک کردن روی یک چک باکس است.
- VMware VirtualBox را باز کنید و بعد از انتخاب VM خود، روی نماد تنظیمات در بالا کلیک کنید.
- به بخش System رفته و روی تب Processor کلیک کنید. گزینه Enable Nested VT-x/AMD-V را علامت بزنید و آماده هستید.
در برخی از سیستم ها، ممکن است متوجه شوید که چک باکس Enable Nested VT-x/AMD-V خاکستری است. با استفاده از ابزار VBoxManage می توانید این مورد را لغو کنید. در اینجا چگونه است.
- Command Prompt را باز کنید و با استفاده از دستور زیر به دایرکتوری نصب VirtualBox بروید. توجه داشته باشید که دستور از دایرکتوری نصب پیش فرض استفاده می کند و اگر VirtualBox را در جای دیگری نصب کرده اید، باید آن را تغییر دهید. سی دی C:\Program Files\Orcale\VirtualBox
- با استفاده از این دستور لیست ماشین های مجازی موجود را چاپ کنید. اگر از قبل نام VM را میدانید که میخواهید تغییر دهید، میتوانید از این مرحله رد شوید. VBoxManage list vms
- در نهایت دستور زیر را تایپ کرده و enter را فشار دهید تا مجازی سازی تو در تو در VM انتخابی شما فعال شود. VBoxManage modifyvm “VM Name” –nested-hw-virt on
cd C:\Program Files\Orcale\VirtualBox
VBoxManage list vms
VBoxManage modifyvm "VM Name" --nested-hw-virt on
فرآیند فعال کردن مجازیسازی تودرتو، چه از ویندوز، چه لینوکس یا macOS استفاده میکنید، به همین صورت عمل میکند، از جمله دستورات ترمینال که همراه با VirtualBox نصب میشوند. علاوه بر این، VBoxManage می تواند بیش از فعال کردن مجازی سازی تودرتو انجام دهد. ما شش دستور مفید VirtualBox را که میتوانید برای مدیریت ماشینهای مجازی خود استفاده کنید، در اینجا توضیح دادهایم.
مراحل عیبیابی اضافی برای فعال کردن مجازیسازی تودرتو در ویندوز
گاهی اوقات ویژگی های مجازی سازی داخلی ویندوز می تواند باعث ایجاد مشکلاتی در مجازی سازی تو در تو شود. در صورتی که متدهای رابط کاربری گرافیکی و خط فرمان نتوانند مجازی سازی تودرتو در سیستم شما فعال شوند، باید ویژگی پلتفرم ماشین مجازی را غیرفعال کنید.
- کلید Windows را فشار دهید، گزینه Turn Windows features on or off را جستجو کنید و روی نتیجه جستجوی مربوطه کلیک کنید.
- ویژگی Virtual Machine Platform Platform را در لیست پیدا کنید، تیک کادر قبل از آن را بردارید و روی دکمه OK در پایین سمت راست کلیک کنید.
ممکن است از شما خواسته شود که کامپیوتر خود را مجددا راه اندازی کنید. پس از اتمام، می توانید دستورات Command Prompt را که در بالا ذکر شد امتحان کنید تا مجازی سازی تودرتو در VM خود را فعال کنید. به خاطر داشته باشید که ممکن است بر اساس سیستم عامل و پردازنده خود با مشکلات خاصی مواجه شوید. همانطور که انتظار دارید، اینها نیاز به راه حل هایی خاص برای محیط میزبان و سخت افزار شما دارند.
با این حال، اکثر مشکلات رایج یا از طریق به روز رسانی رفع شده اند یا به اندازه کافی مورد بحث قرار گرفته اند تا بتوانید به راحتی راه حلی پیدا کنید. این بدان معنا نیست که شما نباید از آزمایش VMهای تودرتو منصرف شوید فقط به این دلیل که هنگام پیکربندی آنها با مشکلی مواجه می شوید زیرا حل چنین مسائلی در بیشتر موارد فقط به کمی تحقیق و آزمایش نیاز دارد. یک بار دیگر، اگر از آخرین نسخه VirtualBox استفاده میکنید و از پردازندههای جدیدتر، چه اینتل یا AMD استفاده میکنید، میتوانید به سادگی از بسیاری از این مشکلات جلوگیری کنید.
ماشین های مجازی تو در تو می توانند مفید باشند
نه تنها میتوان ماشینهای مجازی تودرتو ایجاد کرد، بلکه اگر به درستی انجام شود، میتواند بسیار سودمند باشد. مطمئناً برای بارهای کاری خاص و خاص مناسبتر است، اما برای کاربر مناسب، انعطافپذیری و مقیاسپذیری، و همچنین راحتی که ارائه میدهند، ارزش افت جزئی عملکرد را دارند.