Hypervisor (هایپروایزر) چیست؟ چرا باید از آن استفاده کنیم؟
Hypervisor ها در سال 1965 برای کار با IBM RPQ ایجاد شدند. در ابتدا برای آزمایش سیستم های مشترک میان ماشین مجازی، بدون آسیب رساندن به قطعات سخت افزاری سیستم اصلی طراحی شده بودند. اما به تدریج برای تخصیص منابع سخت افزاری فیزیکی به ماشین های مجازی مورد استفاده قرار گرفتند و به عنوان یک قابلیت ویژه یا فیچر اضافی در ماشین مجازی شناخته شدند.
در این مقاله همراه ما باشید تا با هم به بررسی هایپروایزر و کاربرد آن بپردازیم.
Hypervisor چیست؟
Hypervisor که به عنوان مانیتور ماشین مجازی یا VMM نیز شناخته می شود، نرم افزاری است که ماشین های مجازی (VM) را ایجاد و اجرا می کند. Hypervisor به یک کامپیوتر میزبان اجازه می دهد تا از طریق به اشتراک گذاری مجازی منابع خود مانند حافظه و پردازش، از چندین VM پشتیبانی کند.
چرا باید از هایپروایزر استفاده کرد؟
دلایل زیادی برای استفاده از هایپروایزر وجود دارد که از جمله آن ها می توان به موارد زیر اشاره کرد:
افزایش سرعت:
Hypervisor به ماشین های مجازی اجازه می دهد که بر خلاف سرورها (که نیاز به اسمبل قطعات دارند)، به سرعت ایجاد شوند. این امر تأمین منابع مورد نیاز برای بارهای کاری پویا را آسان تر می کند.
افزایش کارایی:
هایپروایزرهایی که چندین ماشین مجازی را روی منابع یک ماشین فیزیکی اجرا می کنند، امکان استفاده کارآمدتر از یک سرور فیزیکی را فراهم می کنند. راه اندازی چندین ماشین مجازی روی یک ماشین فیزیکی، نسبت به اجرای چندین ماشین فیزیکی کم استفاده برای یک کار، مقرون به صرفه تر و کارآمدتر است.
افزایش انعطاف پذیری:
Hypervisor نوع 1 به سیستم های عامل و برنامه های مرتبط با آن ها اجازه می دهد بر روی انواع سخت افزار اجرا شوند؛ چرا که هایپروایزر سیستم عامل را از لایه سخت افزار جدا می کند. بنابراین نرم افزار دیگر به دستگاه ها یا درایورهای سخت افزاری خاصی وابسته نیست.
قابلیت حمل بالا:
Hypervisor به چندین سیستم عامل اجازه می دهد تا در یک سرور فیزیکی (ماشین میزبان) اجرا شوند. از آنجایی که ماشین های مجازی که هایپروایزر اجرا می کند، مستقل از ماشین فیزیکی هستند، قابل حمل یا پرتابل می باشند. تیم های فناوری اطلاعات می توانند حجم کاری را تغییر دهند و منابع شبکه، حافظه، ذخیره سازی و پردازش را در صورت نیاز به چندین سرور تخصیص دهند و از ماشینی به ماشین دیگر یا از پلتفرمی به پلتفرم دیگر منتقل شوند یا به اصطلاح Switch کنند.
هنگامی که یک برنامه به قدرت پردازش بیش تری نیاز دارد، نرم افزار مجازی سازی به آن اجازه می دهد تا به طور یکپارچه به ماشین های اضافی دسترسی داشته باشد.
انواع Hypervisor (هایپر وایزر)
دو نوع Hypervisor اصلی وجود دارد که به آنها نوع 1 (Bare Metal) و نوع 2 یا (Hosted) گفته می شود. هایپروایزر نوع 1 مانند یک سیستم عامل سبک عمل می کند و مستقیماً روی سخت افزار میزبان اجرا می شود، در حالی که هایپروایزر نوع 2 مانند سایر برنامه های کامپیوتری به عنوان یک لایه نرم افزاری روی یک سیستم عامل اجرا می شود.
متداول ترین نوع هایپروایزر استقرار یافته نوع 1 است که در آن نرم افزار مجازی سازی مستقیماً روی سخت افزاری که سیستم عامل به طور معمول نصب می شود، قابل نصب است. از آنجایی که هایپروایزرهای نوع 1، از سیستم عامل مستعد هک مستقل شده اند، بسیار امن هستند. علاوه بر این، آن ها عموماً عملکرد بهتر و کارآمدتری نسبت به هایپروایزرهای میزبان دارند. به این دلایل، اکثر شرکت های سازمانی هایپروایزرهای نوع 1 را برای نیازهای محاسباتی مرکز داده انتخاب می کنند.
در حالی که هایپروایزرهای Bare Metal مستقیماً روی سخت افزار محاسباتی اجرا می شوند، هایپروایزرهای Hosted بر روی سیستم عامل (OS) ماشین میزبان اجرا می شوند. اگرچه Hypervisor میزبانی شده در سیستم عامل اجرا می شود، سیستم عامل ها با نسخه های متفاوت را می توان روی هایپروایزر نصب کرد. این موضوع که ارتباط بین سخت افزار و هایپروایزر باید از لایه اضافی سیستم عامل عبور کند، به نوعی نقطه ضعف هایپروایزرهای هاست محسوب شده و باعث می شود که تاخیر عملکردشان نسبت به نوع 1 بیش تر باشد.
هایپروایزرهای میزبانی شده گاهی اوقات به عنوان Hypervisor مشتری نیز شناخته می شوند، زیرا اغلب برای کاربران نهایی و تست نرم افزار استفاده می شوند (جایی که تأخیر بیش تر کمتر نگران کننده است).
فناوری شتاب سخت افزاری می تواند منابع مجازی را سریع تر (با افزایش سرعت پردازش) برای هایپروایزرهای نوع 1 و میزبانی ایجاد و مدیریت کند. این فناوری نوعی شتاب دهنده سخت افزاری است که به عنوان شتاب دهنده گرافیک اختصاصی مجازی (vDGA) شناخته می شود و وظیفه ارسال و به روز رسانی گرافیک های سه بعدی پیشرفته را بر عهده دارد. این کار سیستم اصلی را برای کارهای دیگر آزاد می کند و با این کار سرعت نمایش تصاویر تا حد زیادی افزایش می یابد.
برای صنایعی مانند اکتشاف نفت و گاز که نیاز به تجسم سریع داده های پیچیده دارند، این فناوری می تواند بسیار مفید باشد. هر دو نوع Hypervisor می توانند برای مجازی سازی سرور استفاده شوند. ارائه دهندگان خدمات ابری عمومی، فضای سرور را در سرورهای مجازی مختلف به شرکت های مختلف اجاره می دهند.
یک سرور ممکن است میزبان چندین سرور مجازی باشد که همگی دارای بار کاری برای شرکت های مختلف هستند. یک سرور با هایپروایزر نوع 1 که یک شرکت واحد بر روی آن کنترل کامل دارد، همیشه عملکرد بالاتری نسبت به سرور مجازی (که پهنای باند، حافظه و قدرت پردازش یک سرور فیزیکی را با سرورهای مجازی دیگر به اشتراک می گذارد)، خواهد داشت. سخت افزار سرورهای هایپروایزر نوع 1 را نیز می توان برای افزایش عملکرد بهینه کرد، که در مورد سرورهای عمومی مشترک صدق نمی کند.
مشاغلی که نیاز به رعایت مقرراتی دارند که نیازمند جداسازی فیزیکی منابع هستند، باید از سرورهای نوع 1 استفاده کنند که منابع را با سایر مشترکان به اشتراک نمی گذارند.
Hypervisor چگونه کار می کند؟
Hypervisor از ایجاد و مدیریت ماشین های مجازی (VM) با انتزاع نرم افزار کامپیوتر، از سخت افزار آن پشتیبانی می کند. هایپروایزرها مجازی سازی را با کامپایل درخواست ها بین منابع فیزیکی و مجازی امکان پذیر می کنند. گاهی هایپروایزرهای نوع 1 در همان سطح سیستم ورودی-خروجی اصلی مادربورد (BIOS) در سیستم عامل تعبیه می شوند تا سیستم عامل روی رایانه را قادر به دسترسی و استفاده از نرم افزار مجازی سازی کنند.
هایپروایزرها مدت زیادی است که استفاده می شوند، اما با افزایش استفاده از رایانش ابری، اهمیت آن ها بیش تر شده است. اطمینان از کارکرد درست Hypervisor، عملکرد مناسب برای کارکرد موثر ماشین های مجازی، مدیریت استفاده از منابع و حفظ امنیت دستگاه ضروری است. برای انجام این کار، می توانید از یک ابزار کنترل مانند Virtualization Manager استفاده کنید تا از عملکرد ماشین مجازی خود مطمئن شوید و مشکلات عدم اجرای هایپروایزر را رفع کنید.