ماشین مجازی که به اختصار VM یا (Virtual Machine) نام دارد، نرم افزاری است که به عنوان یک رایانه مجازی مورد استفاده قرار میگیرد. این برنامه بر روی سیستمعامل شما (یا همان سیستم میزبان) اجرا شده و سختافزاری برای یک سیستمعامل مهمان ارائه میکند. مفهوم ماشین مجازی در واقع این است که امکاناتی را به شما میدهد تا سیستم عاملهای دیگری را در سیستم عامل خودتان اجرا کنید، مانند اینکه قصد دارید یک برنامه در سیستمی که دارید، اجرا کنید. سیستمعامل میهمان بر روی ماشین مجازی مشابه یک رایانه فیزیکی و واقعی است.
ماشین مجازی اینگونه است که اجازه دسترسی کامل به سیستم عامل و پیادهسازی تقریبا هر برنامهای را به شما میدهد. به بیان سادهتر، یک سیستم عامل کامل است که بر روی سیستم عامل فعلی شماست. برای شناخت بیشتر و بهتر ماشین مجازی و جزییات و مزایا و مشکلات آن با ما همراه باشید.
ماشین مجازی سختافزارهای مجازی خود را دارد که شامل سیپییو، حافظه، هارد دیسک، رابط شبکه و دیگر دستگاهها است. این سخت افزار مجازی است و سیستمعامل مهمان دقیقاً مانند هر برنامه دیگری در یک پنجره بر روی سیستمعامل میزبان اجرا میشود. برای مثال هارد دیسک آن در یک فایل بر روی هارد دیسک سیستم عامل میزبان تعریف میشود.
همچنین با کمک نرمافزارهای مختلف همچون Hypervisor، Virtuozzo، VMware و… که نرمافزارهای مجازیساز هستند نصب و اجرا میشود و منابع سرورها برای این سیستم عاملها به صورت مجازی اختصاصی میشوند. در واقع ماشین مجازی میتواند رفتار و عملکرد یک سیستم فیزیکی را تقلید کند. در این نرمافزار پلتفرمهای زیادی را میتوان نصب و اجرا کرد مثل سیستم عاملwindows ،MAC-OS و… .
ماشین مجازی VMware
در سال ۱۹۹۸ در کالیفرنیا کمپانیای به نام VMware تاسیس شد که در جهت تهیه و ایجاد بستر مجازیسازی زیرساختهای فناوری اطلاعات (IT) تخصص دارد.
VM ware نوعی نرمافزار ماشین مجازی است که در کامپیوترهای ۶۴بیت و ۳۲بیت استفاده میشود. اجرای همزمان چندین سیستم عامل از طریق یک کامپیوتر میزبان در آن امکان پذیر. هر دستگاه مجازی می تواند یک نمونه واحد از هر سیستم عامل مثل مایکروسافت، لینوکس و … را همزمان اجرا کند.
از لحاظ سرعت ماشین مجازی VMware بالاترین سرعت را داراست و از سازگاری سخت افزاری به شدت پشتیبانی می کند و به عنوان راه ارتباطی بین میزبان و ماشین مجازی برای انواع منابع سخت افزاری مثلhard disk ، USB و CD ROM است.
کاربردهای ماشین مجازی و انواع آن
در تقسیم بندی انواع نرم افزارهای ماشین مجازی میتوان دو نوع مجازی ساز را درنظر گرفت که ویژگی هر کدام را به طور خلاصه بیان میکنیم:
۱- ماشین مجازی سیستمی:
ماشینهای مجازی سیستمی (System Virtual Machine) دارای ویژگیهای زیر است
- به عنوان ماشین مجازیسازی کامل شناخته میشود
- مانند یک سیستم عامل کامل اجرا میشود
- دارای ویژگیهایی مانند اشکالزدایی و بوت سریعتر و همزمان اجرا شدن چند سیستم عامل است.
- برای توسعهی حافظهی مجازی مناسب است.
- با روشهای متفاوتی از تکنیکهای اشتراک زمانی، میتواند شرایط مجزایی برای ایجاد ماشینهای مجازی فراهم کند
- برای نصب نرمافزارهایی که هنوز در مراحل آزمایشی هستند یا عملکردشان نامعلوم است کاربرد دارد
برای توضیحات بیشتر نوع اول به مطالب زیر توجه کنید:
-
Bare metal Hypervisor
در این نوع مجازیسازی به سیستم عامل میزبان که وظیفه کنترل، تقسیم و منابع اصلی سرور بین سیستم عاملها را دارد hypervisor گویند.
یعنی یک سیستم عامل اختصاصی مجازیسازی درسیستم فیزیکی یا Host با در اختیار گرفتن منابع اصلی مثل رم، پردازنده و دیسک (که در ابتدا هم گفته شد) در سیستم میزبان و مدیریت منابع بین سیستم عاملهای مهمان نصب میشوند.
این نوع از ماشین مجازی دارای دو نوع دیگری است:
نوع اول Hypervisor OpenVZ که اجازه استفاده از منابع را به سیستم عامل مهمان به صورت اشتراکی میدهند.
نوع دوم Hypervisor مثل: vmWare ESXi، Ms HyperV و Cytrix Xen ؛ که به هر سیستم عامل مهمان مقدار مشخصی منابع سختافزاری را واگذار میکند و در صورت پر شدن منابع برای هر مهمان، سیستم عامل مهمان دیگری به مشکل نمیخورد.
-
ماشین مجازی فرایندی
ماشین مجازی فرایندی یا (Process Virtual Machine) دارا ویژگیهای زیر است:
- نام دیگر آن ماشین مجازی Application است
- نوع دیگری از ماشینهای مجازی VM است
- شبیه یک اپلیکیشن در سیستم عامل میزبان اجرا میشود
- هدف این نوع از ماشینها، ایجاد محیطی مستقل از هر پلتفرم است
- براساس یک نوع مفسر ساخته و پرداخته میشود مانند Java VM
از معروفترین نمونههای این نوع مجازی ساز VMWare Workstation و Virtual Bo هستند.
اجزا ماشین مجازی
یک ماشین مجازی درست مثل یک ماشین فیزیکی (کامپیوتر) دارای منابع است:
- CPU
- RAM
- NETWORK
- DISK
- CD-ROM
- FLOPPY
- PCIE DEVICE
- GPU
- CONTROLLER
- USB
سرعت ماشین مجازی بهتر است یا ماشین فیزیکی؟
در واقع تفاوتی از جهت performance باهم ندارند اما اگر تعداد زیادی از ماشین های مجازی در مقابل تعداد زیادی از ماشینهای فیزیکی قرار بگیرند، سرعت ماشینهای مجازی بهتر خواهد بود.
بهترین نرم افزار ماشین مجازی
تنوع زیادی در انواع نرمافزار ماشین مجازی وجود دارد و انتخاب بهترین ماشین مجازی بر اساس کاربرد، کارایی و نیاز کاربر متفاوت و متغیر خواهد بود، اما به طور کلی برخی از انواع آن که میتوان نام برد شامل موارد زیر هستند:
- Oracle VM Virtual box
- Parallels desktop 13
- VMware Fusion
- VMware Workstation
- QEMU
- Microsoft Hyper-V
- Virtual PC
- Virtual box
مزایا و معایب ماشین مجازی
از مزایای ماشین مجازی میتوان به طور خلاصه به موارد ذیل اشاره کرد:
- جدا بودن این نرمافزارها از سیستم میزبان
- اجرای چندین سیستم عامل به صورت همزمان روی یک قطعه سختافزاری
- صرفه جویی در وقت و هزینه ها
- مدیریت بهتر
- کمترین فضای ممکن را اشغال میکند
- پیشتیبانی از برنامههای قدیمی
- استفاده از نرمافزارها در محیطی امن
- جداسازی بدافزازها که ممکن است نرمافزارهایی را آلوده یا خراب کند
از معایب ماشین مجازی نیز میتوان به موارد زیر اشاره کرد:
- نیازمند شرایط مناسب برای سرور
- هزینههای زیاد در نسخهی پولی
- عملکرد نامناسب و ناپایداری در اثر اجرای چندین ماشین مجازی در یک میزبان فیزیکی
ماشین مجازی سرور:
مجازی سازی سرور یک تکنولوژی اثبات شده است که ما را قادر می سازد چندین سرور مجازی را بر روی یک سرور فیزیکی واحد اجرا کنیم. هر کدام از ماشین های مجازی به صورت کاملاً ایزوله از بقیه ماشین های مجازی قرار دارد و از ماشین میزبان توسط یک لایه نرم افزاری که به Hypervisor معروف است، جدا گردیده است. این خاصیت به هر ماشین مجازی اجازه می دهد سیستم عامل و برنامه های متفاوتی را اجرا کند.
راهاندازی یک ماشین مجازی در سرور با مجازیسازهای مختلف که در زیر به آنها اشاره کردهایم انجام میپذیرد؛ در ادامه به توضیح این موارد خواهیم پرداخت:
۱- مجازیسازی سرور با VMware
شرکت VMware برای مجازی سازی بر روی سرور از ابزار VMware ESXI بهره میبرد که هسته اصلی در نظر گرفته میشود و به نوعی یک سیستم عامل CLI به حساب میآید که در Virtualized Sever Architecture یا مجازی سازی در سرور به عنوان Virtualization Layer مورد استفاده است. برای مدیریت ماشین مجازی بر بستر ESXI از رابط کاربری گرافیکی بهره میبریم که vSphere نام دارد.
این هسته روی سرورهای فیزیکیای که در مرکز داده یا دیتاسنتر هستند نصب میشود، در حالیکه ماشینهای مجازی روی hypervisorها نصب و راهاندازی میشوند.
hypervisorها مثل workstation ها به سیستم عامل میزبان وابستگی ندارند و هستهی اصلی ESXI مستقیماً روی سرور نصب شده و چند سیستم عامل مانند windows, Linux, UNIX و… به صورت متفاوت و بدون ایجاد خلل برروی کار دیگری، در سرورها نصب و راه اندازی میشوند.
بهتر است بدانید که نرم افزار ESXI به تنهایی توانایی فراهم کردن بستر برای مجازی سازی را ندارد و برای مدیریت یکپارچه و بهتر ماشین مجازی نیاز است از نرم افزارهای دیگری از محصول vSphere به نام vCenter استفاده کرد که قابلیتهای بیشتر و پیشرفتهتری دارد.
۲- مجازیسازی با Citrix
مجازی سازی با نرم افزارهای شرکت Citrix که از پرقدرتترین و پیشرفتهترین محصولات این شرکت Xen hyper-v یا xen سرور است، که محصولی رایگان و قابل اعتماد و پایدار است، اما همچنان در رقابت با VMware عقبتر است.
جابهجایی Disk vm به Disk store و جابهجایی ماشین مجازی از یک سرور به سرور دیگر به روش لایو (live) انجام میشود که به آن Xen Motion میگویند.
جابجایی Disk vm به یک دیتا استور (data store) دیگر Live Storage Migration نام دارد و استفاده اشتراکی از حافظه RAM بین ماشینهای مجازی، ریکاورکردن آن ها در مواقع بحران و اتصال فلش USB به ماشینهای مجازی از تواناییها و قابلیتهای مجازیسازی در سرور با Citrix است.
۳- مجازیسازی مایکروسافت هایپر وی (Hyper-V)
مجازیسازی Microsoft Hyper-V بدین صورت است که: در این محصول شرکت مایکروسافت با معرفی آپشن و قابلیتی به نام جابجایی زنده (live migration) وارد عرصه و رقابت با محصولات دیگر مجازیسازی شد.
این روش باعث انتقال و حرکت یک ماشین مجازی از سروری به سرور دیگر بدون قطع و وصلی میشود.
هاپیر-وی بعد از نصب روی ویندوز سرور از طریق دو روش پیکربندی میشود:
-
Power shell Microsoft
-
کنسول گرافیکی هایپر وی منیجر (hyper-v manager)
قابل ذکر است که Microsoft Hyper-V این قابلیت را دارد که به طور اختصاصی حافظه رم را به صورت پویا و فعال به ماشین مجازی متصل کند و فرمت جدیدی جهت ذخیرهسازی VHDX معرفی و نشان دهد.
۴- مجازیسازی در لینوکس
مجازی سازی در لینوکس KVM را بخواهیم بیان کنیم به این صورت است که هستهی اصلی لینوکس را به یک نوع از هایپر-وی تبدیل میکند که به آن KVM یا Kernel-Based Virtual Machine گویند. در KVM تمام منابع قابل پردازش به صورت اختصاصی به کاربر داده میشود.
قابل ذکر است که این محصول open source است و جهت کاهش حافظهی مصرفی و جابجایی ماشین مجازی از سروری به سرور دیگر را پشتیبانی میکند.
خدمات فناوران آتیه گئومات:
شرکت فناوران آتیه گئومات با ارائه خدمات متنوع در حوزه سرور، دیتاسنتر و مراکز داده، توانایی راه اندازی سرور و ماشین های مجازی را در انواع شبکههای مهندسی شده در یک مجموعه در جهت پیشبرد اهداف سازمانی و بهبود عملکرد و کاربرد همچون امور مالی، سامانه پشتیبانی و بکآپ، اشتراک فایل و… دارد.