همانطور که CPU برای پردازش مهم است، VCPU یا پردازش مجازی هم به شکلی دیگر نقش بسیاری در پردازش مجازی دارد. در ادامه مطالب قرار است متوجه شویم که کارایی این دو در یک پلتفرم مجازی به اسمVMware ESXI چیست؟ وچگونه پردازش را انجام میدهند. با این مطلب از بلاگ کندو همراه باشید.
CPU چیست؟
CPU مخفف Central Processing Unit (واحد پردازش مرکزی) است. CPU را میتوان از اصلیترین اجزء کامپیوتر دانست که مسئول اجرای دستورالعملها و انجام محاسبات مشخص شده توسط برنامههای کامپیوتری است. CPU مغز کامپیوتر است و وظایفی مانند حساب، منطق، کنترل و عملیات ورودی/خروجی را انجام میدهد. CPUها پردازش خود را توسط هسته یا هستههایی که در آن وجود دارند، انجام میدهد.
در اصل هر هسته یک واحد پردازش جداگانه است و وقتی میگویند یک CPU دو هستهای است، یعنی یک سیستم داری دو واحد پردازش است. میتوان گفت cpuهای چند هستهای با تقسیم وظایف بین چندین هسته و اجرای همزمان آنها، سرعت عمل سیستم را بالاتر میبرند.
یک پردازش مجازی هم وجود دارد که برای درک بهتر آن باید ابتدا با چند مفهوم آشنا شویم.
Virtual Machine
مخفف ماشین مجازی است. VM یک شبیه سازی نرم افزاری از یک کامپیوتر فیزیکی است. این نرم افزار توسط نرم افزار مجازی سازی مانند Hypervisor :ایجاد میشود و همانند یک کامپیوتر فیزیکی جداگانه با سیستم عامل، برنامهها و منابع خاص خود رفتار میکند.
ماشینهای مجازی سازمانها را قادر میسازند تا چندین سرور را در یک سرور فیزیکی ادغام کنند. امکان استفاده چندین ماشین مجازی به طور همزمان بر یک سخت افزار هم وجود دارد. VM به طور گسترده در محیطهای محاسباتی مختلف از جمله: مجازی سازی سرور، فضای ابری، توسعه و آزمایش نرم افزار، استفاده میشوند.
ماشین مجازی برای اجرا نیاز به یک نرم افزار دیگری هم دارد که در ادامه به آن خواهیم پرداخت.
Hypervisor
یک لایه نرم افرازی است که امکان عملیات مجازی سازی شده را با اجازه دادن به چندین سیستم عامل برای اجرا در یک پلتفرم سخت افزاری فیزیکی امکان پذیر میکند. Hypervisor منابع سخت افزاری فیزیکی، همانند: CPU، حافظه، ذخیره سازی و شبکه را جدا کرده و آنها را به عنوان نمونههای مجازی به ماشینهای مجازی ارائه میدهد.
Hypervisorها دو نوع هستند:
- نوع اول: Hypervisor Bare Metal نام دارد که مستقیما روی سخت افزار فیزیکی نصب میشود. Bare Metal منابع سخت افزاری را مدیریت میکند و به چندین ماشین مجازی اجازه میدهد تا مستقیما روی سیستم میزبان اجرا شوند.
- نوع دوم: Hypervisor Hosted نام دارد که روی سیستم عامل نصب شده و به عنوان یک برنامه نرم افزاری اجرا میشود. در این نوع یک لایه مجازی سازی بین سیستم عامل و سخت افزار اجرا میکند که میتوان به عنوان مثال: VMware Wrkstation اشاره کرد.
نقش Hypervisor
Hypervisor با امکان استفاده کارآمد از منابع، ایزوله سازی بین ماشینهای مجازی، انعطاف پذیری در مدیریت و ثبات محیطهای مجازی نقش مهمی در مجازی سازی سرور، محاسبات ابری و همچنین مجازی سازی دکستاپ ایفا میکند.
Virtual CPU
یک پردازنده مجازی است و عملکرد آن همانند CPU فیزیکی است ولی با این تفاوت که در محیط مجازی عمل(VM) میکند. هر VCPU توسط Hypervisor به یک ماشین مجازی اختصاص داده میشود تا وظایف محاسباتی را در VM انجام دهد. عملکرد VCPUها به این حالت است که از طریق Hypervisor به هستههای فیزیکی CPU درسخت افزار وصل میشوند.
بعد از وصل شدن VCPU دستورالعملها را اجرا میکنند، دادهها را پردازش میکنند و درست مانند CPUهای فیزیکی، محاسبات را در VM انجام میدهند. چندین VCPU را میتوان به یک VM اختصاص داد که به آن اجازه میدهد از چندین هسته فیزیکی CPU استفاده کند و به پردازش مجازی دست یابد. باید به این نکته اشاره کرد که VCPU نقش مهمی در محیطهای مجازی ایفا میکند که امکان استفاده کارآمد از منابع CPU و اجرای چندین VM در یک سرور فیزیکی را فراهم میکند.
شاید برای شما هم سوال باشد که VCPU در یک CPU فیزیکی چه تعداد است؟
تعداد VCPUها در یک CPU
تعداد VCPها که میتوانند به یک CPU فیزیکی اختصاص داده شوند به عوامل مختلفی از جمله قابلیت Hypervisor و نیازهای حجم کاری VM یا همان ماشین مجازی بستگی دارد. به طور کلی Hypervisor مدرن اجازه میدهند که چندینVCPU به یک هسته فیزیکی واحد اختصاص داده شود.
با این حال، نسبت بهینه VCPUها به هستههای فیزیکی CPU به عواملی مانند: نوع حجم کاری، الزامات عملکرد ماشینهای مجازی و معماری کل سیستم بستگی دارد. باید در نظر داشت که تامین بیش از حد VCPUها میتواند منجر به اختلاف منابع و کاهش عملکرد شود و تامین ناکافی میتواند منجر به استفاده ناکافی از منابع شود. بنابراین تجزیه و تحلیل دقیق VCPUها براساس نیازهای خاص محیط مجازی ضروری است.
تفاوتهای CPU و VCPU
- یکی از تفاوتهای آنها از نظر فناوری است. CPU قطعهای سخت افزاری است که به آن پردازنده میگویند و VCPU یک نوع نرم افزار از یک واحد کنترل کامپیوتر است.
- عملکرد هر دو متفاوت است چراکه VCPUها زیرواحدهای مبتنی بر نرم افزار یک CPU هستند. اگر یک VCPU و یک CPU با سرعت کلاک یکسان (گیگا هرتز) مقایسه کنید، VCPU به اندازه CPU قدرتمند نیست.
- CPU میتواند چندین دستورالعمل را به طور مستقیم و همزمان پردازش کند. اما در VCPU برای انجام این کار باید با VCPUهای بیشتری تکمیل شود که این سرعت عمل را پایین میآورد.
باید به این نکته اشاره کرد این دو با هم تکمیل میشوند و نقطه مقابل هم نیستند. از آنها برای تعامل قدرت محاسباتی فیزیکی و مجازی استفاده میشود وCPU زیربنایی برایVCPU است.
VMware ESXI چیست؟
یک نرم افزار مجازی است که به چندین ماشین مجازی ((VM اجازه میدهد تا روی یک سرور فیزیکی واحد اجرا شوند و بدون نیاز به سیستم عامل جداگانه مستقیما روی سخت افزار سیستم کار کنند. ESXI منابع سخت افزاری فیزیکی مانند CPU، حافظه، دخیره سازی و شبکه را جدا میکند و آنها را به عنوان نمونههای مجازی شده به ماشینهای مجازی ارائه میدهد.
این کار را برای مدیریت، تهیه و نظارت بر محیطهای مجازی شده فراهم میکند که مدیریت در زیرساختهای مجازی در مقیاس بزرگ را آسان میکند. EXSI به طور گسترده در مراکز داده و محیطهای ابری برای بهبود استفاده از منابع، مقیاس پذیری و انعطاف پذیری و در عین حال کاهش هزینههای سخت افزاری استفاده میشود.
با کارآیی ESXI در دوره vmware آشنا شدیم و حالا باید متوجه شد نقش پردازنده فیزیکی و مجازی در این نرم افزار چیست؟
تفاوت CPU و VCPU در VMware EXSI
VCPU
یک پردازنده مجازی از یک هسته CPU در یک ماشین مجازی (VM) است.
- در چهارچوب محیط مجازی عمل میکند و توسط Hypervisor مدیریت میشود.
- چندین VCPU را میتوان به یک VM اختصاص داد و به آن اجازه میدهد از قدرت پردازش چندین هسته فیزیکی CPU در سرور میزبان استفاده کند.
- VCPUها تابع سیاستهای تخصیص منابع هستند که توسط Hypervisor تنظیم شده است و عملکرد آنها به حجم کاری VM بستگی دارد.
CPU
- هسته CPU یک واحد پردازش فیزیکی در سرور میزبان است.
- CPU دستورات را اجرا میکند، دادهها را پردازش میکند و محاسبات را انجام میدهد.
- تعداد هستههای CPU در سرور میزبان، ظرفیت پردازش کلی موجود برای ماشینهای مجازی را تعیین میکند.
- Hypervisor تخصیص هستههای فیزیکی CPU به ماشینهای مجازی را مدیریت میکند، همچنین از استفاده کارآمد از منابع و جداسازی عملکرد بین ماشینهای مجازی اطمینان میدهد.
به طور خلاصه میتوان گفت که VCPUها در اصل CPUهای مجازی شده هستند که به ماشینهای مجازی اختصاص داده شدهاند. درحالی که CPUها هستههای فیزیکی موجود در سرور میزبان هستند. Hypervisor هم تخصیص و مدیریت هر دو را برای اطمینان از عملکرد درست، هماهنگ میکند.
نقش VMware EXSI
VMware EXSI یک پلتفرم مجازی سازی قوی است که به عنوان یک Hypervisor در اکوسیستم VMware vSphere عمل میکند. این امکان، ادغام کارآمد چندین ماشین مجازی را روی یک سرور فیزیکی واحد، بهینه سازی استفاده از منابع و افزایش مقیاس پذیری را فراهم میکند. EXSI با مجموعه جامعی از ابزارهای مدیریت، تهیه و نظارت، نقشی محوری در ثبات مرکز داده ایفا میکند. در این صورت سازمانها قادر هستند تا به عملیات سادهتر، انعطاف پذیری بیشتر و همچنین کاهش هزینههای سخت افزاری در محیطهای مجازی دست یابند.