hypervisor یا مانیتور ماشین مجازی یا VMM، نرم افزاری است که ماشین های مجازی (VM) را ایجاد و اجرا می کند. یک هایپروایزر به یک رایانه میزبان اجازه می دهد تا با تقسیم منابع خود از قبیل حافظه و پردازش، از چندین ماشین مجازی مهمان پشتیبانی کند. در ادامه به بررسی بیشتر آن می پردازیم.
سخت افزار فیزیکی، هنگامی که به عنوان hypervisor استفاده می شود میزبان نامیده می شود، در حالی که بسیاری از ماشین های مجازی که از منابع آن استفاده می کنند مهمان هستند. Hypervisor منابعی مانند CPU، حافظه و فضای ذخیره سازی را منبعی در نظر می گیرد که می تواند به راحتی بین مهمانان موجود یا ماشین های مجازی جدید تخصیص دهد.
از آنجا که VM های مهمان مستقل از سخت افزار میزبان هستند، Hypervisors امکان استفاده بیشتر از منابع موجود در سیستم و فعالیت IT بیشتر را فراهم می کند. این بدان معنی است که می توان آن ها را به راحتی بین سرور های مختلف جابجا کرد. از آنجا که چندین ماشین مجازی با یک hypervisor می توانند از یک سرور فیزیکی سهم ببرند، hypervisor موارد زیر را کاهش می دهد:
دو نوع مانیتور ماشین مجازی اصلی وجود دارد که به آن ها “نوع 1” (یا “عاری از فلز”) و “نوع 2” (یا “میزبانی شده”) گفته می شود. هایپروایزر نوع 1 مانند یک سیستم عامل سبک وزن عمل می کند و مستقیماً روی سخت افزار میزبان اجرا می شود، در حالی که هایپروایزر نوع 2 مانند سایر برنامه های رایانه ای به عنوان یک لایه نرم افزاری روی سیستم عامل اجرا می شود.
متداول ترین نوع هایپروایزر نوع 1 یا bare-metal است که در آن نرم افزار مجازی سازی مستقیماً روی سخت افزاری که سیستم عامل آن معمولاً نصب شده است، نصب می شود. از آنجا که هایپر وایزور های نوع 1 از سیستم عامل های مستعد حمله جدا شده اند، از امنیت بالایی برخوردار هستند. علاوه بر این آن ها به طور کلی عملکرد بهتر و کارآمد تری نسبت به هایپروایزر نوع 2 یا میزبانی شده دارند. به همین دلایل بیشتر شرکت های سازمانی، مانیتور ماشین مجازی نوع 1 را برای نیاز های محاسبات مرکز داده خود انتخاب می کنند.
در حالی که هایپروایزر های نوع 1 مستقیماً از طریق سخت افزار محاسبات اجرا می شوند، hypervisor های نوع 2 یا میزبانی شده در لایه بالای سیستم عامل دستگاه میزبان اجرا می شوند. اگر چه هایپروایزر های میزبانی شده در محدوده سیستم عامل کار می کنند، سیستم عامل های اضافی (و مختلف) را می توان در لایه بالای hypervisor نصب کرد.
نقطه ضعف هایپروایزر های میزبانی شده یا نوع 2 این است که تأخیر بالا تری نسبت به هایپروایزر های نوع 1 دارند. دلیل این امر آنست که ارتباط بین سخت افزار و hypervisor باید از لایه اضافی سیستم عامل عبور کند. hypervisor های میزبانی شده گاهی اوقات به عنوان hypervisors مشتری شناخته می شوند، زیرا آن ها اغلب در کاربران نهایی و آزمایش نرم افزار استفاده می شوند، که تأخیر بالا تر باعث نگرانی نمی شود.
فن آوری شتاب سخت افزاری می تواند با افزایش سرعت پردازش برای هر دو نوع هایپروایزر، به صورت سریع تر منابع مجازی را ایجاد و مدیریت کند. نوعی شتاب دهنده سخت افزاری که به عنوان شتاب دهنده گرافیکی اختصاصی مجازی (vDGA) شناخته می شود، از ارسال و تازه سازی گرافیک های سه بعدی درجه یک مراقبت می کند.
با این کار سیستم اصلی برای کار های دیگر آزاد می شود و سرعت نمایش تصاویر تا حد زیادی افزایش می یابد. برای صنایعی مانند اکتشاف نفت و گاز که نیاز به تجسم سریع داده های پیچیده وجود دارد، این فناوری می تواند بسیار مفید باشد.
هر دو نوع hypervisor می توانند چندین سرور مجازی را برای چندین مشتری در یک ماشین فیزیکی اجرا کنند. ارائه دهندگان خدمات ابری عمومی، فضای سرور را در سرور های مجازی مختلف به شرکت های مختلف اجاره می دهند. یک سرور ممکن است میزبان چندین سرور مجازی اختصاصی باشد که همگی بار های کاری برای شرکت های مختلف را به همراه دارند.
هنگامی که یکی از مشتری ها بار زیادی را اجرا می کند که باعث ایجاد تداخل در عملکرد سرور برای سایر کاربران می شود، این نوع به اشتراک گذاری منابع می تواند منجر به اثر “noisy neighbor” شود. همچنین این روش خطر امنیتی بیشتری نسبت به استفاده از سرور اختصاصی نوع 1 را در بر دارد.
یک سرور نوع 1 یا عاری از فلز که یک شرکت واحد، کنترل کاملی روی آن دارد همیشه عملکرد بالا تری نسبت به یک سرور مجازی دارد که پهنای باند، حافظه و قدرت پردازش یک سرور فیزیکی را با سایر سرور های مجازی به اشتراک می گذارد.
سخت افزار سرور های نوع 1 نیز می تواند برای افزایش کارایی بهینه شود که در مورد سرور های عمومی مشترک چنین نیست. مشاغلی که نیاز به رعایت مقرراتی دارند که به تفکیک فیزیکی منابع احتیاج دارند، باید از سرور های نوع 1 خود که منابعی را با سایر کاربران به اشتراک نمی گذارند، استفاده کنند.
با فراگیر شدن رایانش ابری، hypervisor به عنوان ابزاری ارزشمند برای راه اندازی ماشین های مجازی و ایجاد نوآوری در یک فضای ابری ظهور کرده است. از آنجا که hypervisor یک لایه نرم افزاری است که به یک کامپیوتر میزبان امکان پشتیبانی همزمان از چندین ماشین مجازی را می دهد، هایپروایزر ها یکی از عناصر اصلی فناوری هستند که محاسبات ابری را امکان پذیر می کند.
هایپروایزر ها برنامه های مبتنی بر ابر را در سراسر محیط مجازی در دسترس کاربران قرار می دهند در حالی که هنوز بخش های IT را قادر می سازد کنترل زیر ساخت ها، برنامه ها و داده های حساس یک محیط ابری را حفظ کند.
تحول دیجیتال و افزایش انتظارات مشتری باعث اعتماد بیشتر به برنامه های ابتکاری می شود. در نتیجه بسیاری از شرکت ها در حال انتقال ماشین های مجازی خود به ابر هستند. با این حال اینکه مجبور به بازنویسی هر برنامه موجود برای ابر باشید، می تواند منجر به استفاده از منابع گران بهای IT شده و به انبار های زیرساختی هدایت شوید.
خوشبختانه به عنوان بخشی جدایی ناپذیر از یک پلتفرم مجازی سازی، یک hypervisor می تواند به انتقال سریع برنامه ها به ابر کمک کند. در نتیجه شرکت ها می توانند از مزایای بسیار زیاد ابر، از جمله کاهش هزینه های سخت افزاری، افزایش قابلیت دسترسی و مقیاس پذیری بیشتر برای بازگشت سریع سرمایه خود برخوردار شوند.
Hypervisor با جدا کردن نرم افزار رایانه از سخت افزار، از ایجاد و مدیریت ماشین های مجازی (VM) پشتیبانی می کنند. هایپروایزر ها با ترجمه درخواست ها بین منابع مجازی و فیزیکی، مجازی سازی را امکان پذیر می کنند.
هایپروایزر های نوع 1 گاهی در سیستم عامل در همان سطح سیستم ورودی / خروجی پایه مادربرد (BIOS) تعبیه می شوند تا سیستم عامل موجود در رایانه بتواند به نرم افزار مجازی سازی دسترسی پیدا کند و از آن استفاده کند.
استفاده از hypervisor که میزبان چندین ماشین مجازی است مزایای مختلفی دارد:
Container ها و Hypervisor ها هر دو در سریع تر و کارآمد تر کردن برنامه ها نقش دارند، اما آن ها از راه های مختلفی به این هدف می رسند.
Hypervisor ها و Container ها برای اهداف مختلفی استفاده می شوند. از Hypervisor برای ایجاد و راه اندازی ماشین های مجازی (VM) استفاده می شود که هر کدام سیستم عامل کامل خود را دارند و به طور ایمن از بقیه جدا شده اند.
بر خلاف ماشین های مجازی، کانتینر ها فقط یک برنامه و خدمات مربوط به آن را ارائه می کنند. این باعث می شود که آن ها سبک تر و قابل حمل تر از ماشین های مجازی باشند، بنابراین غالباً برای توسعه و حرکت سریع و انعطاف پذیر کاربرد دارند.
منبع: vmware.com