فهرست مطالب
ToggleIBM در دهه ۱۹۶۰ شروع به استفاده ازهایپروایزر در سیستمهای اصلی خود کرد. هایپروایزرها در ابتدا برای آزمایش اشتراک گذاری سیستمها بین ماشینهای مجازی (VM) و کشف مفاهیم سخت افزاری جدید مورد استفاده قرار گرفتند. در محاسبات مدرن، هایپروایزرها هنوز برای کارهای مختلف محاسبات ابری و مدیریت سرور، مانند تخصیص منابع سختافزاری و اجرای سیستم عاملها بر روی ماشینهای مجازی استفاده میشوند.
هایپروایزر چیست؟
هایپروایزر (به انگلیسی:Hypervisor) که به آن VM Monitor نیز گفته میشود، نوعی سفتافزار (Firmware)، سختافزار یا نرمافزار است که مجازیسازی سرور را با جداسازی سیستم عامل کامپیوتر از سخت افزار فیزیکی امکان پذیر میکند. هایپروایزر میتواند ماشینهای مجازی ایجاد و اجرا کند، سپس سختافزار مانند پردازنده اصلی (CPU)، حافظه ذخیرهسازی و RAM را برای آن ماشینهای مجازی تقلید کند. هایپروایزر یا میزبان، منابع را به عنوان مجموعهای در نظر میگیرد که بین چندین ماشین مجازی که معمولا به عنوان مهمان شناخته میشوند، مجددا تخصیص میدهد.
هایپروایزرها را میتوان برای طیف وسیعی از وظایف تجاری، از جمله محاسبات ابری، تکثیر دادهها، مجازیسازی دسکتاپ و ادغام سرور استفاده کرد. به عنوان مثال، هایپروایزرها را میتوان برای مجازیسازی برنامهها، فرآیندها و منابع استفاده کرد که پایه و اساس پایدار برای سرمایه گذاریهای بومی ابری و کانتینری شما را فراهم میکند. هایپروایزرها همچنین میتوانند از ذخیرهسازی و شبکه تعریفشده توسط نرمافزار شما برای افزودن قابلیت حمل و امنیت به حجمهای کاری مجازیشده پشتیبانی کنند.
علاوه بر این، مجازیسازی دسکتاپ میتواند به شما کمک کند تا یک نرم افزار ویندوز را در یک سیستم مبتنی بر لینوکس یا حتی مک اجرا کنید. هایپروایزر شما را قادر میسازد تا یک Windows VM ایجاد کنید که بتواند نرم افزار را بدون تغییر سیستم عامل اجرا کند.
هایپروایزر چگونه کار میکند؟
هایپروایزر سیستم عامل و منابع را از VMها جدا میکند. این به شما امکان میدهد ماشینهای مجازی را ایجاد و مدیریت کنید و در نتیجه منابع را بین ماشینهای مجازی موجود و جدید تخصیص دهید. هایپروایزرها برای اجرای ماشینهای مجازی به اجزایی در سطح سیستم عامل، مانند درایورهای دستگاه، پشته ورودی/خروجی، مدیر حافظه، پشته شبکه، زمانبندی فرآیند و مدیر امنیتی نیاز دارند. سپسهایپروایزر منابع تخصیص یافته را برای هر ماشین مجازی فراهم میکند و نحوه برنامه ریزی منابع ماشین مجازی را در برابر منابع فیزیکی مدیریت میکند. سخت افزار فیزیکی همچنان دستورالعملهایی را که ماشینهای مجازی درخواست میکنند اجرا میکند در حالی کههایپروایزر مسئول مدیریت زمان بندی است. این به چندین سیستم عامل اجازه میدهد تا به طور همزمان اجرا شوند و منابع مجازی را به اشتراک بگذارند.
اگر کسب و کار شما چندین سرور دارد که خدمات متفاوتی را برای مشتریان مختلف در سراسر اینترنت اجرا میکنند، مدیریت مرکزی آنها میتواند چالش برانگیز باشد. هایپروایزر شما را قادر میسازد آن سرورها را مجازیسازی کرده و آنها را از طریق یک ماشین فیزیکی در یک فرآیند کارآمدتر مدیریت کنید. هایپروایزر از منابع در دسترس شما بهتر استفاده میکند، منابع را به همه دستگاههای موجود تخصیص میدهد و از بیکار ماندن منابع، جلوگیری میکند.
انواعهایپروایزر
دو نوع اصلیهایپروایزر وجود دارد:
نوع ۱ (Type 1)
هایپروایزر نوع ۱ که به عنوانهایپروایزر Bare-Metal یا بومی نیز شناخته میشود، مستقیما روی سختافزار میزبان قرار میگیرد و سیستم عاملهای مهمان را مدیریت میکند. هایپروایزر نوع ۱ با انجام این کار جایگزین سیستم عامل میزبان میشود و منابع VM را به صورت مستقیم با سختافزار تنظیم میکند.
اینهایپروایزرها کارآمدتر و سریعتر هستند، زیرا مستقیما به سختافزار اصلی دسترسی دارند و با سایر برنامهها یا سیستمعاملها رقابت نمیکنند. آنها معمولا ایمنتر هم هستند زیرا از ایجاد لایه سیستم عامل اجتناب میکنند، به این معنی که سطح حمله کمتری برای سوء استفاده مجرمان سایبری در دسترس است.
هایپروایزرهای نوع ۱ بیشتر در مراکز داده سازمانی و محیطهای مبتنی بر سرور استفاده میشوند. نمونههای رایج عبارتند از ماشینهای مجازی مبتنی بر هسته (KVM)، Hyper-V مایکروسافت و vSphere شرکت VMware.
نوع ۲ (Type 2)
هایپروایزرهای نوع ۲ معمولا به عنوانهایپروایزرهای تعبیه شده (embedded) یا میزبانی شده (hosted) شناخته میشوند. آنها بر روی سیستم عاملهای معمولی مانند لایه برنامه یا نرم افزار اجرا میشوند. این نوعهایپروایزر با جدا کردن سیستم عامل مهمان از سیستم عامل میزبان کار میکند. سپس هایپروایزر منابع ماشین مجازی را در برابر سیستم عامل میزبان تنظیم میکند، که در برابر سخت افزار اجرا میشود.
هایپروایزرهای نوع ۲ برای مشاغل کوچک یا کاربران فردی که چندین سیستم عامل را بر روی رایانه خود اجرا میکنند مناسبتر هستند. این نوع از هایپروایزرها معمولا هزینههای کمتری دارند و راه اندازی و مدیریت آنها آسانتر است. نمونههای رایج این نوع هایپروایزر عبارتند از VirtualBox Oracle و Workstation شرکت VMware.
نرم افزار مدیریت Hypervisor
توصیه میشود از نرم افزار مدیریت هایپروایزر برای تضمین عملکرد هایپروایزر و ماشینهای مجازی استفاده کنید. این نرم افزار به شما این امکان را میدهد تا دیدی فراگیر از محیطهایپروایزر ابری خود داشته باشید، مشکلات عملکرد ماشین مجازی را عیب یابی کنید و ببینید که چگونه مجازیسازی به برنامهها، سرورها و فضای ذخیرهسازی متصل میشود. برخی از راهکارهای نرمافزاری مدیریت هایپروایزر همچنین مدیریت، نظارت و هشدارهای داخلی را ارائه میدهند که به محافظت از هایپروایزر در برابر حملات سایبری و خرابیها کمک میکند.
مزایای هایپروایزرها
هایپروایزرها مزایای حیاتی را برای مشاغل کوچک، سازمانهای بزرگ و کاربران فردی ارائه میدهند. این مزایا عبارتند از:
- قابلیت اطمینان: یک مزیت کلیدی اجرای ماشینهای مجازی این است که در صورت خرابی یکی از ماشینهای مجازی، دیگر ماشینهای مجازی، سخت افزار فیزیکی و سیستم عامل تحت تاثیر قرار نمیگیرند.
- تکثیر دادهها: هایپروایزرها کار شبیهسازی و تکثیر ماشینهای مجازی را که میتواند فضای ذخیرهسازی زیادی را طلب کند، ساده میکنند. با رویکرد تکثیر مبتنی بر هایپروایزر، میتوانید ماشینهای مجازی و منابعی را که نیاز به تکثیر دارند، انتخاب کنید و در فضای ذخیرهسازی صرفهجویی کنید و فرآیند را بسیار مقرونبهصرفهتر کنید.
- فارغ از سختافزار: تکرار مبتنی بر هایپروایزر نسبت به سختافزار بی اعتنا است، به این معنی که دادههای تکراری را میتوان به راحتی در هر دستگاهی ذخیره کرد.
- ادغام سرور: هایپروایزرها داشبوردهای گرافیکی داخلی را ارائه میدهند که دید بهتری از محیط مجازی ارائه میدهند. این امر یکپارچگی مرکزی و مدیریت سرورها را تضمین میکند، حتی اگر آنها در سیستم عاملهای مختلف در حال اجرا باشند.
- مجازیسازی دسکتاپ: هایپروایزرها مجازیسازی کارآمد دسکتاپ را تسهیل میکنند و دسکتاپ مجازی می تواند روی سرور میزبانی شود و روی دسکتاپ فیزیکی کاربر تکرار شود. این به کاربران اجازه میدهد تا از راه دور از طریق دستگاههای مشتری به دستگاههای خود دسترسی داشته باشند و آنها را قادر میسازد در هر زمان و هر کجا که نیاز دارند کار کنند.
کانتینر در مقابل هایپروایزر
کانتینرها (Containers) و هایپروایزرها ویژگیهای مشابهی، مانند محیطهای محاسباتی بسته بندی شده که مجازیسازی را امکان پذیر میکند، دارند. اما تفاوت اساسی بین این دو در مقیاس پذیری و قابل حمل بودن آنهاست.
کانتینرها واحدهای نرم افزاری هستند که کدها و وابستگیها را برای تضمین عملکرد، سرعت و قابلیت اطمینان برنامه در هر محیط محاسباتی بسته بندی میکنند. کانتینرها نرمافزار را از یک محیط محاسباتی جدا میکنند تا اطمینان حاصل کنند که در همه محیطها، از توسعه گرفته تا مرحلهبندی، کار میکند. این به توسعهدهندگان امکان میدهد سریعتر کار کنند و برنامهها را سریعتر و در مقیاس بزرگتر اجرا کنند، در حالی که تیمهای فناوری اطلاعات میتوانند بدون نگرانی در مورد مسائل مربوط به نسخهسازی، روی مسائل استقرار و مدیریت تمرکز کنند.
کانتینرها از سیستم اولیه جدا شدهاند و محدودیت منابع دارند که آنها را به یک سیستم عامل محدود میکند. از طرف دیگرهایپروایزرها چندین سیستم عامل را قادر میسازند تا در ماشینهای مجازی اجرا شوند.
امنیت Hypervisor
هایپروایزرها یک لایه اضافی بین سیستم عامل و منابعی که از اینترنت قابل دسترسی یا دانلود هستند ایجاد میکنند. حتی اگر منبعی مشکلاتی را در یک ماشین مجازی ایجاد کند، میزبان اصلی و سیستم عامل توسطهایپروایزر در برابر آسیب محافظت میشوند.
با این حال، در صورتی که یک هکر به یکهایپروایزر یا نرم افزار مدیریت آن دسترسی غیرمجاز پیدا کند، میتواند به هر ماشین مجازی که هایپروایزر آن را کنترل میکند و دادههای درون آنها دسترسی داشته باشد. برای جلوگیری از این امر، سیستم امنیت هایپروایزر از نفوذ در طول مراحل توسعه و پیادهسازی و در حین تهیه، مدیریت و حذفهایپروایزر محافظت میکند.
امنیتهایپروایزر شامل استفاده از امنیت شبکه و ابزارهای نظارتی، تنظیم امتیازات دسترسی مناسب، انجام اقداماتی برای به حداقل رساندن سطح حمله و به روز نگه داشتنهایپروایزر و اعمال وصلههای جدید است. این به مدیران فناوری اطلاعات کمک میکند تا به طور مداوم محیط خود را کنترل کنند و بلافاصله رفتار غیرعادی یا ناهنجار را تشخیص دهند.