هایپروایزر (Hypervisor) چیست و چه نقشی در مجازی‌سازی دارد؟

با خواندن این مقاله متوجه می‌شوید که هایپروایزر چیست و اهمیت، کاربردها، مزایا، انواع و نقش آن در مجازی‌سازی را درک می‌کنید.

قبل از سال ۲۰۰۰ که فناوری مجازی‌سازی به شکل امروزی در کار نبود، مجبور بودیم برای هر سرویس، از یک سرور و سخت‌افزار جداگانه استفاده کنیم؛ مثلاً:

  • یک سرور فقط وب‌سایت را اجرا می‌کرد،
  • یک سرور فقط دیتابیس داشت،
  • یک سرور فقط مخصوص ایمیل بود.

اما با روی کار آمدن هایپروایزر (Hypervisor) و فناوری مجازی‌سازی، می‌توانیم روی یک سرور فیزیکی، چند «سرور مجازی» بسازیم که هرکدام مستقل از دیگری کار می‌کنند.

اگر تا امروز با سرویس‌های ابری، سرورهای مجازی یا حتی نرم‌افزارهایی مثل VirtualBox کار کرده باشید، درواقع به‌نوعی با هایپروایزر سروکار داشته‌اید.

اما هایپروایزر دقیقاً چیست؟ چگونه کار می‌کند؟ چه تفاوتی با ماشین مجازی یا کانتینرها دارد؟ و چرا این فناوری برای زیرساخت‌های ابری و امنیت سایبری اهمیت زیادی دارد؟

در این مقاله به زبان ساده و کامل، همه چیز را درباره Hypervisor بررسی می‌کنیم.

هایپروایزر چیست؟

هایپروایزر که با نام Virtual Machine Monitor یا VMM نیز شناخته می‌شود، نرم‌افزار یا فریم‌وری است که امکان ساخت، اجرا و مدیریت ماشین‌های مجازی (Virtual Machines) را ایجاد می‌کند.

به زبان ساده‌تر 👇

هایپروایزر یک لایه نرم‌افزاری است که باعث می‌شود بتوانید روی یک سرور فیزیکی، هم‌زمان چندین سیستم‌عامل (مثلاً ویندوز و لینوکس) را مستقل از هم اجرا کنید.

هایپروایزر چیست

برای اینکه توضیحات این بخش و بخش‌های بعدی را بهتر درک کنید، پیشنهاد می‌کنم دو مقاله زیر را هم در وبلاگ لیموهاست بخوانید:

مثالی از هایپروایزر

ببینید روی سرورهای فیزیکی معمولاً یک سیستم‌عامل (مثل لینوکس یا ویندوز) نصب و یک سرویس روی آن اجرا می‌شود.

ولی وقتی از هایپروایزر استفاده می‌کنیم، به‌جای اینکه فقط یک سیستم‌عامل روی سرور نصب شود، هایپروایزر منابع سرور را تقسیم می‌کند تا چند ماشین مجازی مستقل با اهداف مختلف روی همان سرور اجرا شوند؛ مثلاً:

  • یک ماشین مجازی برای میزبانی وب‌سایت
  • یک ماشین مجازی برای دیتابیس
  • یک ماشین مجازی برای بکاپ
  • و یک ماشین مجازی برای تست و توسعه نرم‌افزار

در واقع این‌طوری چندین سرور با منابع، سیستم‌عامل و محیط مستقل و مجزا داریم که همگی روی یک سخت‌افزار مشترک اجرا می‌شوند.

📌 هایپروایزر ابری چیست؟

هایپروایزر ابری (Cloud Hypervisor) نوعی هایپروایزر است که در زیرساخت‌های رایانش ابری استفاده می‌شود.

شرکت‌هایی مثل Amazon AWS و Microsoft Azure و Google Cloud، برای ارائه سرورهای ابری و ماشین‌های مجازی، به‌شدت به این نوع هایپروایزرها وابسته هستند.

بدون این نوع هایپروایزرها، سرویس‌های Cloud امروزی عملاً وجود نداشتند.

وظیفه اصلی هایپروایزر چیست؟

مهم‌ترین وظیفه Hypervisor مدیریت منابع سخت‌افزاری و تخصیص آن‌ها به ماشین‌های مجازی است. یعنی هایپروایزر منابع فیزیکی سرور را (مثل CPU، RAM، Storage، Network) به چند محیط ایزوله‌شده تقسیم کند، به طوری که هر کدام تصور کنند روی یک سخت‌افزار مستقل اجرا می‌شوند.

این محیط‌های ایزوله‌شده همان ماشین‌های مجازی (Virtual Machines – VM) هستند و هایپروایزر مشخص می‌کند که هر کدام چه مقدار پهنای باند شبکه، حافظه، فضای ذخیره‌سازی و پردازنده داشته باشند.

پس  در کل مهم‌ترین وظایف Hypervisor عبارتند از:

  • امکان ساخت، اجرا و مدیریت ماشین‌های مجازی (VM)
  • ایزوله‌سازی ماشین‌های مجازی
  • بهینه‌سازی استفاده از منابع سرور
  • مدیریت و مانیتورینگ VMها
محتوای مرتبط: بررسی و مقایسه تکنولوژی‌های مجازی‌سازی: KVM ،OpenVZ و Xen

انواع هایپروایزر

ما دو نوع هایپروایزر داریم:

  • Type 1
  • Type 2

هایپروایزر نوع اول (Type 1)

هایپروایزر Type 1 که با نام‌های «Native Hypervisor» یا «Bare-Metal Hypervisor» نیز شناخته می‌شود، مستقیماً روی سخت‌افزار یا همان سرور نصب و اجرا می‌شود و به سیستم‌عامل واسطه نیاز ندارد.

هایپروایزر نوع یک

از آنجایی که برنامه‌ها معمولاً برای دسترسی به CPU و حافظه باید از لایه سیستم‌عامل عبور کنند؛ اما هایپروایزر Type 1 مستقیماً به سخت‌افزار دسترسی دارد:

  • عملکرد سریع‌تری دارد،
  • امنیت بالاتری ارائه می‌دهد،
  • و برای دیتاسنترها و سازمان‌ها مناسب‌تر و کلاً مدل رایج‌تری است.

نمونه‌های معروف هایپروایزر Type 1 این موارد هستند:

  • VMware ESXi
  • Microsoft Hyper-V
  • KVM (* KVM در سال ۲۰۰۷ به هسته لینوکس اضافه شد؛ بنابراین اگر از نسخه‌های مدرن Linux استفاده می‌کنید، به KVM دسترسی دارید.)
  • Xen

پس اگر یک دیتاسنتر بزرگ داشته باشید که باید صدها ماشین مجازی را مدیریت کنید، باید از Type 1 استفاده کنید؛ چون سرعت، پایداری و امنیت بیشتری دارد.

هایپروایزر نوع دوم (Type 2)

هایپروایزر Type 2 مثل بقیه نرم‌افزارها، روی خود سیستم‌عامل نصب و اجرا می‌شود. یعنی ابتدا سیستم‌عامل اصلی اجرا می‌شود و بعد هایپروایزر روی آن قرار می‌گیرد. این مدل با نام‌های «Hosted Hypervisor» و «Embedded Hypervisor» هم شناخته می‌شود.

هایپروایزر نوع دوم

هایپروایزرهای Type 2 بیشتر برای تست، توسعه نرم‌افزار، آموزش یا استفاده شخصی کاربرد دارند؛ مثلاً اگر بخواهید روی لپ‌تاپ خود Linux را کنار Windows اجرا کنید، احتمالاً از VirtualBox یا VMware Workstation استفاده می‌کنید که هر دو Type 2 هستند.

البته ناگفته نماند که در این مدل احتمال بروز مشکلاتی مثل تأخیر (Latency) و افت عملکرد بیشتر است. همچنین امنیت آن نسبت به Type 1 کمتر است؛ چون اگر سیستم‌عامل اصلی آلوده یا هک شود، ماشین‌های مجازی ایجادشده نیز ممکن است در معرض خطر قرار بگیرند.

نمونه‌های معروف هایپروایزر نوع ۲ این موارد هستند:

  • Oracle VirtualBox
  • VMware Workstation
  • Parallels Desktop

تفاوت هایپروایزر و ماشین مجازی چیست؟

با توضیحاتی که تا اینجا دادیم، احتمالاً می‌توانید تفاوت آن‌ها را حدس بزنید!

ماشین مجازی یا VM محیطی شبیه‌سازی‌شده در یک سرور یا کامپیوتر است که سیستم‌عامل مستقل و منابع اختصاصی خودش را دارد؛ ولی هایپروایزر نرم‌افزاری است که این VMها را ایجاد و مدیریت می‌کند.

بدون Hypervisor معمولاً امکان اجرای ماشین‌های مجازی وجود ندارد. در واقع می‌توانیم این‌طور بگوییم که: هایپروایزر یک بستر است که ماشین‌های مجازی روی آن اجرا می‌شوند.

محتوای مرتبط: کوبرنتیز چیست؟ به زبان ساده

تفاوت کانتینرها و هایپروایزرها

اسم کانتینر را زیاد در کنار هایپروایزر می‌شنویم. هر دو فناوری برای استفاده بهینه‌تر از منابع و ایزوله‌سازی محیط‌ها طراحی شده‌اند، اما تفاوت‌های مهمی دارند که در جدول زیر می‌توانید ببینید:

ویژگی هایپروایزر و VM کانتینر
ساختار ماشین مجازی کامل Process ایزوله
سیستم‌عامل هر VM سیستم‌عامل مستقل دارد Kernel مشترک
مصرف منابع بیشتر کمتر
سرعت اجرا کمتر سریع‌تر
ایزوله‌سازی قوی‌تر سبک‌تر
کاربرد زیرساخت و سرورها DevOps و میکروسرویس

خلاصه اینکه کانتینرها و هایپروایزرها هر دو برای اجرای ایزوله‌ی نرم‌افزارها استفاده می‌شوند، اما در سطح متفاوتی کار می‌کنند.

هایپروایزر سخت‌افزار را مجازی‌سازی می‌کند و به هر ماشین مجازی یک سیستم‌عامل کامل و مستقل می‌دهد؛ به همین دلیل VMها سنگین‌ترند ولی ایزولاسیون قوی‌تری دارند و می‌توانند سیستم‌عامل‌های مختلف را روی یک سرور اجرا کنند.

در مقابل، کانتینرها سبک‌ترند چون سیستم‌عامل جداگانه ندارند و فقط برنامه را همراه با وابستگی‌هایش در یک محیط ایزوله اجرا می‌کنند. آن‌ها از Kernel سیستم‌عامل میزبان استفاده می‌کنند، بنابراین سریع‌تر بالا می‌آیند و منابع کمتری مصرف می‌کنند، اما معمولاً برای اجرا به همان خانواده‌ سیستم‌عامل میزبان وابسته‌اند.

مهم‌ترین کاربردهای هایپروایزر

هایپروایزرها کاربردهای بسیار زیادی دارند و تقریباً پایه اصلی زیرساخت‌های مدرن IT محسوب می‌شوند. مهم‌ترین آن‌ها عبارتند از:

۱. رایانش ابری (Cloud Computing)

مهم‌ترین کاربرد Hypervisor در زیرساخت‌های ابری است. تقریباً تمام سرویس‌های Cloud از مجازی‌سازی استفاده می‌کنند.

محتوای مرتبط: رایانش مرزی (Edge Computing) چیست؟

۲. مجازی‌سازی سرورها

سازمان‌ها می‌توانند به‌جای استفاده از چندین سرور فیزیکی، چندین VM را روی یک سرور اجرا کنند. این موضوع باعث کاهش هزینه سخت‌افزار، مصرف برق و فضای فیزیکی دیتاسنتر می‌شود.

۳. محیط تست و توسعه

توسعه‌دهندگان می‌توانند خیلی سریع ماشین‌های مجازی جدید بسازند و نرم‌افزارها را روی سیستم‌عامل‌های مختلف تست کنند. مثلاً یک برنامه‌نویس می‌تواند هم‌زمان ویندوز، اوبنتو و CentOS را روی لپ‌تاپ خود اجرا کند.

سرور مجازی لیمو‌هاست؛ زیرساخت اختصاصی در بهترین دیتاسنتر‌های جهان
با VPS لیموهاست، سرعت، پایداری و انعطاف‌پذیری واقعی را تجربه کنید و زیرساخت اختصاصی خود را بدون محدودیت توسعه دهید.

شروع قیمت از
840 هزار تومان

خرید VPS

۴. مجازی‌سازی دسکتاپ (VDI)

اگر کارمندان دورکار دارید، می‌توانید با استفاده از فناوری مجازی‌سازی دسکتاپ، محیط کاری سیستم‌شان را روی یک سرور شبیه‌سازی کنید. این موضوع باعث می‌شود کاربران بتوانند از هر جایی به فایل‌ها، نرم‌افزارهای کاری و محیط دسکتاپ سازمانی دسترسی داشته باشند.

۵. پشتیبانی از نرم‌افزارهای قدیمی

بعضی نرم‌افزارها فقط روی سیستم‌عامل‌های قدیمی و منسوخ‌شده اجرا می‌شوند. هایپروایزر کمک می‌کند این سیستم‌ها در قالب VM همچنان قابل استفاده باشند.

۶. بازیابی ماشین مجازی در صورت خرابی و افزایش پایداری سیستم

هایپروایزر می‌تواند از وضعیت فعلی ماشین مجازی Snapshot تهیه کند. این Snapshot در قالب یک فایل ذخیره می‌شود و شامل تنظیمات نصب، دستورالعمل‌ها، اطلاعات سیستم و سایر جزئیات مربوط به VM است.

مدیران سیستم می‌توانند در صورت بروز خرابی، ماشین مجازی را از طریق این فایل بازیابی کنند.

علاوه‌براین، Hypervisor امکان تهیه نسخه پشتیبان، انتقال ماشین مجازی به سرور دیگر را نیز فراهم می‌کند.

محتوای مرتبط: داکر (Docker) چیست و چه کاربردی دارد؟

مزایای هایپروایزر چیست؟

استفاده از Hypervisor مزایای زیادی برای سازمان‌ها و حتی کاربران شخصی دارد که در بخش مهم‌ترین آن‌ها را مرور می‌کنیم:

سرعت بالا در ساخت vm

ساخت و اجرای ماشین‌های مجازی با هایپروایزر بسیار سریع است و می‌توان منابع را به‌صورت لحظه‌ای تخصیص داد.

مقیاس‌پذیری بالا

چون ماشین‌های مجازی (VMها) ساخته‌شده با هایپروایزر وابسته به سخت‌افزار خاصی نیستند، می‌شود آن‌ها را خیلی راحت از یک سرور به سرور دیگر منتقل کرد، بدون اینکه برنامه‌های داخلشان به مشکل بخورند.

انعطاف‌پذیری بیشتر

برخی نرم‌افزارها فقط روی سیستم‌عامل خاصی اجرا می‌شوند. مثلاً نرم‌افزارهای مایکروسافت فقط روی سیستم‌عامل ویندوز کار می‌کنند یا برخی نرم‌افزارها فقط در سیستم‌عامل لینوکس قابل نصب هستند.

اجرای هم‌زمان هر دو سیستم‌عامل روی دو سیستم جداگانه خیلی هزینه‌بر است؛ اما با هایپروایزر می‌توان هر دو سیستم‌عامل را روی یک سرور اجرا کرد.

امنیت بالا

گفتیم‌ که هایپروایز محیط‌های ایزوله در یک سرور یا سخت‌افزار می‌سازد. ایزوله بودن VMها باعث می‌شود مشکلات و نشتی‌های امنیتی یک ماشین مجازی معمولاً روی بقیه VMها تأثیر نگذارد.

نکته مهم: اگر کسی بتواند کنترل خود هایپروایزر را در دست بگیرد، عملاً به تمام ماشین‌های مجازی (VM) میزبانی‌شده روی آن دسترسی خواهد داشت؛ چون Hypervisor تمام ماشین‌های مجازی را مدیریت می‌کند و نفوذ به آن می‌تواند داده‌های همه VMها را در معرض خطر قرار دهد. (منبع)

استفاده بهینه از منابع

سازمان‌ها می‌توانند از Hypervisor برای ترکیب چندین سیستم مختلف روی یک سرور استفاده کنند.

برای مثال، اگر تیم مارکتینگ، پشتیبانی مشتریان و واحد تولید هرکدام سرور جداگانه داشته باشند، بخشی از منابع این سرورها بدون استفاده باقی می‌ماند.

اما با استفاده از Hypervisor می‌توان VMهای مربوط به هر بخش را روی یک سرور مشترک اجرا کرد؛ حتی اگر هرکدام سیستم‌عامل یا نرم‌افزار متفاوتی داشته باشند. این کار باعث استفاده بهینه‌تر از منابع سخت‌افزاری می‌شود.

از طرفی هم وقتی چندین ماشین مجازی می‌توانند روی یک سخت‌افزار اجرا شوند، استفاده از منابع بسیار بهینه‌تر می‌شود و منابع شبکه و پهنای باند نیز هوشمندانه‌تر توزیع می‌شوند.

جمع‌بندی

در این مقاله فهمیدیم که هایپروایزرها ستون اصلی فناوری مجازی‌سازی هستند و امکان اجرای چندین ماشین مجازی را روی یک سیستم فیزیکی فراهم می‌کنند.

این فناوری باعث:

  • افزایش انعطاف‌پذیری
  • استفاده بهینه از منابع
  • کاهش هزینه‌ها
  • ساده‌تر شدن مدیریت زیرساخت

می‌شود.

اگر سوالی درباره هایپروایزرها دارید، حتماً بپرسید.

نظر شما راجع به این محتوا چیست؟

آخرین مطالب دسته بندی سرور

دیدگاه ها

اولین نفری باشید که دیدگاه خود را ثبت می کنید

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *