ماشین مجازی چیست؟

ماشین مجازی یا Virtual Machine یک سیستم کامپیوتری شبیه سازی شده است که بر روی یک کامپیوتر فیزیکی اجرا می شود. به عبارت دیگر ماشین مجازی کامپیوتری است درون کامپیوتر. ماشین های مجازی حافظه، CPU مجازی، فضای ذخیره سازی دیسک و رابط شبکه را اختصاص می دهند. یعنی می توانیم یک کامپیوتر ویندوزی داشته باشیم که چندین Virtual Machine متشکل از اوبونتو لینوکس، macOS، ویندوز 10، سولاریس و CentOS را اجرا کند و همه آن ها کاملاً از سیستم عامل اصلی ویندوز ما جدا باشند.

ایده کامل یک ماشین مجازی (VM) حول محور داشتن سیستمی است که منابع را از میزبان فیزیکی به محیط مجازی توزیع می کند. توزیع منابع از طریق نیازهای کاربر تنظیم می شود، بنابراین می توان محدودیت های خاصی را از نظر CPU قابل استفاده یا فضای اختصاص یافته به ماشین مجازی تعیین کرد. معمولاً این تنظیمات در حین نصب یا راه اندازی ماشین مجازی ایجاد و با نظارت فوق العاده بر تخصیص منابع، توسط هایپروایزر (Hypervisor) اعمال می شوند.

با این روش می توانیم چندین ماشین مجازی را که فقط توسط منابع موجود سیستم عامل اصلی محدود می شوند، اجرا کنیم. هنگامی که VM در حال اجرا نیست، منابع توسط دستگاه میزبان (سرور فیزیکی که یک ماشین مجازی بر روی آن اجرا می شود) استفاده می شوند، بنابراین منابع در حالت خاموش نگه داشته نمی شوند یا منحصراً برای یک VM ذخیره نمی شوند.

ماشین مجازی چگونه کار می کند؟

ماشین های مجازی با استفاده از فناوری مجازی سازی کار می کنند. برنامه های مجازی سازی از نرم افزارهای ویژه برای ایجاد یک فضای مجازی منزوی استفاده می کنند که در آن سیستم عامل های مختلف اجرا می شوند و منابع جداگانه به هر نمونه مجازی توزیع می شود.

می توانیم چندین ماشین مجازی را در کامپیوتر میزبان خود اجرا کنیم. ماشین فیزیکی به عنوان میزبان شناخته می شود و ماشین های مجازی را که روی آن کار می کنند میهمان می نامند. از آنجا که سیستم عامل های مهمان از والدین و سایر سیستم عامل ها جدا هستند، هر تغییری که ایجاد شود تاثیری روی کامپیوتر مادر یا سایر سیستم عامل ها نمی گذارد. یک نرم افزار مجازی سازی کامپیوترهای مقیاس کوچکتری را راه اندازی می کند که از منابعی که ما به آن ها اختصاص داده ایم استفاده می کنند.

 

چرا باید از ماشین مجازی استفاده کرد؟

در ادامه مزایا و معایب ماشین های مجازی را مورد بررسی قرار خواهیم داد.

مزایا:

انعطاف پذیری

از نظر انعطاف پذیری، مجازی سازی یک ماشین مجازی امکان استقرار سریع انواع مختلف ماشین های مجازی را فراهم می کند. همه آن ها از نظر سیستم عامل، استفاده از منابع و سایر جنبه ها می توانند سفارشی شوند. اکثر فروشندگان هایپروایزر، به ما امکان می دهند الگوهای خاصی ایجاد کنیم که با کلیک یک دکمه قابل استفاده باشند.

تصور کنید که یک سرور دارید که از چندین ماشین مجازی میزبانی می کند و تصادفا یکی از آن ها به بدافزار آلوده شده است. کل فرآیند بازیابی ساده است، زیرا فقط می توانیم ماشین مجازی را با تمام نرم افزارهای نصب شده از قبل مجدداً نصب کنیم. این کار باعث صرفه جویی در وقت می شود و از آنجا که ماشین های مجازی در محیط جداگانه ای وجود دارند، دیگر خطر آلوده شدن سایر دستگاه های مجازی وجود ندارد.

هزینه سخت افزار

هزینه مداوم به روزرسانی سخت افزار در هر جایی گران است. اگرچه ماشین های مجازی به مجوزهای نرم افزار احتیاج دارند، اما استفاده از آن ها یک راه حل مقرون به صرفه است زیرا می توان کنترل بهتری روی منابع ماشین مجازی داشت و آن ها را به شیوه ‌ای دقیق‌تر از سیستم های چند سخت ‌افزار مستقر کرد.

کنترل

ماشین های مجازی از یک طرح مدیریت متمرکز استفاده می کنند که امکان استقرار و کنترل سریع کلیه واحدهای VM را از یک نقطه فراهم می کند. این کار کارآمدتر از مدیریت چندین ایستگاه کاری است که در مکان های مختلف پخش شده باشند.

جبران فاجعه

در صورت خرابی سخت افزار، خطر کمی در از دست دادن داده ها وجود دارد زیرا ماشین های مجازی بطور منظم از تاریخچه خود پشتیبان تهیه می کنند. همه چیز می تواند به سرعت و به راحتی دوباره مستقر شود، و زمان را برای بازیابی و استفاده مجدد از ماشین مجازی ذخیره کند.

 

معایب

اثر بخشی کمتر

VM ها می توانند از سرورهای اختصاصی کارایی کمتری داشته باشند زیرا مستقیماً به سخت افزار دسترسی ندارند. به عبارت دیگر، آن ها سخت افزار خاص خود را ندارند اما باید به ارتباطات از طریق سیستم عامل اعتماد کنند، که می تواند پاسخ را از طریق سخت افزار کند بکند.

مصرف منابع

ماشین های مجازی می توانند مقدار قابل توجهی از منابع سیستم را از میزبان بگیرند، به خصوص اگر چندین نمونه VM را اجرا کنیم. علاوه بر این، اگر توزیع منابع به درستی تنظیم نشده باشد، می تواند باعث خرابی میزبان و سایر ماشین های مجازی دیگر شود.

امنیت

اگرچه این مسئله قابل بحث است ( چون اجرای ماشین مجازی از بقیه سیستم عامل ها جداست)، آن ها هنوز هم راه حل های نرم افزاری هستند. ماشین های مجازی می توانند در معرض بدافزارهایی قرار بگیرند که امنیت را به خطر بیندازند. اگر مهاجمی موفق شود به خود هایپروایزر دسترسی پیدا کند، تمام موارد مجازی ممکن است به خطر بیفتد. در چنین شرایطی، اگر گزینه کافی برای ایمنی در برابر شکست وجود نداشته باشد، هیچ راهی برای دانستن اینکه ماشین های مجازی به خطر بیفتند وجود ندارد. این نوع سناریو به خصوص وقتی ترسناک است اگر تصور کنیم یک عملیات مجازی سازی در مقیاس بزرگ با اجرای صدها یا هزاران ماشین مجازی انجام می شود.

نتیجه گیری

مجازی سازی و سیستم های ابری آینده محاسبات هستند. به زبان ساده، ماشین های مجازی یک راه حل مقرون به صرفه تر هستند که به ما امکان می دهد کل گردش کار در یک محیط را بهتر و با صرفه بیشتر کنترل کرده و منابع را بین ماشین های مجازی جداگانه به طور موثرتری توزیع کنیم. برنامه های زیادی برای مجازی سازی وجود دارد. با توجه به آینده رایانه ها در فضای ابری، ماشین های مجازی بسیار مفید هستند.

 

منابع:

https://www.liquidweb.com/kb/what-is-a-virtual-machine-a-tutorial/

https://www.citrix.com/glossary/what-is-a-virtual-machine.html

 

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *