آیا با انواع مجازی­‌سازی سرور آشنا هستید؟

یکی از مشکلات موجود در سیستم­‌های مجازی پایین بودن سرعت اجرا بر روی این سیستم­‌ها است. این پایین بودن سرعت نسبت به سرعت ماشین­‌های واقعی سنجیده می‌­شود. اخیراً به­‌دلیل پیشرفت­ در زمینه­‌ی سخت‌افزاری نگرانی فوق نیز تا حدی مرتفع شده است. از جمله این موارد می‌توان به طراحی انواع مختلف مجازی­‌سازی سرور اشاره کرد. مجازی­‌سازی سرور در کل، به سه دسته مجازی‌سازی Full Virtualization ،Para Virtualization و Hardware Assisted Virtualization تقسیم می­‌شود.

 

ویژگی‌های هر کدام از انواع مجازی‌سازی سرور را بشناسید:

 

Full Virtualization

رویکرد Full Virtualization از جمله روش­‌های اولیه‌­ای است که برای طراحی ماشین­‌های مجازی به کار می‌­رود. در این رویکرد، طراحی به­ گونه­‌ای است که سیستم‌عامل­‌های ماشین‌­های مجازی تصورشان از محیط، یک محیط واقعی بوده و هیچ‌­گونه اطلاعی در خصوص مجازی بودنشان ندارند. همچنین در این روش سیستم­‌عامل­‌های مجازی حضور بقیه سیستم‌­عامل­‌ها را حس نمی‌­کنند. در واقع هر سیستم‌عامل، کاملاً به عنوان یک واحد مستقل عمل کرده و سیستم­‌عامل آن بدون تغییر بر روی ماشین مجازی اجرا می­‌شود.

مزیت:

  • سادگی: نیاز به اعمال تغییر بر روی سیستم­‌عامل­‌های ماشین­‌های مجازی نیست.

عیب:

  • Binary Dynamic Translation: در زمان اجرا کدهای اجرایی سیستم­‌عامل به ازای برخی دستورات پایه که قرار است با سخت‌افزار کار کنند، تعویض می‌شوند. به­ عنوان مثال فرض کنید سیستم‌عامل قرار است درون یک فایل عملیات ویرایش را انجام دهد. در این صورت Hypervisor عملیات تبدیل دستور را انجام داده و کدهای اجرایی را در زمان اجرا با کدهای مربوط به خود جایگزین می‌­کند. این یعنی سربار!

سربار فوق به این دلیل پیش می‌آید که سیستم‌عامل ماشین مجازی، کلی کار انجام داده که بلااستفاده مانده و مجدد Hypervisor کار خودش را انجام می­‌دهد! بنابراین در رویکرد Full Virtualization سربار قابل ملاحظه‌­ای برای دسترسی به منابع سخت‌افزاری وجود دارد.

Para Virtualization

در این رویکرد جهت کم کردن سربار دسترسی به منابع روش قبل، به ماشین­‌های مجازی اجازه اطلاع از مجازی بودن خود و سایر سیستم­‌عامل‌های مجازی داده شده است. بنابراین تغییر کد سیستم‌­عامل­‌های مجازی تا حد قابل قبول مشکلی ایجاد نمی­‌کند. نحوه انجام کار به­ این صورت است که Hypervisor یک سری API را استخراج می‌­کند. هر زمان سیستم‌­عامل مجازی نیاز به خواندن فایل و یا دریافت منبع خاصی داشت می‌تواند به جای صحبت مستقیم با سخت‌افزار از APIهای فوق استفاده کند. در واقع این APIها وظیفه اطلاع به Hypervisor را برعهده دارند.

مزیت:

  • سربار دسترسی به منابع کاهش می­‌یابد.

عیب:

  • نیاز به تغییر سیستم­‌عامل دارد.

 

Hardware Assisted Virtualization

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

 

استفاده از این روش به همراه رویکرد Full Virtualization سربار دسترسی به منابع سخت‌افزاری را پایین می­‌آورد.

 

تکنولوژی مجازی‌سازی در سامانه PVM چگونه است؟

سامانه مجازی‌سازی PVM از تکنولوژی KVM – Kernel Virtual Machine به عنوان تکنولوژی مجازی‌سازی استفاده می‌کند.

KVM از منظر تقسیم‌بندی در سطح Hardware Assisted Virtualization  قرار می‌گیرد. همچنین با توجه به توسعه درایورهای خاصی هم‌چون Virtio  می‌توان گفت برخی از قابلیت‌های Para Virtualization را نیز پشتیبانی می‌کند.

 

مطالب مرتبط:

انواع مجازی‌سازی از نظر تکنیکی

 

بیشتر بخوانید

سامانه مجازی‌سازی PVM
سامانه میزکار مجازی PVM