هایپروایزر Hypervisor چیست؟
هایپروایزر Hypervisor چیست و چه کاربردی دارد ؟
هایپروایزر ( Hypervisor ) یکی از دو روش برای مجازی سازی یک محیط محاسباتی است، منظور ما از virtualize ، تقسیم منابع مانند RAM و CPU از یک محیط محاسبات فیزیکی (شناخته شده به عنوان سرور اصلی میزبان) به چند ماشین مجازی کوچکتر (شناخته شده به عنوان مهمان) . هر مهمان می تواند سیستم عامل مورد نیاز خود را نصب کند و هر ماشین مجازی منابع ( RAM و CPU ) خود را دارد، در واقع سرور مجازی درست مانند یک سرور فیزیکی رفتار می کند، این امکان نیازمند پشتیبانی قابلیتی به نام VT-x در سی پی یو های اینتل و AMD-V در سی پی یو های AMD است.
یکی از وظایف کلیدی که Hypervisor فراهم می کند جداسازی است، این به این معنی است یک مهمان امکان دسترسی به سرور میزبان و همچنین دسترسی به سایر مهمان ها ( ماشین های مجازی ) ایجاد شده در سرور ندارد و رفتار های سرور مهمان روی آنها تاثیری نداشته باشد، حتی اگر ماشین مهمان با مشکلاتی مانند کرش شدن مواجه شود. بنابراین هایپروایزر باید به دقت مانند یک سخت افزار ماشین فیزیکی تقلید کند و از دسترسی مهمان به سخت افزار واقعی جلوگیری کند، از آن جایی که این عمل به شدت سرعت را کاهش می دهد از یک روش paravirtualized یا PV drivers استفاده می شود. این امکان تمام سخت افزارها را به صورت مجازی در اختیار ماشین مجازی قرار می دهد و درایورهای آن توسط Hypervisor دریافت می شود، با استفاده از این روش سرعت بالا می رود و همچنین امکان دسترسی مستقیم به سخت افزارهای اصلی سرور و کنترل آنها توسط مهمان دیگر وجود ندارد.
Hypervisors دو نوع است Type 1 و Type 2
Type 1: در این نوع از Hypervisor که به اصطلاح به آن “Bare Metal” گفته می شود ، Hypervisor به طور مستقیم برای کنترل سخت افزار و سیستم عامل های مهمان اجرا می شود. بنابراین مجازی ساز های VMware ESXi و Xen از نوع Type 1 می باشد. تصویر زیر مثالی type 1 است:
Type 2: در این نوع از Hypervisor که به اصطلاح به آن “میزبانی شده” گفته می شود، Hypervisor در داخل یک سیستم عامل اجرا می شود و پس از آن سیستم عامل های مهمان ایحاد می شود. سیستم های مجازی ساز دسکتاپ اغلب از این روش استفاده می کنند. بنابراین مجازی ساز های OpenVZ و KVM از نوع Type 2 هستند. تصویر زیر مثالی type 2 است:
با تصاویر بالا نتیجه می گیریم Hypervisor تایپ ۱ بهتر از تایپ ۲ است زیرا در تایپ ۱ Hypervisor هنگام دسترسی به منابع فیزیکی از سیستم عامل میزبان استفاده نمی شود. پیدا کردن نوع Hypervisor کاری بسیار ساده است، برای مثال مجازی ساز KVM که به عنوان یک پردازش در سیستم عامل میزبان لینوکس نصب می شود از نوع TYPE-2 است. در واقع فرایند راه اندازی صرفا دسترسی به تعداد محدودی منابع از طریق سیستم عامل میزبان و بسیاری از وظایف حساس توسط ماژول کرنل انجام می شود که دسترسی مستقیم به سخت افزار را دارد.