درس ۳ از ۱۲

vCPU، vRAM و منابع VM

این درس درباره vCPU، vRAM و منابع VM است؛ مسیر را مرحله‌به‌مرحله جلو می‌بریم: اول مفهوم، بعد مشاهده در سیستم واقعی و در آخر عیب‌یابی؛ وقتی درس تمام شد باید بتوانی با Console Hypervisor، تنظیمات VM، Datastore و Eventها وضعیت این بخش را بررسی کنی و نتیجه را با حالت سالم مقایسه کنی در این درس باید هم‌زمان دو سطح را ببینی: Guest و زیرساخت مجازی‌سازی؛ رفتار یک VM می‌تواند از سیستم‌عامل داخل آن یا از CPU، Memory، Storage و Network Host تأثیر بگیرد؛ هدف این است که منابع و وابستگی‌ها را درست تفکیک کنی، Snapshot و Backup را با هم اشتباه نگیری و برای هر تغییر امکان بازگشت و Validation داشته باشی

این درس برای مطالعه کامل نوشته شده است

با حوصله بخوان، مثال‌ها را تحلیل کن و تمرین‌ها را انجام بده؛ هدف حفظ کردن تعریف‌ها نیست

vCPU زیاد همیشه سریع‌تر نیست

vCPU زیاد همیشه سریع‌تر نیست vCPU سهم پردازشی VM از CPUهای Host است و Scheduler آن را روی Coreهای فیزیکی اجرا می‌کند؛ افزایش بی‌دلیل vCPU می‌تواند Scheduling را سخت‌تر کند اول Bottleneck واقعی را ثابت کن سپس منابع را تغییر بده در مستندات معماری پردازنده، هسته واحد فیزیکی اجرای دستورهاست و رشته مسیر منطقی اجرای کارها را نشان می‌دهد؛ فرکانس فقط یکی از عوامل کارایی است و معماری پردازنده، تعداد هسته‌ها، اندازه و سطح Cache، نوع بار کاری و محدودیت‌های توان و دما نیز روی نتیجه اثر می‌گذارند؛ در عیب‌یابی نباید صرفاً از روی درصد مصرف CPU نتیجه گرفت که پردازنده خراب یا ضعیف است، بلکه باید Process مصرف‌کننده، مدت زمان مصرف، دمای سیستم و رفتار برنامه در همان بازه بررسی شود RAM فضای کاری موقت سیستم برای داده‌ها و کدهای در حال استفاده است و با ذخیره‌سازی دائمی تفاوت دارد؛ وقتی حافظه آزاد کم می‌شود، سیستم‌عامل ناچار می‌شود بخشی از داده‌های کم‌استفاده را به حافظه مجازی منتقل کند و همین موضوع می‌تواند تأخیر را بیشتر کند؛ در بررسی عملی، ظرفیت نصب‌شده، ظرفیت قابل استفاده، مصرف هر Process، خطاهای سخت‌افزاری و سازگاری نسل و مشخصات ماژول‌ها باید کنار هم دیده شوند

vRAM با نیاز Guest و ظرفیت Host متعادل شود

vRAM مقدار حافظه اختصاص‌یافته یا قابل استفاده VM است؛ مصرف Guest و فشار Host را هم‌زمان ببین دادن RAM بیش از نیاز به یک VM می‌تواند منابع VMهای دیگر را کم کند در مستندات معماری پردازنده، هسته واحد فیزیکی اجرای دستورهاست و رشته مسیر منطقی اجرای کارها را نشان می‌دهد؛ فرکانس فقط یکی از عوامل کارایی است و معماری پردازنده، تعداد هسته‌ها، اندازه و سطح Cache، نوع بار کاری و محدودیت‌های توان و دما نیز روی نتیجه اثر می‌گذارند؛ در عیب‌یابی نباید صرفاً از روی درصد مصرف CPU نتیجه گرفت که پردازنده خراب یا ضعیف است، بلکه باید Process مصرف‌کننده، مدت زمان مصرف، دمای سیستم و رفتار برنامه در همان بازه بررسی شود RAM فضای کاری موقت سیستم برای داده‌ها و کدهای در حال استفاده است و با ذخیره‌سازی دائمی تفاوت دارد؛ وقتی حافظه آزاد کم می‌شود، سیستم‌عامل ناچار می‌شود بخشی از داده‌های کم‌استفاده را به حافظه مجازی منتقل کند و همین موضوع می‌تواند تأخیر را بیشتر کند؛ در بررسی عملی، ظرفیت نصب‌شده، ظرفیت قابل استفاده، مصرف هر Process، خطاهای سخت‌افزاری و سازگاری نسل و مشخصات ماژول‌ها باید کنار هم دیده شوند

Reservation و Limit منابع را کنترل می‌کنند

DHCP Reservation یک IP مشخص را بر اساس شناسه Client برای همان Device نگه می‌دارد؛ برای Printer یا تجهیز ثابت مدیریت آن از Static پراکنده ساده‌تر است در مستندات معماری پردازنده، هسته واحد فیزیکی اجرای دستورهاست و رشته مسیر منطقی اجرای کارها را نشان می‌دهد؛ فرکانس فقط یکی از عوامل کارایی است و معماری پردازنده، تعداد هسته‌ها، اندازه و سطح Cache، نوع بار کاری و محدودیت‌های توان و دما نیز روی نتیجه اثر می‌گذارند؛ در عیب‌یابی نباید صرفاً از روی درصد مصرف CPU نتیجه گرفت که پردازنده خراب یا ضعیف است، بلکه باید Process مصرف‌کننده، مدت زمان مصرف، دمای سیستم و رفتار برنامه در همان بازه بررسی شود RAM فضای کاری موقت سیستم برای داده‌ها و کدهای در حال استفاده است و با ذخیره‌سازی دائمی تفاوت دارد؛ وقتی حافظه آزاد کم می‌شود، سیستم‌عامل ناچار می‌شود بخشی از داده‌های کم‌استفاده را به حافظه مجازی منتقل کند و همین موضوع می‌تواند تأخیر را بیشتر کند؛ در بررسی عملی، ظرفیت نصب‌شده، ظرفیت قابل استفاده، مصرف هر Process، خطاهای سخت‌افزاری و سازگاری نسل و مشخصات ماژول‌ها باید کنار هم دیده شوند

اوج مصرف Host مهم است

برای Capacity فقط میانگین را نبین؛ چند VM ممکن است هم‌زمان اوج داشته باشند و Host را تحت فشار بگذارند، بنابراین اوج و Overcommit باید کنار هم دیده شوند میانگین مصرف Host ممکن است خوب باشد ولی در ساعت اوج CPU، RAM یا Storage اشباع شود؛ برای ظرفیت‌سنجی نمودار زمانی و اوجها را کنار میانگین ببین در مستندات معماری پردازنده، هسته واحد فیزیکی اجرای دستورهاست و رشته مسیر منطقی اجرای کارها را نشان می‌دهد؛ فرکانس فقط یکی از عوامل کارایی است و معماری پردازنده، تعداد هسته‌ها، اندازه و سطح Cache، نوع بار کاری و محدودیت‌های توان و دما نیز روی نتیجه اثر می‌گذارند؛ در عیب‌یابی نباید صرفاً از روی درصد مصرف CPU نتیجه گرفت که پردازنده خراب یا ضعیف است، بلکه باید Process مصرف‌کننده، مدت زمان مصرف، دمای سیستم و رفتار برنامه در همان بازه بررسی شود RAM فضای کاری موقت سیستم برای داده‌ها و کدهای در حال استفاده است و با ذخیره‌سازی دائمی تفاوت دارد؛ وقتی حافظه آزاد کم می‌شود، سیستم‌عامل ناچار می‌شود بخشی از داده‌های کم‌استفاده را به حافظه مجازی منتقل کند و همین موضوع می‌تواند تأخیر را بیشتر کند؛ در بررسی عملی، ظرفیت نصب‌شده، ظرفیت قابل استفاده، مصرف هر Process، خطاهای سخت‌افزاری و سازگاری نسل و مشخصات ماژول‌ها باید کنار هم دیده شوند

افزایش منابع بدون یافتن Bottleneck کافی نیست

افزایش منابع بدون یافتن Bottleneck کافی نیست افزایش vCPU یا vRAM وقتی گلوگاه Storage یا نرم‌افزار است کمکی نمی‌کند و حتی Scheduling را سخت‌تر می‌کند؛ اول Metricها محل Bottleneck را ثابت کنند در مستندات معماری پردازنده، هسته واحد فیزیکی اجرای دستورهاست و رشته مسیر منطقی اجرای کارها را نشان می‌دهد؛ فرکانس فقط یکی از عوامل کارایی است و معماری پردازنده، تعداد هسته‌ها، اندازه و سطح Cache، نوع بار کاری و محدودیت‌های توان و دما نیز روی نتیجه اثر می‌گذارند؛ در عیب‌یابی نباید صرفاً از روی درصد مصرف CPU نتیجه گرفت که پردازنده خراب یا ضعیف است، بلکه باید Process مصرف‌کننده، مدت زمان مصرف، دمای سیستم و رفتار برنامه در همان بازه بررسی شود RAM فضای کاری موقت سیستم برای داده‌ها و کدهای در حال استفاده است و با ذخیره‌سازی دائمی تفاوت دارد؛ وقتی حافظه آزاد کم می‌شود، سیستم‌عامل ناچار می‌شود بخشی از داده‌های کم‌استفاده را به حافظه مجازی منتقل کند و همین موضوع می‌تواند تأخیر را بیشتر کند؛ در بررسی عملی، ظرفیت نصب‌شده، ظرفیت قابل استفاده، مصرف هر Process، خطاهای سخت‌افزاری و سازگاری نسل و مشخصات ماژول‌ها باید کنار هم دیده شوند

مثال محیط واقعی

فرض کن در زیرساخت مجازی‌سازی مشکلی گزارش شده و احتمال می‌دهی به vCPU، vRAM و منابع VM مربوط باشد. قبل از تغییر، وضعیت فعلی را با Console Hypervisor، تنظیمات VM، Datastore و Eventها بررسی می‌کنی و نتیجه را با یک حالت سالم یا مستند معتبر مقایسه می‌کنی. اگر شواهد فرضیه را تأیید کردند، فقط همان بخش مرتبط را تغییر می‌دهی و بعد همان تست را دوباره اجرا می‌کنی تا مطمئن شوی مشکل واقعاً برطرف شده است

اشتباهات رایج

این اشتباه‌ها را تکرار نکن

  • vCPU سهم پردازشی VM از CPUهای Host است و Scheduler آن را روی Coreهای فیزیکی اجرا می‌کند؛ افزایش بی‌دلیل vCPU می‌تواند Scheduling را سخت‌تر کند
  • تغییر دادن تنظیمات مرتبط با vCPU، vRAM و منابع VM قبل از اینکه مطمئن شوی مشکل واقعاً به همین بخش مربوط است
  • نتیجه‌گیری درباره vCPU، vRAM و منابع VM فقط از روی یک نشانه و بدون انجام تست نهایی
تمرین عملی

حالا خودت انجام بده

  1. در یک نمونه آزمایشی مرتبط با vCPU، vRAM و منابع VM، فقط وضعیت فعلی را مشاهده کن و سه نکته‌ای را که برای تشخیص حالت سالم مهم‌اند یادداشت کن
  2. با Console Hypervisor، تنظیمات VM، Datastore و Eventها وضعیت مرتبط با vCPU، vRAM و منابع VM را بدون تغییر بررسی کن، سه داده واقعی جمع کن و توضیح بده هرکدام چه چیزی به تو می‌گویند
  3. یک خطای فرضی مرتبط با vCPU، vRAM و منابع VM بنویس و مشخص کن اولین تست کم‌خطر تو چیست و چه نتیجه‌ای فرضیه‌ات را رد می‌کند

نکته‌هایی که باید با خودت ببری

  • vCPU زیاد همیشه سریع‌تر نیست
  • vRAM با نیاز Guest و ظرفیت Host متعادل شود
  • Reservation و Limit منابع را کنترل می‌کنند
  • اوج مصرف Host مهم است
  • افزایش منابع بدون یافتن Bottleneck کافی نیست
  • Snapshot را جای Backup نگیر و قبل از خاموش کردن Host وابستگی VMها را بررسی کن
خودسنجی

قبل از رفتن به درس بعد، جواب را برای خودت توضیح بده

این نکته را با یک مثال توضیح بده: vCPU زیاد همیشه سریع‌تر نیست. بعد بگو در عمل چطور آن را بررسی می‌کنی.

vCPU سهم پردازشی VM از CPUهای Host است و Scheduler آن را روی Coreهای فیزیکی اجرا می‌کند؛ افزایش بی‌دلیل vCPU می‌تواند Scheduling را سخت‌تر کند

این نکته را با یک مثال توضیح بده: vRAM با نیاز Guest و ظرفیت Host متعادل شود. بعد بگو در عمل چطور آن را بررسی می‌کنی.

vRAM مقدار حافظه اختصاص‌یافته یا قابل استفاده VM است؛ مصرف Guest و فشار Host را هم‌زمان ببین

این نکته را با یک مثال توضیح بده: Reservation و Limit منابع را کنترل می‌کنند. بعد بگو در عمل چطور آن را بررسی می‌کنی.

DHCP Reservation یک IP مشخص را بر اساس شناسه Client برای همان Device نگه می‌دارد؛ برای Printer یا تجهیز ثابت مدیریت آن از Static پراکنده ساده‌تر است

مطالعه درس همیشه عمومی است

برای ذخیره پیشرفت، دوره را رسمی شروع کن

با ثبت‌نام، تکمیل درس‌ها و نمره آزمون روی حساب ذخیره می‌شود

ثبت‌نام و شروع رسمی