رایانش ابریهمه

هایپروایزر hypervisor چیست ؟ با انواع آن آشنا شوید.

در جواب این سوال که اصطلاح هایپروایزر hypervisor چیست ؟ باید گفت که این عنوان، یک نوع نرم افزار مجازی سازی است که ماشین‌های مجازی ( virtual machine ) را ایجاد و اجرا می‌کند. یک هایپروایزر، که گاهی مانیتور ماشین مجازی ( VMM ) نیز نامیده می‌شود، سیستم عامل و منابع مورد نیاز ماشین‌های مجازی بر روی هایپروایزر hypervisor را از یکدیگر جدا می‌کند. در نتیجه‌ی این امر و با اختصاص این منابع، ماشین مجازی ایجاد و مدیریت می‌شوند.

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

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

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

تمامی هایپروایزرها برای اجرای ماشین مجازی به برخی از اجزا در سطح سیستم عامل مانند مدیر حافظه، برنامه ریز پروسه و فرآیند ،استک ورودی/خروجی ((I/O) stack)، درایورهای دستگاه، مدیر امنیت، استک شبکه و دیگر موارد اینچینینی نیاز دارند. هایپروایزر hypervisor منابع اختصاص یافته را به هر ماشین مجازی می‌دهد و برنامه‌ریزی منابع VM را در برابر منابع فیزیکی مدیریت می‌کند.

در حالی که هایپروایزر hypervisor برنامه را مدیریت می‌کند، سخت افزار فیزیکی، کار اجرا را انجام می‌‌دهد، بنابراین CPU هم دستورالعمل‌های CPU را طبق درخواست VM اجرا می‌کند. چندین سیستم عامل مختلف می‌توانند در کنار یکدیگر اجرا شده و منابع سخت افزاری مجازی یکسان را با یک هایپروایزر به اشتراک بگذارند. این موضوع، مزیت اصلی مجازی سازی است. بدون مجازی سازی ( virtualization )، شما تنها می‌توانید همزمان یک سیستم عامل را روی سخت افزار اجرا کنید.

برای استفاده از هایپروایزر hypervisor گزینه‌های زیادی از فروشندگان سنتی گرفته تا پروژه‌های منبع باز وجود دارند. VMware گزینه‌ای محبوب برای مجازی سازی است. در مقابل نیز پلتفرم مجازی سازی ، ESXi hypervisor و vSphere را ارائه می‌دهد. هسته مجازی ( KVM ) یک گزینه منبع باز است که در هسته Linux تعبیه می‌شود. گزینه‌های اضافی دیگر شامل Xen که منبع باز است و Microsoft Hyper-V می‌شود.

برای آشنایی بیشتر با مفهوم لینوکس ، مقاله ی لینوکس چیست را مطالعه کنید.

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

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

در سال 1956 بود که برای نخستین بار اصطلاح هایپروایزر hypervisor توسط شرکت IBM به کار برده شد. این درست زمانی بود که این شرکت، برنامه‌ی جدیدی برای ارائه‌ی RAM ابداع و معرفی نموده بود. پرسشی که پیش آمد این بود که دلیل استفاده از هایپروایزر چیست ؟ به صورت کلی، هایپروایزر hypervisor به معنای ناظری قوی‌تر از سوپروایزر است و نقشی تعیین کننده در نظارت بر کار ناظرین دارد. در 20 سال اخیر، استفاده از هایپروایزر با رشد چشم‌گیری مواجه شده است. دلیل این امر، نقش موثر هایپروایزر در بالابردن راندمان، صرفه جویی در هزینه‌ها و افزایش امنیت بوده است.

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

همانطور که تاکنون دریافته‌اید،‌ در یک تعریف کلی و جامع، هایپروایزر hypervisor یک واسطه است که در میان دو لایه قرار می‌گیرد. به عبارتی این لایه واسطه می‌تواند یک نرم‌افزار، یک Firmware و یا یک سخت افزار باشد. نکته‌ای که لازم می‌دانیم به آن اشاره کنیم این است که وظیفه هایپروایزر قراردهی وضایف و قابلیت‌های لایه‌های پایین‌تر در اختیار لایه‌های بالایی است. 

این عمل باید به نحوی صورت پذیرد که لایه‌های بالایی از تغییرات و مکانیزم‌های لایه‌های زیرین بی‌اطلاع باشند. به عبارتی هایپروایزر hypervisor وظیفه‌ی Abstraction (انتزاع) و Isolation (استقلال) را بر عهده دارد. 

کاربرد هایپروایزر hypervisor

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

رایج‌ترین استفاده از هایپروایزر Hypervisor چیست؟

فرض کنید می‌خواهید نرم افزار ی قدیمی را بر روی سیستم عامل خود نصب کنید ولی سیستم عامل شما با این نرم افزار سازگار نیست. بطوری که شما نیاز پیدا می‌کنید، یک سیستم عامل قدیمی نظیر WinXP را در کنار سیستم عامل فعلی در اختیار داشته باشید. یا اینکه تمایل دارید در کنار ویندوز از لینوکس نیز استفاده نمایید.

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

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

هایپروایزر hypervisor ها دو نوع مختلف دارند که می توانند برای مجازی سازی ( virtualization ) مورد استفاده قرار گیرند: Hypervisor نوع 1 و 2:

هایپروایزر hypervisor نوع 1 (type 1 )

هایپروایزر

این مدل هایپروایزر hypervisor که در زبان فاسی با نام هایپروایزر مستقل از آن یاد می‌شود، معمولاً در یک مرکز داده سازمانی یا سایر محیط‌های مبتنی بر سرور مشاهده می شود.
هایپروایزر نوع یک به عنوان یک هایپروایزر بیرمتال ( bare metal ) یا نیتیو (native) نیز شناخته می شود که مستقیما روی سخت افزار میزبان اجرا می شود تا سیستم عامل های مهمان را مدیریت کند. هایپروایزر جای سیستم عامل میزبان را می گیرد و منابع VM مستقیما توسط آن برای انتقال به سخت افزار برنامه ریزی می شوند.

نکته: با پیشرفت تکنولوژی شما می‌توانید با استفاده از یک پلتفرم متن باز به نام کوبرنتیز به ساخت ماشین مجازی یا virtual machine بپردازید؛ اما این کار چه اهمیتی دارد؟ در واقع بهتر است بپرسیم چه کاربرد هایی دارد؟ ما در مقاله‌ای تحت عنوان انتقال VM‌ها به کوبرنتیز به صورت جامع به این مبحث پرداخته‌ایم، توصیه می‌کنیم، پیش از اتمام این مقاله، این مطالب را با دقت مطالعه فرمایید.

KVM ،Microsoft Hyper-V و VMware vSphere نمونه هایی از هایپروایزر نوع 1 هستند. به این دلیل که KVM در سال 2007 در هسته لینوکس ادغام شد، اگر از نسخه مدرن لینوکس استفاده می کنید، از قبل دسترسی شما به KVM امکان پذیر شده است.

هایپروایزر hypervisor نوع 2 (type 2 )

هایپروایزر

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

این نوع مجازی ساز با سیستم عامل ماشین مجازی میهمان بدون در نظر گرفتن سیستم عامل هاست کار می کند.
منابع VM در مقابل یک سیستم عامل میزبان برنامه ریزی شده اند، که سپس بر اساس سخت افزار اجرا می شوند. هایپروایزر hypervisor نوع 2 برای کاربرانی که به صورت شخصی فعالیت می کنند و می خواهند چندین سیستم عامل را روی رایانه شخصی اجرا کنند بهتر است. WorkStation VMware و Oracle VirtualBox نمونه هایی از هایپروایزر نوع 2 هستند.

تفاوت میان انواع هایپروایزر

تفاوت میان نوع 1 و 2 هایپروایزر hypervisor در این است که در مدل هایپروایزر اول مستقیما بر روی سخت افزار هاست، اجرایی می‌شود. در نوع دوم اما، هایپروایزر بر روی یک سیستم عامل به واسطه‌ی نرم افزار مربوطه اجر می‌شود. باید بدانید که اجرای برنامه‌ها در سیستم‌های مجزای فیزیکی سبب اتلاف منابع می‌شود. برای رفع این مشکل، مجازی سازی راهکاری ارائه داده است. درواقع، مجازی سازی ( virtualization )، فرآیند ساخت سرور بر وی هاست، شبکه یا استوریج می‌باشد.

هایپروایزر hypervisor نوع اول با هدف کنترل سخت افزار و مدیریت سیستم عامل های مهمان، مستقیما بر روی سخت افزار نصب می‌شوند. در مقابل هایپروایزر hypervisor نوع 2 بر روی یک سیستم عامل دیگر و با عنوان یک برنامه مورد استفاده قرار می‌گیرد. به عبارتی دیگر، هایپروایزر hypervisor نوع اول را native or bare metal hypervisor و هایپروایزر hypervisor نوع دوم را با نام host OS Hypervisor به یاد می‌آورند.

کارایی (Functionality)

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

کارایی

کانتینرها در مقابل ماشین های مجازی

در سطوح بالا ، کانتینرها و ماشین های مجازی مشابه به نظر می رسند، چرا که هر دو محیط محاسباتی حفاظت شده ای هستند که اجزای مختلف IT را با هم ترکیب کرده و آنها را از بقیه سیستم جدا می کنند. تفاوت اصلی آن ها در نحوه مقیاس گذاری و قابلیت حمل یا (portability) آن ها است.

کانتینر مجموعه ای از یک یا چند فرآیند است که از بقیه سیستم جدا شده است. کانتینر به فرآیند این اجازه را می دهد که فقط به درخواست های منابعی که مشخص شده اند دسترسی داشته باشد. این محدودیت های منابع تضمین می کنند که کانتینر می تواند روی نودی که ظرفیت کافی دارد کار کند.

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

همچنین به شما این امکان را می دهد تا چندین سیستم عامل را در ماشین مجازی اجرا کنید، اما کانتینرها فقط قادر به اجرای یک نوع سیستم عامل هستند. برای نمونه یک کانتینری که روی سرور لینوکس اجرا می شود ، فقط قادر به اجرای یک سیستم عامل لینوکس است. گاهی اوقات کانتینرها به عنوان جایگزینی برای هایپروایزر hypervisor ها در نظر گرفته می شوند ، گرچه این موضوع به این دلیل که کانتینرها و مجازی سازها نیازهای متفاوتی را برآورده می کنند، چندان درست به نظر نمی آید.

ملاحظات امنیتی هایپروایزر

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

با این حال ، اگر خود هایپروایزر hypervisor هک شود ، این امر می تواند برای کلیه ماشین های مجازی تحت کنترل hypervisor مشکل ایجاد کند و داده های موجود در هر VM را آسیب پذیر کند. پروتکل ها و الزامات امنیتی ممکن است بسته به نوع هایپروایزر متفاوت باشند. یک hypervisor اساس پلت فرم مجازی سازی شما را فراهم می کند. ابر آراز از توسعه مجازی سازی پشتیبانی کرده و یک پلتفرم باز و تعریف شده توسط نرم افزار است که بارهای لینوکس و مایکروسافت ویندوز را ارائه داده و مجازی سازی می کند.

این ویژگی درپروژه ی لینوکس و KVM ساخته شده است و دارای ابزارهای مدیریتی است که منابع ، فرایندها و برنامه ها را مجازی سازی کرده و به شما ساختاری پایدار برای کانتینریزه شدن و بومی سازی ابر در آینده و محتوای آن را ارائه می دهد. مجازی سازی سریع و مقرون به صرفه ابر آراز به شما کمک می کند ضمن ایجاد ساختاری برای دسترسی به فناوری های آینده، بر چالش های امروزتان نیز غلبه کنید.

ملاحظات امنیتی هایپروایزر

امنیت هایپروایزر hypervisor

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

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

چرا ابر آراز را برای مجازی سازی انتخاب کنیم؟

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

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

این مجموعه از تکنولوژی اوپن استک که توسط ابرهای پیشرو در دنیا نظیر AWS آمازون، GCP گوگل، Azure مایکروسافت و… استفاده می‌شود، بهره می‌برد. این تکنولوژی قابلیت استفاده از مجازی سازهای مطرح دنیا را دارد و با توجه به جامعه بزرگ توسعه دهندگان آن، به سرعت در حال پیشرفت است؛ پیشنهاد می‌کنیم برای اطلاع بیشتر از تکنولوژی اپن استک و تحول بزرگی که در رایانش ابری ایجاد کرده است، مقاله openstack چیست را از دست ندهید.

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

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

دکمه بازگشت به بالا