ماشین مجازی چیست و چه کاربردی دارد؟
در این مقاله میخوانید
- ماشین مجازی چیست؟
- ماشین مجازی VMware چیست؟
- ماشین مجازی چطور کار میکند؟
- کاربرد ماشین مجازی
- نگاهی به مزایا و معایب ماشین مجازی
- انواع ماشین VM
- منابع سختافزاری موردنیاز برای راهاندازی VM
- نحوه ایجاد ماشین مجازی
- گام اول: دانلود و نصب Oracle VM VirtualBOX
- گام دوم: ایجاد ماشین مجازی
- گام سوم: تخصیص حافظه به ماشین مجازی
- گام چهارم: راهاندازی هارد درایو ماشین مجازی
- گام پنجم: انتخاب نوع فایل هارد درایو
- گام ششم: انتخاب Storage روی هارد درایو فیزیکی
- گام هفتم: انجام تنظیمات محل ذخیرهسازی فایلها و اندازه آنها
- گام هشتم: نصب سیستمعامل روی ماشین مجازی
- نرم افزار هایپروایزر چیست و چه انواعی دارد؟
- بهترین نرمافزارهای ماشین مجازی
- مقایسه ماشین مجازی و VPN
- مقایسه ماشین مجازی و سرور
- تفاوت ماشین مجازی با کانتینر
- جمعبندی
- سؤالات متداول
ماشین مجازی به شما امکان میدهد تا یک یا چند سیستمعامل را همزمان روی کامپیوتر خود داشته باشید. این یکی از مزیتهای اصلی ماشین مجازی (Virtual Machine) است که در این مطلب از بلاگ پارس پک، بیشتر درباره آن صحبت میکنیم.
احتمالاً در موقعیتی قرار گرفتهاید که بخواهید نرمافزاری جدید و ناشناس را روی کامپیوترتان نصب کنید؛ اما نگرانی از بدافزارها باعث شده است تا از این کار پشیمان شوید. دقیقاً بههمیندلیل باید بدانید که ماشین مجازی چیست و در چنین مواقعی چه کمکی به شما میکند. درادامه، با انواع و مزیتها و کاربردهای ماشین مجازی دقیقتر آشنا میشویم و توضیح میدهیم که ماشین VMware چیست و چه تفاوتی با ماشینهای مجازی دیگر دارد.
ماشین مجازی چیست؟
ماشین مجازی یا VM (مخفف Virtual Machine) منبع محاسباتی است که از نرمافزارهای مجازی بهجای کامپیوترهای فیزیکی برای اجرای برنامهها استفاده میکند. معمولاً هر ماشین «میزبان» یک یا چند ماشین مجازی «مهمان» را شامل میشود. هر ماشین مجازی مهمان سیستمعاملها و برنامههای خاص خود را دارد و بهطور مجزا از سایر ماشینها عمل میکند.
VM نمیتواند مستقیماً با کامپیوتر فیزیکی تعامل برقرار کند و برای هماهنگی با سختافزار، به یک لایه نرمافزار سبک بهعنوان هایپروایزر (Hypervisor) نیاز دارد. هایپروایزر میتواند منابع فیزیکی محاسباتی مانند پردازندهها و حافظه و ذخیرهسازی را به هر VM اختصاص دهد. همچنین، هریک از ماشینهای VM را از سایر آنها جدا و از تداخلشان جلوگیری میکند. این روند نهتنها با عنوان مدیریت ماشین مجازی، بلکه با عناوین دیگری ازجمله سرور مجازی و نمونه سرور مجازی (VSI) و سرور خصوصی مجازی (VPS) نیز شناخته میشود.
نکته:
ماشینهای مجازی VM منابع محاسباتی را با استفاده از نرمافزارهای مجازی فراهم میکنند و برای اجرای برنامهها بهجای کامپیوترهای فیزیکی استفاده میشوند. هر ماشین میزبان میتواند یک یا چند ماشین مجازی مهمان را در خود جای دهد. هریک از ماشینهای مجازی مهمان سیستمعامل و برنامههای خاص خود دارند و بهطورمجزا از دیگر ماشینها عمل میکنند.
ماشین مجازی VMware چیست؟
زمانیکه درباره ماشین مجازی جستوجو کنید و بخواهید با جزئیات آن آشنا شوید، احتمالاً با عبارت دیگری به نام VMware روبهرو میشوید. حال VMware چیست و چه تفاوتی با ماشینهای مجازی دارد؟
VMware درواقع ازجمله ارائهدهندگان نرمافزار مجازیسازی است که در سال ۱۹۹۸ تأسیس شده و بهعنوان یکی از شرکتهای زیرشاخه Dell Technologies فعالیت میکند. مجازیساز VMware فناوریهای خود را با هایپروایزرهای ESX/ESXi در معماری x86 طراحی میکند. با استفاده از ماشین مجازی VMware، یک هایپروایزر روی سرور فیزیکی نصب میشود و به چندین ماشین مجازی اجازه میدهد تا روی سرور اجرا شوند.
ماشین مجازی چطور کار میکند؟
ماشین مجازی با استفاده از تکنولوژی مجازیسازی کار میکند. درواقع، برای مجازیسازی از نرمافزارهایی استفاده میشود که باعث میشوند چندین ماشین مجازی روی یک دستگاه فیزیکی واحد اجرا شوند. به این دستگاه فیزیکی میزبان (Host) و به ماشینهای مجازی نیز مهمان (Guest) گفته میشود.
تمامی فرایند مجازیسازی با نرمافزاری موسوم به Hypervisor مدیریت میشود. بهبیان ساده، هایپروایزر وظیفه تأمین و مدیریت منابع از Host تا Guest را برعهده دارد. همچنین، این نرمافزار عملیات مختلف را در ماشینهای مجازی زمانبندی میکند تا از حفظ تقدم و تأخیر زمانی اجرای تمامی آنها مطمئن شود. نکته دیگر اینکه ماشینهای مجازی فقط در صورتی کار میکنند که هایپروایزری برای مجازیسازی و توزیع منابع میزبان وجود داشته و برای این منظور پیکربندی شده باشد.
برای آشنایی با انواع روشها و مزایا و معایب تکنولوژی مجازیسازی مقاله زیر را بخوانید.
کاربرد ماشین مجازی
به این جمله دقت کنید: «مجازیسازی راهی برای شبیهسازی سختافزار ازطریق نرمافزار است!» این جمله ساده و کاملاً کاربردی دقیقاً ما را به جایی میرساند که به این نتیجه برسیم مجازیسازی و ماشین مجازی چیست. با استفاده از مجازیسازی، درحقیقت یک سیستم کامپیوتری دارید؛ اما میتوانید آن را به قسمتهای مختلفی تقسیم کنید و انتظار داشته باشید که هریک از آنها نیز دقیقاً کار یک سیستم مجزا را انجام دهند.
استفاده از ماشینهای مجازی در حوزههای مختلف، توانست کار انسان را بسیار راحت کند. برای مثال، مجازیسازی راهی پیش پای شرکتهای هاستینگها گذاشت تا با استفاده از آن بتوانند سرورهای خود را ادغام کنند.
تا پیش از اینکه تکنولوژی ماشین مجازی پا به میدان بگذارد، دیتاسنترها پر از سرورهای متعدد بودند که امکان استفاده از فقط یک سیستمعامل روی هریک از آنها وجود داشت. بااینحال، مجازیسازی کاری کرد تا هر سرور به بخشهای متعددی تقسیم شود و هریک از آنها نیز دقیقاً مشابه با سیستمی واحد عمل کند. اینجا بود که اصطلاح « سرور مجازی» متولد شد.
یکی از کاربردهای مهم ماشین مجازی تولید سرورهای مجازی است؛ اما کاربرد این تکنولوژی به شرکتهای هاستینگ محدود نمیشود. درادامه، به برخی از کاربردهای مهم ماشین مجازی اشاره خواهیم کرد.
۱. استفاده از سیستمعاملی متفاوت
یکی از کاربردهای مهم ماشین مجازی این است که به کاربران امکان میدهد تا از سیستمعاملی بهغیر از سیستمعامل نصبشده روی دستگاهشان استفاده کنند. بهعنوان نمونه، فرض کنید توسعهدهنده حرفهای وب هستید و برای انجام کارهایتان از سیستمعامل لینوکس استفاده میکنید.
حالا اگر به هر دلیل بخواهید از نرمافزارهایی مثل اتوکد و فتوشاپ هم استفاده کنید که فقط روی سیستمعامل ویندوز و مک نصب میشوند، ماشین مجازی را بهراحتی میتوانید روی سیستم خود ایجاد و روی آن سیستمعامل ویندوز نصب کنید. بدینترتیب هم سیستمعامل لینوکس و هم سیستمعامل ویندوز را بهصورت همزمان روی لپتاپتان خواهید داشت.
۲. اجرای نرمافزارهای قدیمی
ممکن است نیاز داشته باشید از نرمافزاری قدیمی استفاده کنید که آپدیت جدیدی برایش منتشر نشده است. در این مواقع، نمیتوانید این نرمافزار را روی سیستمعامل جدید نصب و از آن استفاده کنید. یکی دیگر از کاربردهای ماشین مجازی نصب سیستمعامل قدیمی (مثلاً سیستمعامل ویندوز XP) و سپس استفاده از نرمافزارهایی است که امکان نصب آنها روی این سیستمعاملها وجود دارد.
۳. استفاده از ماشین مجازی برای آزمایش بدافزارها
اگر متخصص امنیت وب باشید، احتمالاً نیاز مبرمی به ماشین مجازی خواهید داشت. یکی از اصولی که با استفاده از VMها میتوانید به آن دسترسی داشته باشید، سند باکسینگ است. سند باکسینگ فضایی ایزوله است که به شما امکان میدهد تا بدافزارهای مخرب را فقط روی قسمتی از کامپیوترتان آزمایش کنید تا بتوانید راهی برای مقابله به آن بیابید.
برای مثال، فرض کنید میخواهید به وبسایتی وارید شوید که بدافزاری را روی سیستمتان نصب میکند. درصورتیکه این کار را ازطریق ماشین مجازی انجام دهید، میتوانید مطمئن باشید که این ویروس یا بدافزار فقط روی VM شما که حالتی ایزوله دارد، نصب خواهد شد. بهبیان بهتر، نمیتواند کل سیستم شما را آلوده کند.
۴. استفاده از VM برای توسعه پلتفرمها روی سیستمعاملهای دیگر
ماشین مجازی برای آزمایش نرمافزاری روی سیستمعاملی دیگر نیز کاربرد دارد. فرض کنید توسعهدهنده نرمافزار هستید و از سیستمعامل ویندوز برای برنامهنویسی استفاده میکنید؛ اما نرمافزار شما قرار است روی سیستمعامل مک اجرا شود.
در این مواقع، میتوانید ماشین مجازی را روی سیستمتان پیادهسازی و سیستمعامل مک را روی آن نصب کنید. حالا میتوانید نرمافزاری که در حال توسعه آن هستید، بهصورت کاملاً حقیقی روی این سیستمعامل نصب و آزمایش کنید.
نگاهی به مزایا و معایب ماشین مجازی
تا اینجای مطلب متوجه شدید که ماشینهای مجازی چطور کار میکنند و چه کاربردهایی دارند. حالا قصد داریم تا باهم بررسی کنیم که مزایای ماشین مجازی چیست و استفاده از آن چه نکات مثبتی برای کسبوکار دارد. البته درکنار این مزایا، ماشینهای VM ممکن است ضعفها و معایبی هم داشته باشند که بهطورخلاصه به آنها اشاره میکنیم.
مزایای ماشین مجازی
شاید برای شما هم این سؤال پیش آمده باشد که «مزایای استفاده از ماشین مجازی چیست؟» یکی از مزیتهای مهمی که میتوان به آن اشاره کرد، این است که نگهداری و مدیریت ماشین مجازی درمقایسهبا ماشینهای فیزیکی ساده است. سایر مزایای ماشین مجازی ازاینقرارند:
۱. استفاده بهینه از منابع و افزایش بازگشت سرمایه
بهدلیل امکان اجرای چندین ماشین مجازی روی یک کامپیوتر، لازم نیست که برای نصب هر سیستمعامل سرور جدید بخرید یا کامپیوتری جدید داشته باشید. درنتیجه، از امکانات موجود حداکثر استفاده را میبرید و در هزینهها صرفهجویی میکنید.
۲. مقیاسپذیری
با محاسبات ابری، بهراحتی میتوانید چندین نسخه از یک ماشین مجازی را برای ارائه بهتر و افزایش بار همزمان استفاده کنید.
۳. قابلیت جابهجایی
درصورت نیاز، مدیریت ماشین مجازی را بین کامپیوترهای فیزیکی موجود در شبکه میتوانید جابهجا کنید. با این کار میتوانید بار کاری را بین سرورهایی با قدرت محاسبات اضافی تقسیم کنید.
۴. انعطافپذیری
ازآنجاکه میتوانید ماشین مجازی را با سیستمعاملی ازقبلنصبشده ادغام کنید، ایجاد VM از نصب سیستمعامل روی سرور فیزیکی سادهتر و سریعتر است. توسعهدهندگان و کسانی که نرمافزارهای مختلف را امتحان میکنند، برای داشتن محیطهای جدید برای کارشان از این مزیت ماشینهای VM بهره میبرند.
ایجاد VM سریعتر و آسانتر از نصب سیستمعامل روی سرور فیزیکی است؛ زیرا میتوانید VM را با سیستمعامل قبلاً نصبشده کلون کنید. توسعهدهندگان و آزمایشکنندگان نرمافزار درصورت نیاز، میتوانند محیطهای جدیدی ایجاد کنند تا وظایف جدید را بهموقع انجام دهند.
۵. امنیت
درمقایسهبا سیستمعاملهایی که مستقیماً روی سختافزار نصب و اجرا میشوند، انواع ماشین مجازی از امنیت بهبودیافتهای برخوردارند. معمولاً فایلهای VM برای یافتن هرگونه بدافزار اسکن میشوند؛ ازاینرو، در هر زمان میتوانید نسخهای کامل از ماشین مجازی ایجاد و درصورت آلودهشدن به بدافزار، نسخه سالم را بازیابی و استفاده کنید.
معایب ماشین مجازی
اگرچه مزایای استفاده از ماشین مجازی برای افراد و کسبوکارهایی که واقعاً به آن نیاز دارند، آنقدر زیاد است که ضعفهای محدود آن را نیز پوشش میدهد، داشتن اطلاعات در این زمینه میتواند باعث شود تا با دید بازتری از این ابزار استفاده کنید. درادامه، به چند ضعف مهم VM اشاره خواهیم کرد.
۱. امکان ناپایداری هاست درصورت استفاده از چند ماشین مجازی
گاهی اوقات و درصورت نصب چند ماشین مجازی روی یک سیستم هاست، ممکن است شاهد ناپایداریهایی روی VM یا حتی خود هاست باشید؛ بنابراین، اگر قصد دارید چند VM را روی یک هاست نصب کنید، قبلاً از عملکرد آن مطمئن شوید.
۲. ضعیفبودن سختافزار ماشین مجازی درمقایسهبا سیستم فیزیکی
باید پذیرفت که ماشین مجازی درواقع قسمتی از هاست یا سیستمی فیزیکی است و بههرحال، قدرت سختافزاری آن به سیستم کامل نخواهد رسید. این موضوع کاملاً بدیهی است و شما با علم به همین مسئله تصمیم میگیرید از VM استفاده کنید؛ اما بهطورکلی، بهتر است بررسی کنید که آیا منابع سختافزاری ماشین مجازی بهخوبی ازپسِ نیازهایتان برخواهد آمد یا بهتر است از سیستم فیزیکی دیگری استفاده کنید.
۳. نیاز به آموزش کارکنان برای استفاده از ماشین مجازی
استفاده از ماشین مجازی بسیار ساده است؛ اما درصورتیکه قصد دارید از این سیستم در سازمان خود بهره ببرید، باید زمان و هزینهای را برای آموزش کارکنانی صرف کنید که قصد دارند از آن استفاده کنند.
۴. نصبنشدن برخی برنامهها روی ماشین مجازی
یکی از مشکلاتی که ممکن است در استفاده از ماشین مجازی به آن برخورد کنید، نصب نرمافزارها روی آن است. اگرچه بسیاری از برنامهها بهراحتی روی VM نصب میشوند، گاهی اوقات نیز ممکن است برخی نرمافزارها بهدلیل ساختار معماری خود، به شما اجازه دهند تا آنها را روی ماشینهای مجازی نصب کنید.
انواع ماشین VM
بهطورکلی، میتوان انواع ماشین مجازی را به دو دسته کلی تقسیم کرد: یکی ماشینهای مجازی پردازشی یا فرایندی (Process Virtual Machine) و دیگری ماشینهای مجازی سیستمی (System Virtual Machine). بیایید ببینیم روند کار هریک از این دو نوع ماشین مجازی چیست و چه تفاوتی باهم دارند.
در ماشینهای مجازی فرایندی، روند پردازش یکسانی روی ماشین میزبان اجرا و با پوششدادن اطلاعات سختافزار یا سیستمعامل، محیط برنامهنویسی مستقلی فراهم میشود. ماشینهای مجازی جاوا (Java) یکی از انواع VMهای پردازشی هستند. روند کار در مدیریت ماشین مجازی سیستمی متفاوت است و سیستم بهطورکامل مجازیسازی میشود تا جایگزین ماشین فیزیکی شود.
در این پلتفرم، منابع فیزیکی کامپیوتر بین چند ماشین مجازی بهاشتراک گذاشته میشود و هرکدام نسخه سیستمعامل خود را دارند. این سیستم به هایپروایزری متکی است که میتواند روی سختافزارهایی مانند VMware ESXi اجرا شود.
علاوهبر این دو دسته کلی از ماشینهای مجازی، میتوان VMها را در انواع دیگری نیز دستهبندی کرد. این دستهبندی بیشتر برمبنای سیستمعامل انجام میشود. درادامه، انواع مختلف ماشین مجازی یا VM را معرفی میکنیم.
۱. ماشینهای مجازی ویندوز
اکثر هایپروایزرها ماشینهای مجازیای را پشتیبانی میکنند که سیستمعامل ویندوز را اجرا کنند. هایپروایزر Hyper-V شرکت مایکروسافت بهعنوان بخشی از سیستمعامل ویندوز در نظر گرفته میشود. پس از نصب، یک پارتیشن والد ایجاد میشود که هم بخش اصلی و هم سیستمعامل اصلی ویندوز را دربر میگیرد و هرکدام دسترسی جداگانه به سختافزار دارند. سیستمعاملهای دیگر در پارتیشنهای فرعی اجرا میشوند و ازطریق پارتیشن والد با سختافزار در ارتباط هستند.
۲. ماشین مجازی اندروید
سیستمعامل اندروید اغلب در دستگاههای تلفنهمراه و دستگاههای خانگی متصل مانند وسایل سرگرمی خانگی استفاده میشود. افرادی مانند گیمرهای حرفهای اندرویدی یا توسعهدهندههای نرمافزار ممکن است بخواهند از این سیستمعامل روی کامپیوترهای شخصی خود استفاده کنند. بهکمک ماشینهای مجازی و هایپروایزرهای خاص، میتوان این کار را انجام داد.
۳. ماشینهای مجازی مک
سیستمعامل انحصاری macOS تنها روی دستگاههای ساخت اپل نصب و اجرا میشود و این شرکت به دستگاههای دیگر اجازه نمیدهد تا به این سیستمعامل دسترسی پیدا کنند. بااینحال، امکان نصب و اجرای این سیستمعامل روی دستگاههای دیگر با استفاده از Hypervisor نوع دوم وجود دارد و ماشین مجازی macOS را میتوان روی دستگاه مدنظر اجرا کرد.
۴. ماشینهای مجازی iOS
درست مانند سیستمعامل مک، اپل اجازه نمیدهد تا سیستمعامل iOS نیز روی دستگاههای دیگر نصب شود. کوپرتینوییها بهشدت این سیستمعامل را کنترل میکنند و نصب آن روی دستگاه دیگری امکان ندارد؛ اما با استفاده از ماشین مجازی iOS یا iOS VM، میتوان شبیهساز آیفون را با محیط توسعه یکپارچه Xcode اجرا کرد.
۵. ماشین مجازی جاوا
پلتفرم جاوا محیطی اجرایی بهشمار میرود و مختص برنامههایی طراحی شده که به زبان توسعه نرمافزار جاوا نوشته شده است. طبق ادعای جاوا، هر برنامه جاوا را میتوان روی سختافزارهای سازگار با آن اجرا کرد. برای دستیابی به این امکان، ماشینهای مجازی جاوا یا JVMها دردسترس قرار دارند. البته JVM سیستمعامل کامل را اجرا و مانند سایر ماشینهای مجازی از هایپروایزر استفاده نمیکند. روند کار و مدیریت ماشین مجازی جاوا بدینصورت است که برنامههای نرمافزاری در سطح برنامه را برای اجرا در سختافزار مدنظر ترجمه میکند.
۶. ماشین مجازی پایتون
ماشین مجازی پایتون (Python VM) نیز مانند JVM روی هایپروایزرها اجرا نمیشود و سیستمعامل مهمان ندارد. این ابزار به برنامههای نوشتهشده به زبان پایتون اجازه میدهد تا روی انواع CPU اجرا شوند.
۷. ماشینهای مجازی لینوکس
از سیستمعامل لینوکس در بسیاری از ماشینهای مجازی استفاده میشود. لینوکس سیستمعامل میزبان معمولی است که برای اجرای VMها استفاده میشود و حتی هایپروایزر خود با عنوان ماشین مجازی مبتنیبر هسته یا KVM (مخفف Kernel-based VM) را دارد.
۸. ماشینهای مجازی VMware
پیشازاین دیدیم که ماشین VMware چیست و با آن کاملاً آشنا شدیم. VMware درواقع فروشنده نرمافزار مجازیسازی اولیه بود و حالا به ارائهدهنده محبوب Hypervisor نوع اول و دوم تبدیل شده است که نرمافزار VM را به مشتریان سازمانی میفروشد. این یعنی برخلاف تصور بسیاری از افراد، VMware یکی از انواع ماشین مجازی نیست و تنها ارائهدهندهای معروف است.
۹. ماشینهای مجازی اوبونتو
آخرین نوع از ماشینهای مجازیای که بررسی میکنیم، VMهای اوبونتو هستند. اوبونتو از توزیعهای محبوب لینوکس است که در نسخههای دسکتاپ و سرور موجود است و هریک را میتوان بهعنوان یک ماشین مجازی نصب و اجرا کرد. اوبونتو را مانند سیستمعامل مهمان میتوانید در Hyper-V مایکروسافت نصب کنید. این نسخه روی دسکتاپ از یکپارچهسازی کلیپبورد، تغییر اندازه دینامیک دسکتاپ، پوشههای اشتراکی، حرکت ماوس بین دسکتاپ میزبان و مهمان و… پشتیبانی میکند.
داکر یا ماشین مجازی؛ کدامیک بهتر است؟ تفاوت داکر و ماشین مجازی چیست و هرکدام چه مزایا و معایبی دارند؟ در مقاله زیر بخوانید.
منابع سختافزاری موردنیاز برای راهاندازی VM
تا اینجای مطلب احتمالاً تصمیم خود را برای استفاده از ماشین مجازی گرفتهاید؛ اما قبل از اینکه این کار را انجام دهید، بهتر است درباره منابع سختافزاری حداقلی و پیشنهادی هاستتان نیز اطلاعاتی کسب کنید. جدول زیر در این زمینه به شما کمک میکند:
منابع سختافزاری موردنیاز برای راهاندازی ماشین مجازی | ||
پیشنهادی | حداقل | نوع سختافزار |
۳۲ گیگابایت | ۱۶ گیگابایت | رم |
۵۰۰ گیگابایت | ۴۰۰ گیگابایت | فضای خالی روی هارد |
۳۲ هسته | ۶ هسته | هستههای پردازنده |
۲.۳ گیگاهرتز یا بیشتر | ۲.۵ گیگاهرتز یا بیشتر | فرکانس پردازنده |
نحوه ایجاد ماشین مجازی
حالا که فهمیدیم ماشین مجازی چیست و چه کاربردی دارد، بهتر است با نحوه ایجاد ماشین مجازی نیز آشنا شویم. درادامه، نحوه انجام این کار را گامبهگام و بهصورت تصویری آموزش دادهایم. در این آموزش، از نرمافزار Oracle VM VirtualBOX برای ساخت ماشین مجازی استفاده کردهایم. این نرمافزار رایگان و متنباز و Multi Platform است و ازطریق آموزش زیر بهسادگی میتوانید از آن استفاده کنید:
گام اول: دانلود و نصب Oracle VM VirtualBOX
برای دانلود نرمافزار، به آدرس اینترنتی آن مراجعه و پس از دانلود نسخه مناسب براساس سیستمعاملتان، آن را نصب کنید.
فراموش نکنید که بهتر است حین نصب، تمامی تنظیمات پیشفرض برای نرمافزار به همان صورت باقی بماند. همچنین، ممکن است که طی مراحل نصب از شما خواسته شود تا کامپوننتهای دیگری از اوراکل را نصب کنید. درصورت مشاهده چنین درخواستی، با آن موافقت کنید تا تمامی موارد موردنیاز برای ایجاد ماشین مجازی روی سیستمتان نصب شود.
بعد از نصب موفق، با پنجرهای شبیه تصویر زیر مواجه میشوید:
گام دوم: ایجاد ماشین مجازی
برای ایجاد ماشین مجازی، ابتدا در نرمافزار Oracle VM VirtualBox گزینه File > New را انتخاب و سپس نام ماشین مجازیتان را وارد کنید. پیشنهاد میکنیم که نامی معنیدار برای ماشین مجازی خود برگزینید. بعد از واردکردن نام، گزینههای Type و Version را نیز براساس نوع سیستمعامل خود انتخاب کنید.
گام سوم: تخصیص حافظه به ماشین مجازی
حافظهای که برای ماشین مجازی خود در نظر میگیرید، کاملاً به میزان حافظه سیستم هاست شما بستگی دارد. پیشنهاد میکنیم که هیچوقت بیشتر از نیمی از حافظه رم سیستم هاست را به ماشین مجازی اختصاص ندهید.
بهعنوان نمونه، اگر میخواهید یک ماشین مجازی با سیستمعامل ویندوز ایجاد کنید، حداقل یک یا دو گیگابایت حافظه برای آن در نظر بگیرید. اگر هم قصد دارید یک VM برپایه سیستمعامل لینوکس ایجاد کنید، حداقل ۵۱۳ مگابایت حافظه برای آن در نظر بگیرید.
گام چهارم: راهاندازی هارد درایو ماشین مجازی
بعد از اینکه روی دکمه Next در گام قبلی کلیک کردید، پنجرهای برای شما باز خواهد شد که در آن میتوانید هارد دیسک ماشین مجازی را راهاندازی کنید. نمونه این پنجره در تصویر زیر نشان داده شده است:
اگر از قبل ماشین مجازی داشتهاید و حالا میخواهید آن را اضافه کنید، از گزینه Use an existing virtual hard drive file میتوانید استفاده کنید؛ وگرنه گزینه Create a virtual hard drive now را فعال و سپس روی گزینه Create کلیک کنید.
گام پنجم: انتخاب نوع فایل هارد درایو
در پنجره زیر، گزینه VDI را انتخاب کنید. این گزینه معمولاً بهترین عملکرد را برای شما بهارمغان خواهد آورد. ماشین مجازی در فایلی با پسوند .vdi روی سیستم شما ذخیره خواهد شد.
گام ششم: انتخاب Storage روی هارد درایو فیزیکی
بعد از تکمیل پنجره قبلی و کلیک روی گزینه Next، پنجرهای مشابه با تصویر زیر برایتان به نمایش درخواهد آمد:
اگرچه گزینه Fixed Size میتواند اندکی باعث عملکرد بیشتر شود، فضای بیشتری نیز روی سیستم شما اشغال خواهد کرد؛ بنابراین، توصیه ما در این قسمت استفاده از گزینه Dynamically Allocated است.
گام هفتم: انجام تنظیمات محل ذخیرهسازی فایلها و اندازه آنها
VirtualBox بهطورپیشفرض حداقل اندازه ممکن را بهعنوان محدودیت اندازه فایلها در ماشین مجازی در نظر میگیرد؛ اما بسته به نیازتان، ممکن است بخواهید این محدودیت را ارتقا دهید. در قسمت بالایی این پنجره نیز، میتوانید محل ذخیرهسازی فایلها را به نرمافزار معرفی کنید. بعد از اتمام این مرحله، توانستهاید ماشین مجازی را روی سیستم خود نصب کنید. حالا باید سیستمعامل نیز روی آن نصب کنید.
گام هشتم: نصب سیستمعامل روی ماشین مجازی
روی ماشین مجازی تازه ایجادشده دو بار کلیک کنید. نام این ماشین همان است که در گام دوم انتخاب کردید.
حالا باید فایل ISO نصب سیستمعامل مدنظرتان را به ماشین مجازی معرفی و روی دکمه Start کلیک کنید. بدینترتیب، فرایند نصب سیستمعامل روی ماشین مجازی انجام خواهد شد. طول این فرایند به معیارهای مختلفی مانند نوع سیستمعامل مدنظرتان و قدرت سختافزاری هاست و… بستگی دارد. حالا دیگر ماشین مجازی شما با سیستمعامل انتخابیتان حاضر است و میتوانید از آن استفاده کنید.
نرم افزار هایپروایزر چیست و چه انواعی دارد؟
تا اینجای مطلب احتمالاً فهمیدهاید که VM چیست و چطور میتوان آن را روی سیستم هاست نصب کرد. درادامه، قصد داریم درباره نرمافزارهای هایپروایزر بیشتر صحبت کنیم. نرمافزارهای هایپروایزر را میتوان مانیتور ماشین مجازی دانست. درواقع هایپروایزر نرمافزاری است که VM را ایجاد و اجرا میکند. در قسمت قبلی، نحوه استفاده از نرمافزار Oracle VM VirtualBox برای ایجاد VM را آموزش دادیم؛ اما حالا میخواهیم جزئیات بیشتری درباره نرمافزارهای هایپروایزر و انواع آنها ارائه دهیم.
بهطورکلی، برای مجازیسازی از دو نوع هایپروایزر استفاده میشود:
۱. هایپروایزر نوع ۱ (Bare Metal Hypervisor)
ماشینهای مجازیای که با استفاده از این نوع هایپروایزر کار میکنند، مستقیماً با Host تعامل دارند تا از این طریق بتوانند منابع سختافزاری را بدون نیاز به نرمافزار جانبی دیگری اختصاص دهند. هایپروایزرهای نوع ۱ از ماشینهای مجازی پیکربندیشده فقط برای مجازیسازی استفاده میکنند و اغلب نیز در دیتاسنترهای سازمانی دیده میشوند. ازجمله نمونههای معروف این نوع هایپروایزرها میتوان به Citrix Hypervisor و Microsoft Hyper-V اشاره کرد.
۲. هایپروایزر نوع ۲ (Hosted Hypervisor)
این نوع از هایپروایزرها روی سیستمعامل هاست نصب میشوند و سپس ریکوئست VMها را به این سیستمعاملها ارسال میکنند تا بدینترتیب، منابع فیزیکی لازم برای هر Guest فراهم شود. اگرچه هایپروایزرهای نوع ۲ ازنظر عملکرد کندتر از نوع ۱ هستند، برای ساخت ماشین مجازی شرکتهای کوچکمقیاس و کاربران شخصی که از سرورهای اختصاصی برای مجازیسازی استفاده نمیکنند، گزینه بهینهتری محسوب میشوند.
هایپروی چیست و چه کاربردی دارد؟ الزامات سختافزاری Hyper-V چیست و کدام سیستمعاملها از هایپروی پشتیبانی میکنند؟ در مقاله زیر بخوانید.
بهترین نرمافزارهای ماشین مجازی
حالا دیگر میدانید که برای اجرای ماشین مجازی به هایپروایزر نیاز دارید. توجه کنید که هایپروایزر میتواند هم بهصورت نرمافزار و هم سختافزار و حتی سیستمعامل باشد؛ بااینحال، هایپروایزرهای محبوب نرمافزارهایی هستند که برای این منظور طراحی و توسعه داده شدهاند. درادامه، سه نمونه از نرمافزارهای برتر هایپروایزر را معرفی خواهیم کرد.
۱. Virtual Box
Virtual Box یکی از نرمافزارهای محبوب برای ساخت ماشین مجازی است؛ بههمیندلیل، در قسمت قبلی نحوه استفاده از آن را برای ساخت ماشینهای مجازی بهطورکامل توضیح دادیم. یکی از مزیتهای مهم این نرمافزار رایگانبودن آن است؛ البته Virtual Box نسخههایی برای کاربران سیستمعاملهای ویندوز و لینوکس و مک نیز دارد.
۲. VMWare Workstation
از دیگر نرمافزارهای پرکاربرد برای ساخت ماشین مجازی، VMWare Workstation است. این نرمافزار نیز رایگان است و در تمامی سیستمعاملهای محبوب، از ویندوز گرفته تا لینوکس و مک، میتوان از آن استفاده کرد.
۳. Parallels Desktop
این نرمافزار ویژه افرادی است که از سیستمعامل مک استفاده میکنند. با استفاده از Parallels ،Desktop بهسادگی میتوانید ماشین مجازی خود را در سیستمعامل مک بسازید و از آن استفاده کنید. ناگفته نماند که این نرمافزار رایگان نیست؛ اما نسخه شخصی آن که معمولاً برای کارهای متوسط نیز مناسب است، قیمت مقرونبهصرفهای دارد.
مقایسه ماشین مجازی و VPN
ممکن است این سؤال برایتان مطرح شود که «تفاوت بین VPN و ماشین مجازی چیست؟» اگرچه این اصطلاحی فنی است، اجازه دهید خیلی ساده آن را توضیح دهیم. شبکه خصوصی مجازی (VPN) راهکاری برای ایمنسازی اتصال به شبکه اینترنت است. همچنین، با استفاده از این تکنولوژی خواهید توانست بهصورت ناشناس در اینترنت فعالیت کنید.
مهمترین استفاده شهروندان ایرانی از VPN، اتصال به سرویسهایی مانند پیپال و بایننس است. باتوجهبه اینکه استفاده از این سرویسها برای شهروندان مقیم ایران با محدودیتهای بسیاری روبهروست، استفاده از VPN میتواند باعث شود تا بهصورت ناشناس از این سرویسها استفاده کنید.
مهمترین تفاوت بین VPN و ماشین مجازی این است که هنگام استفاده از VPN، کل سیستمتان از این تکنولوژی بهره خواهد برد. بهعنوان مثال، وقتی از VPN استفاده میکنید، هم مرورگرها و هم نرمافزارهای شما از این سیستم استفاده خواهند کرد و تقریباً هیچ راهکاری وجود ندارد که بین نرمافزارهای مختلف تفاوت قائل شوید.
بااینحال، وقتی از ماشین مجازی استفاده میکنید، این مسئله را بهراحتی میتوانید حل کنید. بهعبارتدیگر، یکی از سیستمعاملهای شما میتواند بهصورت ناشناس و سیستمعامل دیگر بهصورت عادی به اینترنت متصل شود.
برای آشنای با اجزا، عملکرد و مزایای استفاده از VMware vSphere را در مقاله زیر بخوانید.
مقایسه ماشین مجازی و سرور
یکی دیگر از سؤالات پرتکرار این است که «تفاوت بین سرور و ماشین مجازی چیست؟» در تعریفی ساده، سرور کامپیوتری پرقدرت و همواره متصل به اینترنت پرسرعت است که در یک دیتاسنتر قرار گرفته است؛ اما ماشین مجازی نرمافزاری شبیه به کامپیوتر فیزیکی است که میتواند یک سیستمعامل و نرمافزارهای دیگر را روی سیستم کامپیوتری دیگری که خودش سیستمعامل دارد، پیادهسازی و اجرا کند. جدول زیر به شما کمک میکند تا بدانید که تفاوت بین سرور و ماشین مجازی چیست:
ماشین مجازی | سرور |
ماشین مجازی نرمافزاری مشابه با کامپیوتر فیزیکی است که به کاربر امکان میدهد تا بتواند یک سیستمعامل و همچنین نرمافزارهای مختلف را اجرا کند. | سرور کامپیوتری قدرتمند است که میتواند خدمات درخواستی سایر کامپیوترها یا کلاینتها را ارائه دهد. |
یک ماشین مجازی عملکردی مشابه با یک کامپیوتر فیزیکی را ارائه میدهد. | از سرور برای ارائه خدمات متفاوتی استفاده میشود. بهعنوان مثال، ممکن است توسعهدهندهای از سرور برای ذخیرهسازی فایل کدهای وبسایت استفاده کند؛ اما کاربر عادی ممکن است از آن برای انجام بازی اینترنتی آنلاین استفاده کند. |
ماشین مجازی میتواند خاموش شود. | سرور کامپیوتری همیشهروشن است که بهصورت عادی نباید و نمیتوان آن را خاموش کرد. |
ماشین مجازی دستهبندی دیگری ندارد. | سرور شامل دستهبندیهای مختلفی مانند سرور ایمیل و وبسرور میشود. |
تفاوت ماشین مجازی با کانتینر
آخرین موضوعی که میتواند تکمیلکننده تعریف VM باشد، پاسخ به این پرسش است که «تفاوت میان کانتینر و ماشین مجازی چیست.؟» هم کانتینر و هم ماشین مجازی ازجمله فناوریهایی هستند که اپلیکیشنها را از منابع زیرساخت فناوری اطلاعات مستقل میکنند. بد نیست بدانید که کانتینر بسته کدی نرمافزاری است که اطلاعاتی مانند کدهای نرمافزار و کتابخانهها و سایر وابستگیهای تشکیلدهنده موجودیت نرمافزار در آن قرار گرفته است.
با استفاده از کانتینر، نرمافزاری که توسعه دادهاید، میتوانید بهصورت پرتابل درآورید. بهعبارتدیگر، آن نرمافزار را روی هر دستگاه دیگری اجرا کنید. درمقابل، ماشین مجازی را میتوان کپی دیجیتالی از سیستم کامپیوتری فیزیکی در نظر گرفت. بهعبارتدیگر، میتوانید چندین ماشین مجازی با سیستمعاملهای مجزا داشته باشید که تمامی آنها روی یک سیستمعامل میزبان اجرا میشوند.
جمعبندی
در این مطلب از بلاگ پارس پک، بهطورکامل توضیح دادیم که ماشین مجازی چیست و چگونه کار میکند. اگر صاحب کسبوکار خودتان هستید و برای گسترش کارهای وابسته به کامپیوتر به فضای بیشتری نیاز دارید، بهتر است مطالعه این مطلب را برای آشنایی بیشتر با ماشین مجازی از دست ندهید؛ زیرا هرآنچه درباره مزایای ماشین مجازی و معایب آن، انواع VM و… نیاز دارید، در این مطلب آورده شده است.
سؤالات متداول
۱. کاربرد ماشین مجازی چیست؟
صاحبان کسبوکارهای مختلف یا توسعهدهندگان درصورت نیاز به سطوح مختلف پردازش و اجرای نرمافزارهای مختلف و آزمایشکردن برنامههای جدید بدون نگرانی از بدافزارها، میتوانند از ماشینهای مجازی استفاده کنند.
۲. مزیتهای ماشین مجازی چیست؟
ماشین مجازی یا VM امکان استفاده بهینه از منابع و افزایش بازگشت سرمایه را فراهم میکند و از مقیاسپذیری، قابلیت جابهجایی، انعطافپذیری و امنیت مطلوب بهره میبرد.
۳. استفاده از ماشینهای مجازی چه معایبی دارد؟
گاهی بهدلیل فراهمنبودن نیازهای زیرساختی، اجرای چند VM متعدد روی یک ماشین فیزیکی امکانپذیر نیست و ممکن است ازنظر سرعت و کارایی نیز ضعیف باشند.
۴. ماشین VMware چیست؟
VMware ماشینی مجازی است که شرکت بزرگی به همین نام آن را ارائه داده است. VMware درواقع یکی از ارائهدهندههای نرمافزار مجازیسازی و جزو شرکتهای زیرشاخه Dell Technologies شناخته میشود.