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 مقایسه کرده ایم. از آنجایی که مجازی سازی کامل یک نوع مجازی سازی شناخته شده است، این مقایسه درک پارا مجازی سازی را آسانتر میکند.
تفاوت بین مجازی سازی کامل و پارا مجازی سازی
- مجازی سازی کامل: IBM در سال 1966 مجازی سازی کامل را معرفی کرد که نشان دهنده آغاز این رویکرد مجازی سازی سرور بود. این به عنوان راه حل نرم افزاری اساسی برای مجازی سازی سرور، با استفاده از ترجمه باینری و رویکرد مستقیم عمل میکند. در مجازی سازی کامل، سیستم عامل مهمان به طور کامل از لایه مجازی سازی و منابع سخت افزاری توسط ماشین مجازی جدا شده است. نمونه هایی از سیستم هایی که از مجازی سازی کامل استفاده میکنند عبارتند از Microsoft و Equals.
- Paravirtualization :Paravirtualization یک دسته از مجازی سازی تراشههای کامپیوتری است که از فراخوانی برای مدیریت دستورالعملها در زمان کامپایل استفاده میکند. برخلاف مجازی سازی کامل، در فرامجازی سازی، سیستم عامل مهمان کاملاً ایزوله نیست. در عوض، تا حدی توسط ماشین مجازی از لایه مجازی سازی و سخت افزار فیزیکی جدا میشود. نمونههایی از مجازی سازی VMware و Xen هستند.
آیا سیستم عامل مهمان به صورت مجزا اجرا میشود یا خیر؟
در حالی که با فرامجازی سازی سر و کار دارید، ممکن است یک سوال متقابل در زمینه مجازی سازی داشته باشید. آیا سیستم عاملهای مهمان یا سیستم عامل مهمان به صورت مجزا اجرا میشوند یا خیر؟
بخش اول این گفته به طور کلی درست است: در پارا مجازی سازی، سیستم عاملهای مهمان با درجه ای از انزوا عمل میکنند. با این حال، توجه به این نکته مهم است که پارا مجازی سازی به انزوا کامل آن طور که در مجازی سازی کامل دیده میشود، دست نمی یابد. در paravirtualization، سیستم عامل مهمان تا حدی از لایه مجازی سازی آگاه است و ممکن است برای عملکرد بهینه نیاز به تغییراتی داشته باشد.
قسمت دوم این گفته دقیق نیست. Paravirtualization به لینوکس یا سایر سیستم عاملهای محبوب محدود نمی شود. میتواند از سیستم عاملهای مختلف پشتیبانی کند. برای مثال، هایپروایزر Xen، که یک پلتفرم محبوب برای مجازی سازی است، از لینوکس و ویندوز به عنوان سیستم عامل مهمان پشتیبانی میکند. نکته کلیدی این است که سیستم عامل مهمان برای کارکرد مؤثر در این محیط، باید تطبیق داده شود یا «پیش مجازی» شود. در حالی که برخی از پیاده سازی های اولیه paravirtualization معمولاً با لینوکس مرتبط بودند، پشتیبانی از سیستم عامل های مختلف در طول زمان گسترش یافته است.
سخن پایانی
فرا مجازی سازی در واقع فناوری است که در حال تغییر صنعت است. از Google Cloud و Amazon AWS گرفته تا شرکت های میزبان کوچک، همه از این فناوری برای بهبود عملکرد و ارائه مزایای بیشتر برای شرکت استفاده میکنند. به صورت خلاصه میتوان گفت، اگر به دنبال یک گزینه مجازی سازی کارآمدتر و قدرتمندتر هستید، بدون هیچ شکی، پارا مجازی سازی انتخاب مناسبی برای شما یا شرکت شما است.