Xen
VMware ESXi
از دیدگاه های مختلفی می توان hypervisor ها را با یکدیگر مقایسه نمود. از آن جمله می توان به پیاده سازی سرویس مجازی سازی کامل[۸۱] در مقابل مجازی سازی ضمنی[۸۲] اشاره کرد. در حالت اول، سخت افزار به طور کامل شبیه سازی می گردد و انتزاع کاملی از آن برای ماشین های مجازی ایجاد می گردد. به این ترتیب سیستم های عامل میهمان[۸۳] نیازی به اصلاح برای کار بر روی این ماشین مجازی نخواهند داشت. همچنین آنها و نرم افزارهای در حال اجرا بر روی آنها هیچ اطلاعی از وجود ماشین مجازی نخواهند داشت. در نتیجه پیاده سازی به شکل کامل امکان مهاجرت نرم افزارها و سیستم های عامل میهمان بین ماشین های فیزیکی را میسر می سازد. همچنین با ایزوله کردن نرم افزارها و سیستم عامل ها، امنیت هر یک از آنها در حد بالایی تامین خواهد شد.
(( اینجا فقط تکه ای از متن درج شده است. برای خرید متن کامل فایل پایان نامه با فرمت ورد می توانید به سایت feko.ir مراجعه نمایید و کلمه کلیدی مورد نظرتان را جستجو نمایید. ))
در عین حال این شکل از مجازی سازی مشکلات کاهش کارایی را نیز به دنبال دارد. زیرا hypervisor مجبور است تصویر کاملی از هر ماشین مجازی و سیستم عامل میهمان نصب شده بر روی آن را نگه دارد. به عنوان مثال حتی BIOS شبیه سازی می گردد. بنابراین منابع بیشتری صرف مدیریت و اجرای hypervisor خواهد شد.
در مقابل، پیازی سازی مجازی سازی به شکل ضمنی اجازه دسترسی سیستم های عامل میهمان را به بخش هایی از منابع بدون شبیه سازی آنها فراهم می کند. در این حالت لازم است روی سیستم های عامل میهمان اصلاحاتی صورت گیرد تا امکان برقراری ارتباط با hypervisor را داشته باشند. در نتیجه آنها از وجود ماشین مجازی مطلع خواهند بود. این روش در کنار برخی از مشکلات امنیتی، عموما از سیستم های عامل closed-source پشتیبانی نمی کند زیرا امکان انجام اصلاحات لازم برای کار در ماشین مجازی در مورد آنها وجود ندارد ]۳۹[.
نرم افزارهای Hyper-V و Xen به صورت مجازی سازی ضمنی و ESX به صورت مجازی سازی مطلق پیاده سازی شده اند.
در ادامه به بررسی معماری هر یک از این سه محصول می پردازم و در نهایت برای مدل سازی روابط بر روی VMware ESX متمرکز خواهیم شد.
Microsoft Hyper-V
توضیحات زیر از سایت رسمی اسناد فنی شرکت میکروسافت (MSDN) برداشت شده است ]۴۰[.
Hyper-V یک تکنولوژی مجازی سازی مبتنی بر Hypervisor است که برای Windows server 2008 نسخه ۶۴ بیتی ساخته شده است.
اولین مفهوم مطرح در این تکنولوژی نوعی از جدا سازی[۸۴] به نام پارتیشن است. در واقع Hyper-V از این بخش های جدا شده برای نگهداری اطلاعات و اجرای سیستم عامل های مختلف استفاده می کند. وجود حداقل یک پارتیشن ضروری است که پارتیشن ریشه یا والد[۸۵] نامیده می شود. در این پارتیشن یک سیستم عامل Windows server 2008 نصب و اجرا می گردد که وظیفه مدیریت دیگر سیستم عامل های مهمان و برقراری ارتباط آنها با سخت افزارهای فیزیکی را بر عهده دارد. پارتیشن ریشه تنها پارتیشنی است که دسترسی مستقیم به سخت افزار فیزیکی را دارد و از طریق رابط برنامه نویسی[۸۶] hypercall سیستم عامل های میهمان را ایجاد می کند.
سیستم عامل های میهمان با تصویری از پردازنده و وقفه ها[۸۷] و در فضای محدودی از حافظه کار می کنند. در واقع hypervisor وقفه ها را برای سیستم عامل ترجمه کرده و به پارتیشن متناظر ارسال می کند. همچنین سیستم عامل ها (میهمان) به کمک ماژول VDev [۸۸] با تصویری از سخت افزارهای جانبی کار می کنند که توسط hypervisor اجرا می شود. درخواست سیستم عامل از سخت افزار[۸۹] مجازی توسط VMBus[90] که یک کانال ارتباطی منطقی بین پارتیشن ها است به hypervisor و یا پارتیشن ریشه منتقل می شود و از آنجا به سخت افزار واقعی انتقال می یابد. به عبارت دقیقتر، ماژول VSC[91] بر روی سیستم عامل میهمان درخواست خود را از طریق VMBus برای ماژول VSP[92] بر روی سیستم عامل میزبان در پارتیشن ریشه ارسال می نماید.
همچنین می توان از امکان Enlightened I/O برای افزایش سرعت و کارایی دستیابی به سخت افزارهای جانبی مانند دیسک، رابط شبکه و غیره استفاده نمود. در واقع این تکنولوژی، پیاده سازی پروتکل های سطح بالا (مانند SCSI) است که برای استفاده در محیط مجازی آماده پیاده سازی پروتکل های سطح بالا (مانند SCSI) است که برای استفاده در محیط مجازی آماده شده اند[۹۳]. این پروتکل ها با استفاده مستقیم از VMBus، لایه های میانی شبیه سازی[۹۴] سخت افزارها و نیاز به راه اندازها[۹۵] را از بین می برند. اما استفاده از این امکان به راه اندازی سرویس های مجتمع سازی[۹۶] نیاز دارد که برای چند سیستم عامل مشخص موجود است.
لیست سیستم های عاملی که توسط Hyper-V پشتیبانی می شوند در جدول ۳٫۱ آورده شده است.
جدول ۳٫۱٫ سیستم های عامل قابل پشتیبانی توسط Hyper-V R2 ]42[
Guest OS | Virtual processors | Edition(s) |
Windows 7 | ۱,۲ or 4 | Both x86-32 and x86-64, all editions except home editions |
Windows Server 2008 R2 | ۱,۲ or 4 | Web, Standard, Enterprise, Datacenter |
Windows Server 2008 | ۱,۲ or 4 | Both x86 and x64, Web, HPC, Standard, Enterprise, Datacenter, with or without Hyper-V |
Linux (only including SUSE Linux Enterprise Server 10 with SP3 or version 11 and Red Hat Linux versions 5.2-5.5) | ۱,۲ or 4 | Both x86 and x64 |
Windows Server 2003 |