یاشین مجازی یا همان virtual machine یک برنامه است که می تواند روی سیستم عامل فعلی شما نصب شود. به طور کلی ماشین مجازی فضایی را ایجاد می کند که شما برروی سیستم عامل خود (میزبان) بتوانید سیستم عامل های دیگری را نصب و اجرا کنید. ماشین مجازی با استفاده از منابع فیزیکی کامپیوتر و یا سرور شما ( سی پی یو، رم، هارد، کارت شبکه و…) بستری برای فعالیت سیستم عامل مهمان فراهم می کند. سیستم عامل مهمان در واقع اطلاعی از مجازی بودن منابع نداشته و همان فرض حقیقی بودن آن را دارد. روی هر ماشین مجازی می توانید یک یا چند سیستم عامل مهمان اجرا کنید، فقط باید این را نیز در نظر داشته باشید که هر چه تعداد ماشین های مجازی نصب شده و یا سیستم عامل های میزبان اجرا شده بیشتر شود، عملکرد و کارایی کامپیوتر و سرور شما نیز به نسبت کاهش پیدا خواهد کرد.
چرا از ماشین مجازی (virtual machine) استفاده می کنیم ؟
دلایل متعددی برای استفاده از ماشین مجازی وجود دارد که در اینجا به طور خلاصه به بررسی آنها خواهیم پرداخت
استفاده از نرم افزار بخصوص
بنا به شرایط استفاده و کاربردی که ممکن است نرم افزار مورد نیاز شما به صورت انحصاری بر روی سیستم عامل خاصی قابلیت نصب و اجرا داشته باشد ؛ این مورد بیشتر برای کاربران سیستم عامل مک رخ می دهد که امکان استفاده از نرم محدود تری را دارند و برای استفاده از برخی نرم افزار ها باید از طریق ماشین مجازی سیستم عامل مورد نیاز خود را نصب و اجرا کنند. هم چنین ممکن برخی نرم افزار ها بر روی ورژن خاصی از سیستم عامل ها اجرا شوند، پس در این صورت نیز شما به ماشین مجازی نیاز خواهید داشت.
اجرای نرم افزار طراحی شده بر روی انواع سیستم عامل
برنامه نویسان پس از طراحی و برنامه نویسی، یک نرم افزار نیاز دارند تا نحوه عملکرد و خروجی نرم افزار خود را بر روی انواع سیستم عامل تست کنند. پس امکان داشتن چند سیستم و سیستم عامل بر همه مقدور نمی باشد و داشتن یک ماشین مجازی بر روی سیستم عامل می تواند بسیار کار شما آسان کند.
تست نسخه به روز رسانی شده سیستم عامل
با روز رسانی و عرضه نسخه های جدید سیستم عامل شما می تواند نسخه را تهیه و کارایی و دسترسی های آن را در ماشین مجازی تست کنید و در صورت رضایت بخش بودن نتیجه اقدام به نصب و به روز رسنی سیستم عامل خود کنید.
کاهش هزینه
برخی از کسب و کار ها به چندین سرور به صورت هم زمان نیاز دارند ولی از لحظ مالی و تامین فضای فیزیکی این امکان برای آنها وجود ندارد.در نتیجه با استفاده از ماشین مجازی می توانید خدمات چند سرور را بر روی یک سرور داشته و در هزینه و اشغال فضا صرفه جویی کنید.
ماشین های مجازی پیشنهادی
VirtualBox و VMware از جمله معروف ترین و کاربردی ترین ماشین های مجازی شناخته شده می باشند که امکانات خود را به صورت رایگان در اختیار کاربران قرار داده اند.
معایب virtual machine
همانطور که پیشتر گفتیم ماشین مجازی به خودی خود منابع سخت افزاری نداشته و تمامی ماشین های مجازی ایجاد شده وابسته منابع سخت افزاری کامپیوتر ویا سرور فیزیکی شما هستند؛ در نتیجه در صورت عدم توجه و فراموشی ممکن است منابع شما به اتمام رسیده و باعث بروز مشکل برای شما گردد.
برای جلوگیری از بروز این اتفاق به شما پیشنهاد می شود که از سیستم مانیتورینگ vm برای کنترل جزئیات سیتم سخت افزاری استفاده کنید.
مواردی که در صورت استفاده از ماشین مجازی باید آنها را کنترل کنید
چک کردن میزان ظرفیت پنای باند و حافظه
کنترل سرعت استفاده از پهنای باند توسط ماشین مجازی کاربردی
اشتراک گذاری درست و به اندازه منابع بین ماشین مجازی
جزء اصلی ماشین مجازی
یکی از اجزای اصلی ماشین های مجازی که نرم افزار می باشد، هایپر وایزر است ( که در این مقاله به طور کامل راجع به هایپروایزر ها می توانید مطالعه کنید ) هایپروایزر ها وظیفه ایزوله کردن ماشین مجازی در فضای ابری دارند، علاوه بر این با ایجاد یک لایه امکان استفاده برابر از ظرفیت های سخت افزاری سرور (مانند: رم، سی پی یو، درایوها ) برای ماشین های مجازی شما فراهم میکند؛و به طور کلی در دوسته اصلی metal وhosted قرار می گیرند.
مجازی سازی در سرور
مجازی سازی سرور برای مخفی کردن منابع سرور از کاربران سرور استفاده می شود. این می تواند شامل تعداد و هویت سیستم عامل ها ، پردازنده ها و سرورهای فیزیکی فردی باشد. عمدتا مجازی سازی سرور شامل سه نوع می باشد.
Full Virtualization
در مجازی سازی کامل از hypervisor استفاده می شود ، نوعی نرم افزار که مستقیماً با فضای دیسک سرور فیزیکی و CPU ارتباط برقرار می کند. Hypervisor منابع سرور فیزیکی را زیر نظر دارد و هر سرور مجازی را مستقل و از سرورهای مجازی دیگر بی خبر می دارد. همچنین منابع را از سرور فیزیکی به سرور مجازی صحیح در حین اجرای برنامه ها منتقل می کند. بزرگترین محدودیت استفاده از مجازی سازی کامل این است که یک hypervisor نیازهای پردازشی خاص خود را دارد. این می تواند برنامه ها را کند کرده و عملکرد سرور را تحت تأثیر قرار دهد.
Para-Virtualization
بر خلاف مجازی سازی کامل ، Para-virtualization شامل کل شبکه است که با هم به عنوان یک واحد منسجم کار می کنند. از آنجایی که هر سیستم عامل روی سرورهای مجازی از یکدیگر در حالت پیش مجازی سازی آگاه است ، hypervisor نیازی به استفاده از قدرت پردازشی چندانی برای مدیریت سیستم عامل ها ندارد.
OS-Level Virtualization
بر خلاف مجازی سازی کامل و پیش مجازی سازی ، در تجسم سطح OS از hypervisor استفاده نمی شود. در عوض ، قابلیت مجازی سازی ، که بخشی از سیستم عامل سرور فیزیکی است ، تمام وظایف یک hypervisor را انجام می دهد. با این حال ، همه سرورهای مجازی باید همان سیستم عامل را در این روش مجازی سازی سرور اجرا کنند.
چرا مجازی سازی سرور؟
مزایای مجازی سازی سرور نیز همانند کلیات مجازی سازی می باشد .برای سرور راهی مقرون به صرفه برای ارائه خدمات میزبانی وب و استفاده موثر از منابع موجود در زیرساخت فناوری اطلاعات است. بدون مجازی سازی سرور ، سرورها فقط از بخش کوچکی از قدرت پردازشی خود استفاده می کنند. این امر باعث می شود سرورها بیکار بنشینند زیرا حجم کار فقط به بخشی از سرورهای شبکه توزیع می شود. مراکز داده با سرورهایی که از حداکثر توانایی آنها استفاده نمی شود زیاد شده، و باعث هدر رفتن منابع و قدرت می شوند.