ماشین مجازی یا Virtual Machin یا به اختصار VM یک نسخه نرم افزاری از سیستم فیزیکی است و میتواند میزبان هر سیستم عاملی باشد اعم از سروری یا کلاینتی ، و یا از منظری دیگر ویندوزی (Windows) یا لینوکسی (Linux) و یا مکینتاش (Mac OS) و یا … .
در واقع ماشین مجازی هیچ تفاوتی با سیستم فیزیکی ندارد همان طور که یک سیستم فیزیکی دارای RAM، CPU , Storage و … است ماشین مجازی هم به همان صورت دارای این موارد هست با این تفاوت که به صورت مجازی در اختیارش قرار داده شده است و پلتفری که سخت افزار را به صورت مجازی در اختیار ماشین مجازی قرار میدهد و مدیریت میکند هایپر وایزر مانند ESXI است .
آن سیستم عاملی که روی آن ماشین مجازی نصب شده هیچ دیدی نسبت به مجازی بودن سخت افزار ندارد و رفتار کاملا مشابهی با وقتی که روی سخت افزار فیزیکی است از خود به نمایش میگذارد.
اینکه شما یک هاست تکی دارید و یا دارای دیتا سنتر هستید و از vCenter برای مدیریت هاستهایتان استفاده میکنید فرقی نمیکند در هر صورت نحوه ساختن ماشین مجازی یکسان است .
ما در اینجا برای ساخت ماشین مجازی از vCenter استفاده میکنیم
در ابتدای کار نیاز است که با برخی مفاهیم و نرم افزار ها آشنا شوید:
نرم افزاری است که روی ماشین مجازی نصب میشود و محتوی آن درایورو یا راه انداز های سخت افزاری شرکت VMware است که برای درست کار کردن و استفاده از تمام امکانات ماشین مجازی نیاز است که حتما این نرم افزار روی سیستم عامل ماشین مجازی نصب شود.
لازم به ذکر است که نوع و ورژن سیستم عاملی که شما انتخاب میکنید و حتی ورژن ESXI موجود بر روی هاست نیز در محتوای آن تاثیردارند و متفاوت هستند.
شما در بخش Virtual Hardware که در ادامه با آن قسمت آشنا میشویم میتوانید سخت افزار مجازی، ماشین مجازی خود را انتخاب کنید دراین بخش مواردی وجود دارد که به اختصار به در مورد آنها توضیحاتی میدهیم:
در این بخش شما تعیین میکنید که ماشین مجازی شما چند core و یا هسته از پردازنده را در اختیار داشته باشد این قسمت دقیقا تعداد هسته های پردازنده شما را مشخص میکند مثلا اگر سرور شما دارای دو پردازده 8 هسته ای باشد در این قسمت شما 16 هسته خواهید دید.
برای توضیح راجب این قسمت در ابتدا لازم است که شما با مبحث socket آشنا شوید. Socket به تعداد پردازنده هایی مربوط میشود که داخل سرور شما وجود دارد.
برای مثال طبق مثالی که در مورد قبل به آن اشاره شد سرور ما دارای دو socket ینی دو پردازنده است.
برای درک بهتر موضوع به شکل زیر توجه کنید
همانطور که در شکل مشاهده میکنید ما برای ماشین مجازی مورد نظر 2هسته CPU به صورت مجازی در نظر گرفته ایم و در قسمت cores per socket نیز مشخص کرده ایم که این 2 هسته CPU را از هر دو پردازنده فیزیکی موجود بر روی سرور به آن اختصاص دهد ینی ما از هر پردازنده موجود درون سرور یک هسته برای این ماشین مجازی در نظر گرفته ایم که در مجموع دو هسته CPU به این ماشین مجازی اختصاص داده شده است .
حال به شکل زیر توجه کنید :
در این حالت ما در بخش cores per socket مشخص کردهایم که از هر پردازنده فیزیکی دو هسته به این ماشین مجازی اختصاص دهد پس با توجه به مقدار هسته ای که برای ماشین مجازی در قسمت CPU انتخاب کرده ایم همانطور که در شکل میبینید از یک پردازنده و یا socket استفاده خواهد شد .
لازم به ذکر است که هیچ تفاوتی از لحاظ عملکردی در دو مثال بالا وجود ندارد و ماشین های مجازی با تنظیمات بالا دارای توان یکشان خواهند بود.
در هنگام کانفیگ Virtual Hardware برای ماشین مجازی وقتی وارد قسمت کانفیگ CPU میشوید با این گزینه مواجه میشوید در واقع با فعال کردن این گزینه و زدن تیک گزینه Enable CPU Hot Add شما قادر خواهید بود وقتی ماشین مجازی روشن است مقدار هسته CPU را برای این ماشین مجازی افزایش دهید البته با توجه به این نکته که سیتم عامل آن ماشین مجازی توانایی این فرآیند را داشته باشد و به اصلاح Support کند.
اگر با مبحث مجازی سازی آشنایی داشته باشید و نرم افزار VMware Workstation را نصب کرده باشید به این نکته بر خورده اید که پردازنده سیستم فیزیکی شما نیاز است که دارای قابلیت Virtualization باشد تا بتوانید پردازنده آن سیستم را مجازی کرده و در اختیار ماشین های مجازی قرار دهید برای این منظور نیاز است که وارد تنظیمات bios سیستم فیزیکی خود شده و در صورت پشتیبانی پردازنده شما از این قابلیت، آن را فعال کنید.
گزینه Hardware Virtualization نیز همان کار را برای شما انجام میدهد . حال ممکن است از خود بپرسید که چه نیازی به مجازی کردن CPU های یک ماشین مجازی است ؟
جواب سوال بالا این است که شما میتواید روی ماشین مجازی یک هاست ESXI نصب کنید. به دلیل مقاصد گوناگون مانند لابراتوار یا مقاصد دیگر پس نیاز است که این گزینه را فعال کرده باشید تا بتوانید روی آن ماشین مجازی یک مجازی ساز نصب کرده و ماشین های مجازی دیگری روی آن نصب کنید.
همانطور که در شکل مشخص است شما در این قسمت میتوانید مقدار RAM مورد نیاز را به ماشین مجازی خود اختصاص دهید.
همچنین در قسمت Reservation میتوان مقدار RAM اختصاص داده شده به ماشین مجازی را رزرو کرد تا مجازی ساز ملزم به نگه داری آن باشد و در صورت خاموش بودن ماشین مجازی آن مقدار RAM را به ماشین مجازی دیگر اختصاص ندهد .
با فعال بودن این گزینه ماشین مجازی شما این قابلیت را خواهد داشت که در زمان روشن بودن ماشین مجازی بتوان مقدار RAM آن را افزایش داد که این مستلزم پشتیبانی سیستم عامل نصب شده روی ماشین مجازی از این قابلیت است.
در حالتی که شما از یک سیستم فیزیکی استفاده میکنید که مجازی نشده است برای ارتباط MainBorad خود با دیسک هایتان نیاز به کنترلر هایی دارید که تا هارد های شما شناسایی و خوانده شوند یکی از آن ها SATA میباشد.
در محیط مجازی هم به همین صورت است شما در این قسمت میتوانید برخی کنترلر های مشهور را انتخاب کنید تا سیستم عامل نصب شده روی ماشین مجازی شما بتواند به آن Virtual Disk مورد نظر متصل شوند و آن را بخواند.
در قسمت Hard disk شما فضای مورد نظرتان برای ماشین مجازی و همچنین در بخش Location نیز محل ذخیره سازی VDisk ماشین مجازی را مشخص میکنید اینکه ماشین مجازی بر روی کدام استوریج ذخیره شود در این قسمت مشخص میشود.
نکته مهمی که در این قسمت وجود دارد Disk Provisioning است . در ادامه با این گزینه بیشتر آشنا میشویم:
ای دو گزینه، نوع و یا type دیسک های مجازی درون مجازی ساز ها هستند و تفاوت آنها در این است وقتی یک دیسک به صورت Thick provision ایجاد میکنیم فضایی که برای هارد دیسک در نظر گرفته ایم همان لحظه به صورت کامل به آن ماشین مجازی اختصاص داده میشود و تا زمانی که آن ماشین مجازی درون هارد دیسک وجود دارد نمیتوان از آن فضا برای ماشین مجازی دیگر استفاده کرد.
اما وقتی هارد دیسکی به صورت Thin provision ایجاد میکنیم بر اساس فضایی که آن ماشین مجازی نیاز دارد به آن اختصاص داده میشود و کل فضایی که مشخص کرده ایم یکجا به آن ماشین مجازی داده نمیشود. این گزینه وقتی مورد استفاده قرار میگیرد که ما محدودیت فضایی روی سرور های خود داریم و استفاده از آن در محیط های عملیاتی توصیه نمیشود.
این مورد بیشتر در محیط های آزمایشگاهی استفاده میشود.
وقتی ما نوع Thick را برای هارد دیسک ماشین مجازی خود استفاده میکنیم دو انتخاب پیش روی ما است.
به عنوان مثال در فرمت کردن یک دیسک در سیستم عامل ویندوز وقتی Quick Format را انتخاب میکنیم به نوعی شبیه Lazy zeroed است و وقتی تیک Quick را برمیداریم فرمت دیسک ما شبیه Eager zeroed انجام میگیرد.
در این قسمت شبکه مجازای که ماشین مجازی در آن فعالیت میکند را مشخص میکنیم .
در قسمت Network ما Port Group مورد نظر را انتخاب میکنیم.
اگر تیک Connect At Power On را فعال کنیم به هنگام روشن کردن ماشین مجازی وارد آن شبکه میشود و اگر تیک را برداریم ماشین مجازی ایزوله شده و ارتباطی نخواهد داشت.
در قسمت Adapter Type نوع کارت شبکه مورد نظر خود را مشخص میکنیم گزینه E1000E همان کارت شبکه معروف اینتل است ، گزینه VMXNET 3 کارت شبکه مجازی VMware است که برای کارایی حتما نیاز است vMware Tools نصب شود و گزینه SR-IOV passthrough زمانی مورد استفاده قرار میگیرد که ما بخواهیم یک کارت شبکه فیزیکی سرور را به این ماشین مجازی اختصاص دهیم در این صورت این کارت شبکه فیزیکی مخصوص آن ماشین مجازی خواهد شد و توسط خود سرور قابل استفاده نخواهد بود.
حال که با تنظیمات اولیه برای ایجاد ماشین مجازی آشنا شدید وقت آن رسیده است که مراحل را با هم مرور کنیم :
در ابتدا روی هاست یا کلاستر یا کلاستر مورد نظر راست کلیک کرده و New Virtual Machine را انتخاب میکنیم .
در این قسمت Create a New Virtual Machine را انتخاب میکنیم
در این قسمت نام ماشین مجازی و همچنین دیتا سنتر ماشین مجازی را انتخاب میکنیم.
در این قسمت سروری که قرار است ماشین مجازی روی آن نصب شود را انتخاب میکنیم .
در این قسمت مکان ذخیره سازی فایل های ماشین مجازی را انتخاب میکنیم. ماشین مجازی میتواند روی استوریج لوکال خود سرور و یا حافظه جداگانه که به شبکه متصل است نصب شود.
یک نکته دیگر اینکه هر چقدر ورژن انتخابی شما بالاتر باشد امکانات بیشتری به آن ماشین مجازی اختصاص داده میشود چون VMware با ارتقا ورژن امکانات را نیز بیشتر و عملکرد را بهبود میبخشد.
برای مثال با انتخاب کردن ورژن پایین در این قسمت ممکن است با محدودیت اعمال رم به ماشین مجازی رو به رو باشید.
در این قسمت نوع سیستم عامل و همچنین ورژن آن مشخص میشود . باید توجه داشته باشید که انتخاب درست این گزینه بسیار مهم است چون درایور های درون VMware Tools با استفاده از این قسمت مشخص میشود و درایور های مناسب سیستم عامل شما را درون سیستم عاملتان نصب میکند.
یک نکته دیگر اینکه ورژن سیستم عامل هایی که در این قسمت مشاهده میکنید به مرحله قبل و انتخاب ورژن ESXI هم مربوط است. برای مثال ممکن است با انتخاب ESXI ورژن پایین در این قسمت انواع جدید ویندوز ها را مشاهده نکنید و دلیل آن هم ساپورت نکردن آن سیستم عامل است.
در این بخش شما Virtual Hardware مورد نیاز ماشین مجازی را مشخص میکنید. این بخش به طور کامل در ابتدای مقاله توضیح داده شده است . تنها مورد مهم و باقیمانده انتخاب CD/DVD درایو است . شما برای اینکه یک سیستم عامل را نصب کنید نیاز به فایل نصبی آن سیستم عامل دارید . در این قسمت با انتخاب گزینه Client Device فایل نصبی سیستم عامل از طریق سیستمی که هم اکنون شما از آن برای کانفیگ سرور استفاده میکنید خوانده میشود. اگر گزینه Host Device را انتخاب کنید از روی درایو خود سرور خوانده میشود و اگر گزینه Datastore ISO File انتخاب شود فایل ISO که شما روی دیتا استور ها آپلود کرده اید را انتخاب میکنید.
گزینه بعدی Content Library ISO File است Content Library شامل یک repository برای فایل های OVF, ISO, Template و … میباشد. که امکان به اشتراک گذاری در بین vCenter ها را میسر میکند. اگر شما چندین vCenter دارید میتوانید با ایجاد این Library از آن استفاده کنید.
در آخر ماشین مجازی خود را با انتخاب گزینه Power On روشن کرده و اقدام به نصب سیستم عامل خود کنید. در انتها و نصب شدن و بالا آمدن سیستم عامل خود حتما VMware Tools را نصب کنید تا درایور های سیستم عامل نصب شود و آن سیستم عامل به دزستی عمل کند.
یک نکته دیگر در این قسمت تفاوت Power Off و Shut Down Guest OS این است که Power Off مانند این است که شما دکمه فیزیکی پاور سیستم خود را بزنید و یا سیستم را از برق بکشید ولی Shut Down Guest OS مانند این است که شما از داخل سیستم عامل دستور خاموش شدن ویندوز را میدهید . برای Rest و Restart Gust OS نیز به همین صورت است.