آیا با انواع مجازیسازی سرور آشنا هستید؟
یکی از مشکلات موجود در سیستمهای مجازی پایین بودن سرعت اجرا بر روی این سیستمها است. این پایین بودن سرعت نسبت به سرعت ماشینهای واقعی سنجیده میشود. اخیراً بهدلیل پیشرفت در زمینهی سختافزاری نگرانی فوق نیز تا حدی مرتفع شده است. از جمله این موارد میتوان به طراحی انواع مختلف مجازیسازی سرور اشاره کرد. مجازیسازی سرور در کل، به سه دسته مجازیسازی 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 را نیز پشتیبانی میکند.
Leave A Comment