word image 15873 1

هایپروایزر چیست؟ بررسی نحوه کار، انواع و کاربردهای Hypervisor

هایپروایزر یا ناظر ماشین مجازی (Virtual Machine Monitor یا VMM) به نرم‌افزاری گفته می‌شود که امکان اجرای چند ماشین مجازی (VM) را روی یک سخت‌افزار فیزیکی فراهم می‌کند. این فناوری اولین بار در دهه 1960 میلادی مطرح شد و تا امروز در زمینه‌هایی مثل مجازی‌سازی سرورها، رایانش ابری، اجرای چند سیستم‌عامل روی یک کامپیوتر و مدیریت منابع سخت‌افزاری کاربرد داشته است. بنا بر تحقیقاتی که از Research and Markets منتشر شده، بازار جهانی فلان در سال 2023 حدود 7.3 میلیارد دلار بوده و پیش‌بینی می‌شود تا سال 2040 به 21.1 میلیارد دلار برسد. پس می‌توان نتیجه گرفت که مجازی‌سازی و فناوری‌های مرتبط با آن همچنان جایگاه مهمی در زیرساخت‌های IT دارند. اما هایپروایزر چیست، چگونه کار می‌کند و چه تفاوتی بین انواع مختلف آن وجود دارد؟

همراه ما باشید تا با این فناوری و کاربردهای آن بیشتر آشنا شوید.

word image 15873 2

هایپروایزر چیست؟ (تعریف ساده)

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

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

جالب است بدانید:

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

مزایا و محدودیت‌های استفاده از هایپروایزر چیست؟

برای آشنایی بیشتر با مزایا و معایب هایپروایزر، موارد مهم را در جدول زیر آورده‌ایم:

مزایا

معایب

کارایی: استفاده حداکثری از منابع سخت‌افزاری با اجرای چند VM روی یک سرور.

تأخیر: در Type 2، عبور درخواست‌ها از سیستم‌عامل میزبان می‌تواند Latency را افزایش دهد.

مقیاس‌پذیری: ساخت، استقرار و حذف سریع VMها متناسب با تغییر بار کاری.

ریسک امنیتی Type 2: آسیب‌پذیری سیستم‌عامل میزبان می‌تواند VMهای مهمان را هم در معرض خطر قرار دهد.

صرفه‌جویی در هزینه: کاهش هزینه سخت‌افزار، انرژی و مصرف منابع دیتاسنتر.

Noisy Neighbor: مصرف سنگین منابع توسط یک VM می‌تواند عملکرد VMهای دیگر را کاهش دهد.

قابلیت حمل: جابه‌جایی آسان VMها بین سرورها یا پلتفرم‌های مختلف.

پیچیدگی مدیریت: راه‌اندازی و نگهداری Type 1 به تخصص فنی و زیرساخت مدیریتی بیشتری نیاز دارد.

امنیت: ایزوله‌سازی VMها از یکدیگر و کاهش سطح حمله.

وابستگی به میزبان: در Type 2، اختلال سیستم‌عامل میزبان می‌تواند VMها را هم تحت تأثیر قرار دهد.

✓ بازیابی سریع: استفاده از Snapshot و Backup برای بازگردانی سریع VMها.

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

انعطاف‌پذیری: اجرای چند سیستم‌عامل مختلف روی یک سخت‌افزار.

سرعت: ساخت VM جدید در چند ثانیه، بدون نیاز به تهیه سرور فیزیکی.

هایپروایزر چگونه کار می‌کند؟

فرآیند کار هایپروایزر شامل مراحل زیر است:

  1. نصب بر روی ماشین میزبان: هایپروایزر به عنوان برنامه بر روی سخت‌افزار (نوع ۱) یا سیستم‌عامل (نوع ۲) نصب می‌شود.
  2. بارگذاری سیستم‌عامل‌های مهمان: هایپروایزر تصاویر ماشین‌های مجازی (VM Images) را بارگذاری کرده و محیط‌های ایزوله مجازی ایجاد می‌کند.
  3. تخصیص منابع: هایپروایزر به عنوان واسطه بین VMها و سخت‌افزار عمل می‌کند و منابعی مانند حافظه، پهنای باند و فضای ذخیره‌سازی را به هر VM اختصاص می‌دهد. سخت‌افزار فیزیکی همچنان وظیفه اجرای واقعی دستورات را بر عهده دارد (مثلاً CPU دستورات را اجرا می‌کند، در حالی که هایپروایزر زمان‌بندی را مدیریت می‌کند).
  4. ارتباط از طریق API: ماشین‌های فیزیکی و مجازی از طریق فراخوانی‌های API (رابط برنامه‌نویسی کاربردی) با هایپروایزر ارتباط برقرار می‌کنند.
  5. ایزوله‌سازی: هایپروایزر اطمینان حاصل می‌کند که هر VM سهم مشخص خود از منابع را دریافت کرده و از تداخل با سایر VMها جلوگیری می‌شود.

نقش مجازی‌سازی سخت‌افزاری (Intel VT-x و AMD-V)

شرکت‌های Intel و AMD برای این که بستر بهتری برای عملکرد ماشین‌های مجازی فراهم کنند، قابلیت‌های مجازی‌سازی سخت‌افزاری را در پردازنده‌های خود قرار داده‌اند. این فناوری که Hardware Acceleration (شتاب‌دهی سخت‌افزاری) نام دارد، سرعت پردازش ماشین‌های مجازی را افزایش می‌دهد و سربار مجازی‌سازی را کاهش می‌دهد.

در سیستم‌هایی که این افزونه‌ها در دسترس نیستند، هایپروایزرها ممکن است به روش‌های نرم‌افزاری یا شبیه‌سازی متوسل شوند؛ برای مثال QEMU می‌تواند وظیفه شبیه‌سازی سخت‌افزار را بر عهده بگیرد. البته KVM در حالت معمول برای اجرای ماشین‌های مجازی از قابلیت‌های سخت‌افزاری مانند Intel VT-x و AMD-V استفاده می‌کند.

هایپروایزر چه ارتباطی با ماشین مجازی (Virtual Machine) دارد؟

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

هایپروایزر نرم‌افزاری است که ماشین‌های مجازی را ایجاد، اجرا و مدیریت می‌کند.

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

word image 15873 3

انواع هایپروایزر: Type 1 در برابر Type 2

هایپروایزرها به طور کلی در دو گروه Type 1 و Type 2 قرار می‌گیرند. تفاوت اصلی این دو نوع در محل قرارگیری هایپروایزر و نحوه دسترسی آن به سخت‌افزار است.

هایپروایزر Type 1 (Bare Metal)

هایپروایزر Type 1 نوعی هایپروایزر است که مستقیماً بر روی سخت‌افزار فیزیکی اجرا می‌شود و جایگزین سیستم‌عامل میزبان می‌گردد. به نوع یک «بومی» یا «Bare-Metal» نیز گفته می‌شود و از معروف‌ترینشان می‌توان به VMware ESXi، Microsoft Hyper-V و Xen اشاره کرد.

ویژگی‌های هایپروایزر Type 1:

  • دسترسی مستقیم به CPU، حافظه و فضای ذخیره‌سازی فیزیکی
  • کارایی بالا به دلیل عدم وجود لایه واسط
  • امنیت بالا به دلیل عدم وجود سیستم‌عامل میزبان که هدف حمله قرار گیرد
  • نیاز به ماشین مدیریت جداگانه برای مدیریت VMها و کنترل سخت‌افزار میزبان
  • گاهی در سطح میان‌افزار (Firmware/BIOS) تعبیه می‌شود

از Type 1 بیشتر در مراکز داده سازمانی، محیط‌های رایانش ابری و محیط‌هایی که نیاز به امنیت، کارایی و استفاده بهینه از منابع دارند استفاده می‌شود.

هایپروایزر Type 2 (Hosted)

هایپروایزر Type 2 نوعی هایپروایزر است که به عنوان یک برنامه کاربردی بر روی سیستم‌عامل میزبان اجرا می‌شود. به آن «میزبانی‌شده» یا «Hosted» نیز گفته می‌شود و Oracle VM VirtualBox، VMware Workstation Pro و VMware Fusion Pro از مهم‌ترین هایپروایزرهای این دسته هستند.

ویژگی‌های هایپروایزر Type 2 به شرح زیر است:

  • به عنوان نرم‌افزار معمولی روی سیستم‌عامل (ویندوز، لینوکس، macOS) نصب می‌شود
  • نصب و پیکربندی آسان، مشابه نصب برنامه‌های دسکتاپ
  • دارای ابزارهای اضافی برای یکپارچه‌سازی بهتر با سیستم‌عامل میزبان (مانند کپی و پیست بین میزبان و مهمان)
  • تأخیر بیشتر به دلیل عبور درخواست‌ها از لایه سیستم‌عامل میزبان
  • ریسک امنیتی بالاتر (اگر میزبان compromised شود، مهمان‌ها در معرض خطرند)

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

KVM و Hyper-V از کدام نوع‌اند؟ (رفع یک ابهام رایج)

خیلی از کاربران KVM و Hyper-V را با توجه به نحوه نصب یا استفاده، با Type 2 اشتباه می‌گیرند؛ در صورتی که هر دو در دسته Type 1 قرار می‌گیرند. در این بخش می‌خواهیم این ابهام را برطرف کنیم.

KVM (Kernel-based Virtual Machine):

KVM هایپروایزر نوع 1 (Bare-Metal) است که در هسته لینوکس ادغام شده است. این فناوری به سخت‌افزار زیرین دسترسی مستقیم دارد و با استفاده از قابلیت‌های مجازی‌سازی پردازنده مانند Intel VT-x و AMD-V، ماشین‌های مجازی را اجرا می‌کند. گاهی KVM را با عنوان هایپروایزر هیبریدی هم می‌شناسند، چرا که هایپروایزر درون هسته لینوکس قرار گرفته و سیستم‌عامل لینوکس نیز نقش مدیریت و کنترل محیط مجازی را بر عهده دارد.

Microsoft Hyper-V:

Microsoft Hyper-V هم یک هایپروایزر نوع 1 است. این هایپروایزر با وجود این که در ویندوز نصب می‌شود، مستقیماً روی سخت‌افزار فیزیکی اجرا می‌شود. سیستم‌عامل میزبان ویندوز دسترسی ویژه‌ای به سخت‌افزار دارد و سایر سیستم‌عامل‌های مهمان از طریق لایه Hyper-V اجرا می‌شوند. بنابراین نصب Hyper-V روی ویندوز به این معنی نیست که خود Hyper-V یک Type 2 است.

مقایسه‌ی Type 1 و Type 2 در یک نگاه

برای درک بهتر تفاوت‌های Type 1 و Type 2، جدول زیر را ببینید:

ویژگی

Type 1 (Bare Metal)

Type 2 (Hosted)

نحوه اجرا

مستقیم روی سخت‌افزار

روی سیستم‌عامل میزبان

سرعت و کارایی

✓ بالاتر و کم‌تأخیرتر

✕ کمی کندتر

امنیت

✓ بیشتر، چون OS واسط ندارد

✕ وابسته به امنیت سیستم‌عامل میزبان

راه‌اندازی

پیچیده‌تر و تخصصی‌تر

✓ ساده و شبیه نصب یک برنامه

مصرف منابع

✓ بهینه‌تر

✕ منابع بیشتری مصرف می‌کند

مناسب برای

سرورها، دیتاسنتر و Cloud

تست، توسعه و استفاده شخصی

نمونه‌ها

VMware ESXi، Hyper-V، KVM

VirtualBox، VMware Workstation

word image 15873 4

هایپروایزرهای معروف و پرکاربرد

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

هایپروایزر

نوع

مناسب برای

نکته مهم

VMware ESXi / vSphere

Type 1

دیتاسنتر و مجازی‌سازی سازمانی

قدرتمند و حرفه‌ای؛ نسخه رایگان ESXi دیگر ارائه نمی‌شود.

Microsoft Hyper-V

Type 1

سرورهای ویندوزی و محیط‌های سازمانی

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

KVM

Type 1

لینوکس، Cloud و سرور

متن‌باز، سبک و یکپارچه با هسته لینوکس.

Xen

Type 1

Cloud و زیرساخت‌های بزرگ

متن‌باز و مناسب مجازی‌سازی با کارایی بالا.

هایپروایزر چه کاربردهایی دارد؟

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

هایپروایزر در VPS و سرور مجازی

یکی از کاربردهای اصلی هایپروایزر استفاده در VPS و سرورهای مجازی است. در این روش یک سرور فیزیکی می‌تواند به چند ماشین مجازی تقسیم شود و هر VM منابع مشخصی مثل CPU، RAM و فضای ذخیره‌سازی داشته باشد. هر کاربر نیز می‌تواند سیستم‌عامل و نرم‌افزارهای مورد نیاز خودش را روی VM اجرا کند، بدون این که مستقیماً به VMهای دیگر دسترسی داشته باشد.

هایپروایزر در محاسبات ابری (Cloud/IaaS)

رایانش ابری و بسیاری از شرکت‌های بزرگ مثل AWS، Google Cloud، IBM Cloud و Microsoft Azure از فناوری‌های مجازی‌سازی در زیرساخت خود استفاده می‌کنند. در سرویس‌های IaaS، مجازی‌سازی کمک می‌کند منابع فیزیکی به ماشین‌های مجازی مختلف اختصاص داده شوند و کاربران بتوانند سرور مورد نیازشان را بدون تهیه سخت‌افزار فیزیکی دریافت کنند. در سرویس‌های PaaS و SaaS نیز مجازی‌سازی در لایه‌های زیرین زیرساخت مورد استفاده قرار می‌گیرد.

تست و توسعه‌ی نرم‌افزار

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

بازیابی از فاجعه (Disaster Recovery)

هایپروایزرها در بازیابی از فاجعه نیز کاربرد زیادی دارند. برای مثال می‌توان از وضعیت یک VM، Snapshot تهیه کرد تا در صورت بروز مشکل، ماشین مجازی به وضعیت قبلی برگردد. همچنین با کلونینگ می‌توان یک VM را سریع تکثیر کرد و برای پشتیبان‌گیری یا ایجاد محیط جدید از آن استفاده کرد. قابلیت Live Migration نیز اجازه می‌دهد VM در برخی زیرساخت‌ها بدون خاموش شدن، از یک میزبان به میزبان دیگر منتقل شود؛ قابلیتی که برای Failover، نگهداری سرورها و متعادل‌سازی بار اهمیت دارد.

word image 15873 5

امنیت هایپروایزر: چه خطراتی وجود دارد؟

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

  • ایزوله‌سازی: برنامه‌های روی یک VM نمی‌توانند با برنامه‌های سایر سیستم‌عامل‌های مهمان تداخل داشته باشند
  • جلوگیری از انتشار بدافزار: اگر یک VM مورد حمله قرار گیرد، مشکل به سایر VMها منتقل نمی‌شود
  • حفاظت از میزبان: در Type 1، نبود OS میزبان سطح حمله را کاهش می‌دهد
  • Snapshot: امکان بازگرداندن VM به حالت امن قبلی

البته علاوه بر این مزایا، هایپروایزر هم می‌تواند با خطرات امنیتی روبه‌رو شود. برای مثال اگر خود هایپروایزر به خطر بیفتد، تمام VMهای روی آن میزبان ممکن است تحت تأثیر قرار بگیرند. یا در Type 2 اگر OS میزبان هک شود، مهاجم می‌تواند به VMهای مهمان نیز دسترسی پیدا کند یا آن‌ها را دستکاری کند. به همین دلیل به‌روزرسانی منظم و محدود کردن دسترسی به محیط مدیریت هایپروایزر اهمیت زیادی دارد.

اقدامات امنیتی توصیه‌شده

برای این که بتوانید از حداکثر امنیت هایپروایزر استفاده کنید، بهتر است هایپروایزری با مکانیزم‌های امنیتی داخلی و قابلیت‌های مناسب برای محیط خود انتخاب کنید. همچنین هایپروایزر و سیستم‌عامل‌های مرتبط را منظم به‌روزرسانی کنید، دسترسی‌های مدیریتی را محدود کنید و برای VMهای مهم Backup و Snapshot داشته باشید.

در ضمن اگر امنیت برایتان اهمیت زیادی دارد، استفاده از Type 1 انتخاب مناسب‌تری برای محیط‌های سروری و سازمانی است؛ زیرا یک سیستم‌عامل عمومی بین هایپروایزر و سخت‌افزار قرار نمی‌گیرد.

چگونه هایپروایزر مناسب را انتخاب کنیم؟

پیش از این که یک هایپروایزر را انتخاب کنید بهتر است چند عامل ساده را بررسی کنید:

  • عملکرد: ببینید هایپروایزر از نظر سرعت و مصرف منابع چه عملکردی دارد.
  • اکوسیستم: مستندات، پشتیبانی، جامعه کاربری و افزونه‌های مورد نیاز را بررسی کنید.
  • مدیریت: مطمئن شوید مدیریت، ساخت، حذف و کنترل VMها برایتان ساده است.
  • Live Migration: اگر نیاز دارید VMها را بدون توقف بین سرورها جابه‌جا کنید، این قابلیت را بررسی کنید.
  • هزینه: هزینه لایسنس، نرم‌افزارهای مدیریتی و نگهداری را در نظر بگیرید.

راهنمای انتخاب بر اساس نیاز

برای انتخاب سریع‌تر، می‌توانید از این راهنما استفاده کنید:

  • مراکز داده سازمانی: Type 1 مثل VMware ESXi، Hyper-V یا KVM
  • محیط ابری: Type 1 با قابلیت‌های مدیریتی پیشرفته
  • کاربر شخصی و توسعه‌دهنده: Type 2 مثل VirtualBox یا VMware Workstation
  • کاربر مک: Parallels Desktop یا VMware Fusion
  • محیط متن‌باز: KVM یا Xen
  • سازگاری با کانتینر و Kubernetes: Red Hat OpenShift Virtualization (KubeVirt)

word image 15873 6

سخن پایانی

هایپروایزر جزو تکنولوژی‌هایی است که کمتر در میان کاربران عادی شناخته شده اما بخش مهمی از زیرساخت سرورها، دیتاسنترها و سرویس‌های ابری را تشکیل می‌دهد. این فناوری به طور کلی در دو نوع Type 1 و Type 2 وجود دارد که تفاوت اصلی‌شان در نحوه قرارگیری هایپروایزر و ارتباط آن با سخت‌افزار است.

اگر برای سرور، دیتاسنتر یا محیط ابری به مجازی‌سازی نیاز دارید، معمولاً Type 1 انتخاب مناسب‌تری است؛ اما اگر برای تست، توسعه یا استفاده شخصی به اجرای چند سیستم‌عامل روی کامپیوترتان نیاز دارید، Type 2 گزینه بهتری خواهد بود.

سوالات متداول (FAQ)

۱. آیا هایپروایزر فقط برای مجازی‌سازی سرور استفاده می‌شود؟

خیر. علاوه بر استفاده مؤثر از منابع رایانشی در سرور، هایپروایزر امکان استفاده از سیستم‌عامل‌های مختلف بر روی یک کامپیوتر مرکزی واحد را نیز فراهم می‌آورد. همچنین در مجازی‌سازی دسکتاپ (VDI) و محیط‌های تست و توسعه کاربرد دارد.

۲. تفاوت اصلی بین Type 1 و Type 2 چیست؟

Type 1 مستقیماً روی سخت‌افزار اجرا می‌شود (بدون OS میزبان)، در حالی که Type 2 به عنوان برنامه روی یک سیستم‌عامل میزبان اجرا می‌شود. Type 1 کارایی و امنیت بالاتری دارد اما پیچیده‌تر است؛ Type 2 ساده‌تر اما با تأخیر بیشتر و امنیت کمتر.

۳. آیا KVM یک هایپروایزر Type 1 است؟

بله، KVM به عنوان هایپروایزر Type 1 طبقه‌بندی می‌شود، زیرا به صورت ماژول در هسته لینوکس اجرا شده و دسترسی مستقیم به سخت‌افزار دارد. برخی آن را «هیبریدی» می‌نامند اما به Type 1 نزدیک‌تر است.

۴. آیا می‌توان چندین هایپروایزر Type 2 را روی یک سیستم اجرا کرد؟

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

۵. آیا استفاده از هایپروایزر جایگزین نیاز به سرور فیزیکی می‌شود؟

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

 

نوشتن ته مزه ای از خلق کردن داره

دیدگاه خود را بنویسید:

آدرس ایمیل شما نمایش داده نخواهد شد.

فوتر سایت