Paravirtualization در محاسبات ابری به چه معناست؟
در یکی از مقالات قبلی ما به مجازی سازی و انواع مجازی سازی پرداختیم. در این مقاله قصد داریم تا Paravirtualization ، که نوعی مجازی سازی است را توضیح دهیم و اطلاعات بیشتری در مورد مزایای آن و زمانی که برای کسب و کار شما مفید است به شما ارائه دهیم.
Paravirtualization دقیقاً چیست؟
Paravirtualization نوعی مجازی سازی است که به یک سیستم عامل مهمان اصلاح شده امکان میدهد کارآمدتر کار کند و به یک هایپروایزر دسترسی مستقیم داشته باشد. این رویکرد بیش از یک راه حل مجازی سازی کامل، مزایای عملکرد ارائه میدهد.
Paravirtualization چگونه کار میکند؟
در زمینه محاسبات، para-virtualization یا para-virtualization ، به عنوان یک تکنیک مجازی سازی است که یک رابط نرم افزاری را به ماشینهای مجازی (VM) معرفی میکند. این رابط ماشین مجازی از نزدیک رابط سخت افزاری-نرم افزاری زیرین را منعکس میکند، اگرچه یک کپی دقیق از آن نیست.
هدف اصلی این رابط تنظیم شده، به حداقل رساندن بخشی از زمان اجرای VM است که صرف عملیات هایی میشود که اجرای آن در یک محیط مجازی سازی شده در مقایسه با محیط غیرمجازی شده بسیار چالش برانگیزتر است. Paravirtualization شامل «قلاب های» مشخصی است که کار مهمان و میزبان را در درخواست و تأیید این وظایف آسان میکند. بدون این قلابها، این وظایف معمولاً در حوزه مجازی انجام میشوند، جایی که عملکرد اجرایی بهتر میشود. یک پلتفرم که به صورت موفقیت آمیز مجازی سازی شده، پتانسیل ساده سازی مانیتور ماشین مجازی (VMM) را با انتقال اجرای وظایف حیاتی از دامنه مجازی به دامنه میزبان دارد. علاوه بر این، میتواند کاهش عملکرد کلی در طول اجرای ماشین در مهمان مجازی را کاهش دهد.
برای اینکه مجازی سازی موثر باشد، سیستم عامل مهمان باید به طور صریح برای para-API تطبیق داده شود. یک توزیع معمولی سیستم عامل فاقد آگاهی از فرامجازی سازی، نمی تواند روی VMM مجازی ساز عمل کند. با این حال، حتی زمانی که اصلاح سیستم عامل غیرعملی است، ممکن است اجزای خاصی برای ارائه بسیاری از مزایای عملکردی قابل توجه مجازی سازی در دسترس باشند. به عنوان مثال، پروژه Xen Windows GPLPV مجموعه ای از درایورهای دستگاه آگاه از پیش مجازی سازی را ارائه می کند که تحت مجوز GPL منتشر شده اند و برای نصب در مهمان مجازی مایکروسافت ویندوز در حال اجرا بر روی هایپروایزر Xen طراحی شده اند. این برنامهها عموماً از طریق محیط رابط ماشین مجازی قابل دسترسی هستند، و از سازگاری بین مدل های الگوریتم رمزگذاری چندگانه و یکپارچه سازی در چارچوب paravirtual اطمینان حاصل میکنند.
Paravirtualization در رایانش ابری چیست؟
Paravirtualization در زمینه رایانش ابری یک فناوری مجازی سازی است که یک رابط VM را ارائه میدهد که بسیار شبیه سخت افزار زیرین است.
مفهوم فرا مجازی سازی در رایانش ابری یک اصطلاح معاصر برای ایده ای است که از روزهای اولیه محاسبات وجود داشته است. سیستم عامل ماشین مجازی IBM که در سال 1972 معرفی شد، اولین پذیرنده چنین ویژگیهایی بود. در قلمرو ماشینهای مجازی، این مفهوم به عنوان «کد DIAGNOSE» شناخته میشود که از کدهای دستورالعمل نرم افزار تعمیر و نگهداری سخت افزار استفاده میکند و تعریف نشده باقی میماند. اصطلاح Paravirtualization در ابتدا در ادبیات تحقیقاتی در ارتباط با مدیر ماشین مجازی Denali معرفی شد.
Paravirtualization ایده آل برای چیست؟
Paravirtualization برای موارد استفاده خاص که در آن عملکرد و کارایی حیاتی است و در جایی که انعطاف پذیری برای اصلاح یا تطبیق سیستم عامل مهمان وجود دارد، ایده آل است. در زیر چند سناریو آورده شده است که در آنها مجازی سازی به خوبی کارایی دارد:
- بهینه سازی عملکرد: Paravirtualization اغلب منجر به عملکرد بهتر از مجازی سازی کامل میشود. اجازه دادن به سیستم عامل مهمان برای برقراری ارتباط مستقیم با هایپروایزر از طریق فراخوانی که باعث کاهش سربار مرتبط با شبیه سازی میشود و منجر به بهبود عملکرد میشود.
- بارهای کاری فشرده I/O: Paravirtualization به ویژه برای بارهای کاری فشرده I/O مانند سرورهای پایگاه داده و اپهای ذخیره سازی فشرده مفید است. ارتباط مستقیم بین مهمان و هایپروایزر عملکرد I/O را افزایش میدهد.
- سیستم عاملهای سفارشی: Paravirtualization نیاز به اصلاح سیستم عامل مهمان برای آگاهی از لایه مجازی سازی دارد. این امر آن را برای سناریوهایی که در آن سفارشی سازی و انطباق سیستم عامل امکان پذیر است، مانند محیطهای توسعه یا تخصصی، مناسب است.
- کارایی منابع: مجازی سازی میتواند منجر به استفاده کارآمدتر از منابع در مقایسه با مجازی سازی کامل شود. این امکان کنترل بیشتر بر تخصیص منابع را فراهم میآورد و میتواند در محیطهایی که بهینه سازی استفاده از منابع در اولویت است مفید باشد.
- سیستمهای تعبیه شده و برنامههای لحظه ای (Real Time): در شرایطی که عملکرد لحظه ای حیاتی است، مجازی سازی میتواند انتخاب مناسبی باشد. این ارتباط با تاخیر کم بین مهمان و هایپروایزر را فراهم میکند و آن را برای برنامههای لحظه ای و سیستمهای تعبیه شده مناسب میکند.
- محیطهای مجازی سازی ترکیبی: مجازی سازی میتواند بخشی از استراتژیهای مجازی سازی ترکیبی باشد که در آن برخی از ماشینهای مجازی از مجازی سازی برای عملکرد بهینه استفاده میکنند، در حالی که برخی دیگر از مجازی سازی کامل برای سازگاری با سیستم عاملهای اصلاح نشده استفاده میکنند.
توجه به این نکته مهم است که مجازی سازی به سیستم عامل مهمان نیاز دارد تا درایورها یا رابط های آگاه از مجازی سازی را شامل شود. بنابراین، مناسب بودن آن به توانایی و تمایل به انجام چنین اصلاحاتی در محیط هدف بستگی دارد.
مجازی سازی کامل در مقابل پارا مجازی سازی
برای کمک به درک بهتر مفهوم و کاربردهای فرامجازی سازی، مجازی سازی کامل را با Paravirtualization مقایسه کرده ایم. از آنجایی که مجازی سازی کامل یک نوع مجازی سازی شناخته شده است، این مقایسه درک پارا مجازی سازی را آسانتر میکند.