آموزش نصب ماشین مجازی (Virtual Machine)

ماشین مجازی - Virtual Machine

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

ماشین مجازی  یا Virtual Machin  یا به اختصار VM یک نسخه نرم افزاری از سیستم فیزیکی است و می‌تواند میزبان هر سیستم عاملی باشد اعم از سروری یا کلاینتی ، و یا از منظری دیگر  ویندوزی (Windows) یا لینوکسی (Linux)  و یا  مکینتاش (Mac OS) و یا … .

در واقع ماشین مجازی هیچ تفاوتی با سیستم فیزیکی ندارد همان طور که یک سیستم فیزیکی دارای RAM، CPU  , Storage و … است ماشین مجازی هم به همان صورت دارای این موارد هست با این تفاوت که  به صورت مجازی در اختیارش قرار داده شده است و پلتفری که سخت افزار را به صورت مجازی در اختیار ماشین مجازی قرار می‌دهد و مدیریت می‌کند هایپر وایزر مانند ESXI است .

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

اینکه شما یک هاست تکی دارید و یا دارای دیتا سنتر هستید و از vCenter  برای مدیریت هاست‌هایتان استفاده می‌کنید فرقی نمی‌کند در هر صورت نحوه ساختن ماشین مجازی یکسان است .

ما در اینجا برای ساخت ماشین مجازی از vCenter  استفاده میکنیم

در ابتدای کار نیاز است که با برخی مفاهیم و نرم افزار ها آشنا شوید:

VMware Tools  چیست ؟

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

لازم به ذکر است که نوع و ورژن  سیستم عاملی که شما انتخاب می‌کنید و حتی ورژن ESXI موجود بر روی هاست نیز در محتوای آن تاثیردارند و متفاوت هستند.

شما در بخش Virtual Hardware  که در ادامه با آن قسمت آشنا می‌شویم می‌توانید سخت افزار مجازی، ماشین مجازی خود را انتخاب کنید دراین بخش مواردی وجود دارد که به اختصار به در مورد آن‌ها توضیحاتی می‌دهیم:

تفاوت CPU  و Cores per socket  چیست؟

VCPU چیست

در این بخش شما تعیین می‌کنید که ماشین مجازی شما چند core  و یا هسته از پردازنده را در اختیار داشته باشد این قسمت دقیقا تعداد هسته های پردازنده شما را مشخص می‌کند مثلا اگر سرور شما دارای دو پردازده 8 هسته ای باشد در این قسمت شما 16 هسته خواهید دید.

Cores per socket چیست

برای توضیح راجب این قسمت در ابتدا لازم است که شما با مبحث socket  آشنا شوید. Socket  به تعداد پردازنده هایی مربوط می‌شود که داخل سرور شما وجود دارد.

برای مثال طبق مثالی که در مورد قبل به آن اشاره شد سرور ما دارای دو socket ینی دو پردازنده است.

برای درک بهتر موضوع به شکل زیر توجه کنید

              

 

همانطور که در شکل مشاهده می‌کنید ما برای ماشین مجازی مورد نظر 2هسته CPU به صورت مجازی در نظر گرفته ایم و در قسمت cores per socket نیز مشخص کرده ایم که این 2 هسته CPU را از هر دو پردازنده فیزیکی موجود بر روی سرور به آن اختصاص دهد ینی ما از هر پردازنده موجود درون سرور یک هسته برای این ماشین مجازی در نظر گرفته ایم که در مجموع دو هسته CPU  به این ماشین مجازی اختصاص داده شده است .

حال به شکل زیر توجه کنید :

                                

در این حالت ما در بخش cores per socket  مشخص کرده‌ایم که از هر پردازنده فیزیکی دو هسته به این ماشین مجازی اختصاص دهد پس با توجه به مقدار هسته ای که برای ماشین مجازی در قسمت CPU انتخاب کرده ایم همانطور که در شکل می‌بینید از یک پردازنده و یا socket  استفاده خواهد شد .

لازم به ذکر است که هیچ تفاوتی از لحاظ عملکردی در دو مثال بالا وجود ندارد و ماشین های مجازی با تنظیمات بالا دارای توان یکشان خواهند بود.

CPU Hot Plug چیست :

                             

در هنگام کانفیگ Virtual Hardware  برای ماشین مجازی وقتی وارد قسمت کانفیگ CPU  می‌شوید با این گزینه مواجه می‌شوید در واقع با فعال کردن این گزینه و زدن تیک گزینه Enable CPU Hot Add شما قادر خواهید بود وقتی ماشین مجازی روشن است مقدار هسته CPU  را برای این ماشین مجازی افزایش دهید البته با توجه به این نکته که سیتم عامل آن ماشین مجازی توانایی این فرآیند را داشته باشد و به اصلاح Support کند.

 

Hardware Virtualization :

      

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

گزینه Hardware Virtualization   نیز همان کار را برای شما انجام می‌دهد . حال ممکن است از خود بپرسید که چه نیازی به مجازی کردن CPU  های یک ماشین مجازی است ؟

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

مدیریت Memory  یا RAM در Virtual Hardware

همانطور که در شکل مشخص است شما در این قسمت می‌توانید مقدار RAM  مورد نیاز را به ماشین مجازی خود اختصاص دهید.

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

Memory Hot Plug  چیست

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

SCSI Controller چیست

در حالتی که شما از یک سیستم فیزیکی استفاده می‌کنید که مجازی نشده است برای ارتباط MainBorad  خود با دیسک هایتان نیاز به کنترلر هایی دارید که تا هارد های  شما شناسایی و خوانده شوند یکی از آن ها SATA  می‌باشد.

در محیط مجازی هم به همین صورت است شما در این قسمت می‌توانید برخی کنترلر های مشهور را انتخاب کنید تا سیستم عامل نصب شده روی  ماشین مجازی شما بتواند به آن Virtual Disk  مورد نظر متصل شوند و آن را بخواند.

Hard disk  مجازی یا Virtual Disk :

 

در قسمت Hard disk  شما فضای مورد نظرتان برای ماشین مجازی و همچنین در بخش Location  نیز محل ذخیره سازی VDisk  ماشین مجازی را مشخص می‌کنید اینکه ماشین مجازی بر روی کدام استوریج ذخیره شود در این قسمت مشخص می‌شود.

نکته مهمی که در این قسمت  وجود دارد Disk Provisioning  است . در ادامه با این گزینه بیشتر آشنا می‌شویم:

تفاوت Thick Provision  با Thin provision  چیست؟

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

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

این مورد بیشتر در محیط های آزمایشگاهی استفاده می‌شود.

تفاوت Lazy zeroed  و Eager zeroed  چیست؟

وقتی ما نوع Thick  را برای هارد دیسک ماشین مجازی خود استفاده می‌کنیم دو انتخاب پیش روی ما است.

  • Lazy zeroed : وقتی Lazy  را انتخاب می‎‌کنیم همانطور که از نام آن پیداست سکتور های موجود درون دیسک را صفر نمی‌کند و دیتاهای قبلی روی دیسک باقی می‌ماند و فقط غیر قابل دسترس می‌شوند تا زمانی که بخواهیم از آن سکتور استفاده کنیم
  • Eager zeroed : ولی وقتی Eager  را ناتخاب می‌کنیم همان ابتدا تمام سکتور های موجود روی دیسکی که به ماشین مجازی اختصاص داده می‌شود صفر می‌شود و داده های قبلی غیر قابل بازیابی است مزیت ای روش سرعت بالای آن است . البته ایجاد دیسک با این روش زمان بر است چون زمان نیاز است تا تمام سکتور ها صفر شوند.

به عنوان مثال در فرمت کردن یک دیسک در سیستم عامل ویندوز وقتی Quick Format  را انتخاب می‌کنیم به نوعی شبیه Lazy zeroed  است و وقتی تیک Quick  را برمیداریم  فرمت دیسک ما شبیه Eager zeroed انجام می‌گیرد.

تنظمات Network  ماشین مجازی

 

 

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

در قسمت Network  ما Port Group  مورد نظر را انتخاب می‌کنیم.

اگر تیک Connect At Power On  را فعال کنیم به هنگام روشن کردن ماشین مجازی وارد آن شبکه می‌شود و اگر تیک را برداریم ماشین مجازی ایزوله شده و ارتباطی نخواهد داشت.

در قسمت Adapter Type  نوع کارت شبکه مورد نظر خود را مشخص می‌کنیم گزینه E1000E  همان کارت شبکه معروف اینتل است ، گزینه VMXNET 3 کارت شبکه مجازی VMware  است که برای کارایی حتما نیاز است vMware Tools  نصب شود و گزینه SR-IOV passthrough زمانی مورد استفاده قرار می‌گیرد که ما بخواهیم یک کارت شبکه فیزیکی سرور را به این ماشین مجازی اختصاص دهیم در این صورت این کارت شبکه فیزیکی مخصوص آن ماشین مجازی خواهد شد و توسط خود سرور قابل استفاده نخواهد بود.

حال که با تنظیمات اولیه برای ایجاد ماشین مجازی آشنا شدید وقت آن رسیده است که مراحل را با هم مرور کنیم :

ایجاد ماشین مجازی یا Virtual Machine

     در ابتدا روی هاست یا کلاستر یا کلاستر مورد نظر راست کلیک کرده و New Virtual Machine را انتخاب می‌کنیم .

                  

در این قسمت Create a New Virtual Machine را انتخاب می‌کنیم

            

در این قسمت نام ماشین مجازی و همچنین دیتا سنتر ماشین مجازی را انتخاب می‌کنیم.

        

در این قسمت سروری که قرار است ماشین مجازی روی آن نصب شود را انتخاب می‌کنیم .

                 

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

                  

  • در این قسمت ما ورژن هاست ESXI خود را انتخاب می‌کنیم . باید توجه داشته باشید انتخاب این گزینه بستگی به هاست های موجود درون دیتا سنتر شما دارد. مثلا اگر در این قسمت ورژن بالایی را برای ایم ماشین مجازی انتخاب کردید و درون دیتا سنتر خود هاست قدیمی داشتید که ورژن ESXI  آن قدیمی است آن ماشین مجازی را نمی‌توانید به آن سرور انتقال دهید.

یک نکته دیگر اینکه هر چقدر ورژن انتخابی شما بالاتر باشد امکانات بیشتری به آن ماشین مجازی اختصاص داده می‌شود چون 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  نیز به همین صورت است.