0

درس ششم : معرفی برخی تنظیمات CPU در Virtual Machine

در هنگام ایجاد و پس از ساخت ماشین های مجازی می توان منابع اختصاص داده شده به ماشین های مجازی، از جمله پردازنده، کارت شبکه، ذخیره ساز ها و … را افزایش و کاهش داد و یا حتی در هنگام روشن بودن ماشین مجازی هم می توان بعضی از آن ها را ویرایش کرد( افزایش یا کاهش داد)

 

برای اینکار از طریق VMware vSphere Web Client بر روی ماشین مجازی مورد نظر کلیک راست و گزینه Edit Settings را انتخاب نمایید.

 

 

همانطور که مشاهده می کنید دارای چندین سربرگ است.، که به توضیح سربرگ Hardware میپردازیم.

یکی از مباحث مهمی که بعد از ساخت یک ماشین یا سرور مجازی روی سرور اصلی مطرح می شود، بحث تخصیص منابع (ram,cpu,hard) می باشد.

 

در این بخش به معرفی اجزای CPU در ماشین مجازی می پردازیم:

 

یک Virtual CPU یا پردازنده مجازی که آن را به عنوان Virtual Processor هم ممکن است ببینیم در واقع یک CPU فیزیکی است که به یک ماشین مجازی یا Virtual Machine اختصاص یافته است. بصورت پیشفرض به هر Virtual Machine یک vCPU اختصاص داده می شود ولی اگر سیستم Host شما دارای چندین CPU فیزیکی باشد یا تعداد Core های CPU شما بالا باشد ، شما می توانید به VM های خودتان بیشتر از یک vCPU را اختصاص بدهید ، به vCPU در اصطلاح Logical Processor هم گفته می شود .

با اضافه شدن vCPU های جدید طبیعتا زمانبندی و همچنین هدایت کردن درخواست ها بین slot های فیزیکی CPU و تقسیم وظایف بین vCPU ها و هماهنگ کردن آنها با CPU فیزیکی سیستم بسیار بسیار سخت می شودو همین موضوع باعث می شود کارایی سیستم بعضا نه تنها زیاد نشود بلکه کم هم می شود.

به عنوان مثال ، اگر دو عدد CPU داشته باشید که برای مثال دارای قدرت پردازشی ۲۰۰۰ گیگاهرتز باشند ، سرعت پردازشی شما ۴۰۰۰ گیگاهرتز نمی شود زیرا تقریبا نصب قدرت پردازشی پردازنده دوم به تقسیم بندی و مدیریت پردازش ها بر روی دو CPU اختصاص می یابد و به سیستم کاری ندارد.

اولین سوالی که ممکن است برای شما پیش آیدف این است که ،

از چه تعداد vCPU می توان بر روی یک VM استفاده کرد ؟

 

 

یک VM اگر بر روی نسخه Standard از ESX یا ESXi را نصب شده باشد ، حداکثر می تواند از ۴ عدد vCPU استفاده کند و و این بر اساس لایسنسی است که VMware برای استفاده در ESXi تعیین کرده است در نسخه Enterprise شما می توانید تا ۸ عدد vCPU برای هر VM در نظر بگیرید. تعداد vCPU هایی که شما به VM های خود اختصاص می دهید کاملا بستگی به Load کاری دارد که بر روی VM وجود دارد. در ESXi یک vCPU برای انجام پردازش ها به یک هسته واقعی از CPU فیزیکی سیستم Map می شود.

این بدین معنا است که اگر یک VM به گونه ای پیکربندی شود که از ۱ عدد vCPU استفاده کند که این vCPU به یک CPU 4 هسته ای متصل شده باشد ، هیچوقت نمی تواند بیشتر از یک چهارم قدرت پردازشی CPU اصلی را در اختیار بگیرد. اگر بخواهیم ساده تر بگوییم باید توجه کنید که هر چقدر تعداد vCPU های شما بیشتر شود بسته به نوع عملکرد سیستم شما ممکن است کارایی سیستم شما حتی کاهش هم پیدا کند و اضافه کردن vCPU های جدید فقط بار کاری سرور شما را بالا می برد.

 

 

آیا یک vCPU الزاما به معنی یک CPU فیزیکی است ؟

این سئوالی است که ممکن است برای بسیاری از دوستان پیش بیاید. دقت کنید که یک برآورد ساده معمولا وجود دارد که می گوید هر vCPU در واقع به معنی یک هسته از یک Physical CPU است. حال اگر CPU های شما دارای هسته نباشند بنابراین هر vCPU برابر یک CPU فیزیکی قدرت پردازشی خواهد داشت . امروزه اکثر CPU ها بصورت چند هسته ای هستند و بعضا دیگر چیزی به نام CPU بدون هسته وجود ندارد. دقت کنید که این تعریف همیشه هم درست نیست ، با توجه به اینکه vCPU ها از time slot هایی ایجاد می شوند که بر روی همه هسته های فیزیکی موجود بر روی CPU فیزیکی تشکیل می شوند.

در واقع قدرت پردازشی یک vCPU از یک هسته فیزیکی CPU بالاتر است ، به ویژه زمانیکه CPU شما دارای ۸ هسته باشد. VMware به گونه ای طراحی شده است که اجازه بدهد هر VM بتواند از قسمت خاصی از Core Clock Time هر CPU با استفاده از الگوریتم های بسیار پیچیده استفاده کند که ما آن را CPU Scheduler می نامیم. در یک شبکه cloud بسیار بزرگ اگر به اندازه لازم منابع پردازشی CPU وجود نداشته باشد و مثلا پردازش CPU های VM ها روی ۱۰۰ درصد قرار بگیرد ، VM بلافاصله می تواند با استفاده از تکنولوژی های DRS و VMotion بر روی Host دیگری قرار بگیرد که محدودیت منابع CPU نداشته باشد و براحتی به سرویس دهی خود ادامه دهد.

فرض کنید در محیط Cloud شما دو عدد Host دارید که یکی از آنه دارای پردازنده فیزیکی ۸ هسته ای است و دیگری دارای پردازنده فیزیکی ۴ هسته است ، VM شما زمانیکه بر روی Host با پردازنده ۴ هسته ای قرار می گیرد قدرت پردازشی اش کاهش پیدا می کند و در چنین مواردی شما می توانید VM را بر روی Host با پردازنده ۸ هسته ای VMotion کنید تا از ۱ عدد vCPU شما اینبار از ۸ هسته بتواند استفاده کند.

 

در Esxi سه حالت تخصیص منابع وجود دارد:

 

Reservation
Limit
Share

 

Reservation:

منابعی که بصورت reserve در نظر میگیریم، میزان منابعی هستند که Esxi تضمین می دهد که این منابع را بصورت کامل در اختیار ماشین مجازی ما قرار دهد. مثلا اگر برای یک ماشین ۴ گیگ رم رزور می کنیم، Esxi این ۴ گیگ رم را صرفاً در اختیار این ماشین مجازی قرار می دهد و حتی خود Esxi نمی تواند از این حجم استفاده کند.

Limit:

بیشترین میزانی است که یک ماشین می تواند از منابع استفاده کند.

مثلا میزان ram یک ماشین را به ۴ گیگ محدود می کنیم، بنابراین بیشتر از این مقدار نمی تواند از ram استفاده کند.

Share:

این مقدار بین میزان reserve و limit شناور است.

مثلا به یک سرور مجازی ۴گیگ رم تخصیص دادیم ولی ازین میزان فقط ۲ گیگ را استفاده میکند ، بنابراین ۲ گیگ باقیمانده بصورت share توسط بقیه ماشین ها استفاده می شود.

منابع share منابعی است که ماشین های مجازی برای استفاده از آن می جنگند.

توجه داشته باشید میزان limit نمی تواند کمتر از مقدار تنظیم شده برای reserve باشد.

با توجه به تصویر زیر در باکس روبروی shares موارد زیر قابل تنظیم است که مقادیر زیر را دارد:

Low

Normal

High

Custom

 

 

اگر low باشد دارای کمترین اولویت و اگر high باشد دارای بیشترین اولویت برای استفاده از منابع share را دارد، همینطور normal اولویت خاصی در نظر گرفته نمی شود.

مورد custom نیز شما بصورت دقیق تنظیم میکنید، حداکثر چه میزان بتواند از منابع share استفاده کند.

 

گزینه بعدی:

Hardware Virtualization :

 

 

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

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

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

 

گزینه IOMMU(Input/Output Memory Management Unit) 

 

 

این قابلیت در CPU های شرکت اینتل با نام VT-D می باشد و در CPU های شرکت AMD با نام IOMMU(Input/Output Memory Management Unit) می باشد.

معنی این گزینه این است:

(قراردادن مجازی‌ سازی پشتیبانی شده توسط سخت‌ افزار، در معرض سیستم عامل مهمان) ، پس در نتیجه می توانیم به ماشین مجازی سخت افزار معرفی کنیم و آنرا در اختیار ماشین مجازی قرار دهیم.

ارسال دیدگاه

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *