خوش آموز درخت تو گر بار دانش بگیرد، به زیر آوری چرخ نیلوفری را
نکاتی برای بهینه سازی Performance سخت افزار مجازی در VMware
در این پست سعی خواهد شد نکاتی برای بهینه سازی عملکرد(performance optimization) برای سخت افزار مجازی(virtual hardware) در زیرساخت VMware بیان شود. همانطور که میدانید Performance از آن موضعاتی است که بسیار مهم و حیاتی است. چقدر می توانید برای بهینه سازی هر ماشین مجازی در زیرساخت خود پیش بروید؟ دستورالعمل های کمی از VMware وجود دارد، ما بر روی بهینه سازی سخت افزار ماشین مجازی، پیکربندی VM تمرکز خواهیم کرد.
با بهینهسازی سختافزار مجازی ماشین مجازی خود، میتوانید «صرفهجویی» قابلتوجهی را به دست آورید.
نسخه Virtual Hardware نسخه 13 (vmx-13) است که در VMware vSphere 6.5 معرفی شده است و به همین ترتیب در نسخه های 6.7 و 7.0 ورژن های Virtual hardware جدیدتر شد. اگر اغلب از VM استفاده می کنید، بهترین کار این است که یک VM template ایجاد کنید. در ادامه چند دستورالعمل برای ایجاد VM با حداقل مجموعه سخت افزار یا با سخت افزاری که ممکن است در CPU هاست ESXi کارآمدتر باشد، آورده شده است.
hardware device هایی که استافده نمی کنید را حذف یا غیرفعال کنید. برخی از دستگاه ها یا دستگاه های قدیمی که می دانید از آنها استفاده نخواهید کرد، مانند:
به گفته VMware
غیرفعال کردن دستگاه های سخت افزاری (معمولاً در بایوس ماشین مجازی انجام می شود) می تواند منابعی را آزاد کند. بهعلاوه، برخی از دستگاهها، USB controller ها، بر اساس الگویی کار می کنند که منابع بیشتری از CPU را استفاده می کنند. در نهایت، برخی از PCI device ها، بلوکهایی از مموری را رزرو میکنند، که باعث میشود آن حافظه برای ESXi در دسترس نباشد.
اگر نه، همچنان میتوانید از کنترلر ذخیرهسازی VMware Paravirtual نوع PVSCSI استفاده کنید، که استفاده کمتری از CPU را ارائه میدهد. آداپتورهای PVSCSI فقط در برخی از سیستم عامل ها برای درایوهای بوت پشتیبانی می شوند. برای اطلاعات بیشتر به مقاله VMware KB 1010398 مراجعه کنید.
هنگامی که دو ماشین مجازی را روی یک میزبان ESXi شبکه میکنید، سعی کنید آنها را به یک vSwitch متصل کنید. هنگامی که به این طریق متصل می شوند، سرعت شبکه آنها با سرعت کارت شبکه فیزیکی محدود نمی شود. در عوض، آنها بسته های شبکه را با سرعتی که منابع هاست اجازه می دهد، انتقال می دهند.
بررسیهای بیشتر باید برای اندازههای NUMA node، محل CPU cache و جزئیات اجرای workload انجام شود. در حالی که vSphere 6.5 به شما امکان می دهد تا 128 CPU مجازی را به VM خود اختصاص دهید، اما در واقعیت، به احتمال زیاد توسط سخت افزار خود (نه توسط vSphere) محدود شده اید و مهمتر از همه، با اضافه کردن تعداد زیادی vCPU، ممکن است در واقع یک bottleneck ایجاد کنید و نه تنها سرعت را افزایش ندهد بلکه باعث کندی هم شود.
پیکربندی یک ماشین مجازی با Vcpu های بیشتر نسبت به Workload آن ممکن است باعث افزایش اندکی استفاده از منابع شود و به طور بالقوه بر performance سیستمهای با Load سنگین بسیار زیاد تأثیر بگذارد. مثالهای رایج این مورد عبارتند از یک Workload تک رشتهای یا single-thread که در یک VM با چند vCPU اجرا میشود یا یک Workload چند رشتهای(multi-thread) در یک ماشین مجازی با تعداد vCPUهای بیشتر از Workload که میتواند به طور موثر استفاده کند.
توجه داشته باشید که یک ماشین مجازی نمی تواند بیشتر از تعداد هسته های منطقی هاست، CPU مجازی داشته باشد. تعداد هستههای منطقی برابر با تعداد هستههای فیزیکی در صورت غیرفعال بودن Hyperthreading یا دو برابر آن در صورت فعال بودن Hyperthreading است.
اگر برای یک ماشین مجازی RAM بیش از حد پیکربندی شده باشد و از آن استفاده نکند و ESXi شروع به Memory overcommitted کند، ESXi برای بازپس گیری این فضای رم که توسط VM استفاده نمی شود، Memory ballooning را اجرا می کند.
شما باید از تخصیص بیش از حد یا کم تخصیص RAM به VM ها خودداری کنید.
تخصیص بیش از حد حافظه نیز به طور غیر ضروری virtual machine memory overhead را افزایش می دهد. در حالی که ESXi معمولاً می تواند حافظه بیش از حد تخصیص داده شده را بازیابی(Reclaim) کند، ولی نمی تواند overhead مربوط به این حافظه بیش از حد تخصیص داده شده را بازیابی کند.
با بهینهسازی سختافزار مجازی ماشین مجازی خود، میتوانید «صرفهجویی» قابلتوجهی را به دست آورید.
نکات بهینه سازی Performance سخت افزار ماشین مجازی (VMX)
نسخه Virtual Hardware نسخه 13 (vmx-13) است که در VMware vSphere 6.5 معرفی شده است و به همین ترتیب در نسخه های 6.7 و 7.0 ورژن های Virtual hardware جدیدتر شد. اگر اغلب از VM استفاده می کنید، بهترین کار این است که یک VM template ایجاد کنید. در ادامه چند دستورالعمل برای ایجاد VM با حداقل مجموعه سخت افزار یا با سخت افزاری که ممکن است در CPU هاست ESXi کارآمدتر باشد، آورده شده است.
hardware device هایی که استافده نمی کنید را حذف یا غیرفعال کنید. برخی از دستگاه ها یا دستگاه های قدیمی که می دانید از آنها استفاده نخواهید کرد، مانند:
COM ports
LPT ports
USB controllers
Floppy drives
Optical drives (that is, CD or DVD drives)
Network interfaces
Storage controllers
به گفته VMware
غیرفعال کردن دستگاه های سخت افزاری (معمولاً در بایوس ماشین مجازی انجام می شود) می تواند منابعی را آزاد کند. بهعلاوه، برخی از دستگاهها، USB controller ها، بر اساس الگویی کار می کنند که منابع بیشتری از CPU را استفاده می کنند. در نهایت، برخی از PCI device ها، بلوکهایی از مموری را رزرو میکنند، که باعث میشود آن حافظه برای ESXi در دسترس نباشد.
آیا به Floppy در VM نیاز دارید؟
شما دیگر از فلاپی در ماشین های مجازی استفاده نمی کنید، درست است؟ بنابراین آن را از سخت افزار VM خود حذف کنید یا بهتر است آن را در بایوس ماشین مجازی غیرفعال کنید.نوع Virtual Storage Controller
بسته به نوع سیستم عامل و storage array، می توانید از یک دستگاه NVMe مجازی جدید (فقط برای محیط All Flash SAN/vSAN) استفاده کنید که 30-50٪ - CPU Cost کمتر در هر I/O و 30-80٪ IOPS بالاتر در مقایسه با دستگاه های virtual SATA دارد.اگر نه، همچنان میتوانید از کنترلر ذخیرهسازی VMware Paravirtual نوع PVSCSI استفاده کنید، که استفاده کمتری از CPU را ارائه میدهد. آداپتورهای PVSCSI فقط در برخی از سیستم عامل ها برای درایوهای بوت پشتیبانی می شوند. برای اطلاعات بیشتر به مقاله VMware KB 1010398 مراجعه کنید.
نوع کارت شبکه مجازی
Virtual network adapter یا network interface card و به اختصار NIC اتصال ماشینهای مجازی شما را با دنیای خارجی تضمین میکنند. هنگام ایجاد VM جدید، مهم است که سیستم عامل مناسب را از لیست انتخاب کنید زیرا VMware نوع آداپتور مناسب را انتخاب می کند. اگر سیستم عامل خاصی دارید یا برنامه خاصی را اجرا می کنید (مثلاً با latency کم)، ممکن است به vNIC پیش فرض دیگری نیاز داشته باشید.هنگامی که دو ماشین مجازی را روی یک میزبان ESXi شبکه میکنید، سعی کنید آنها را به یک vSwitch متصل کنید. هنگامی که به این طریق متصل می شوند، سرعت شبکه آنها با سرعت کارت شبکه فیزیکی محدود نمی شود. در عوض، آنها بسته های شبکه را با سرعتی که منابع هاست اجازه می دهد، انتقال می دهند.
Virtual CPU و Core ها
حتی اگر سیستم عامل مهمان از برخی از vCPU های خود استفاده نکند، پیکربندی ماشین های مجازی با آن vCPU ها همچنان درخواست منابع کوچکی را بر ESXi تحمیل می کند که بدان real CPU consumption هاست گفته می شود.بررسیهای بیشتر باید برای اندازههای NUMA node، محل CPU cache و جزئیات اجرای workload انجام شود. در حالی که vSphere 6.5 به شما امکان می دهد تا 128 CPU مجازی را به VM خود اختصاص دهید، اما در واقعیت، به احتمال زیاد توسط سخت افزار خود (نه توسط vSphere) محدود شده اید و مهمتر از همه، با اضافه کردن تعداد زیادی vCPU، ممکن است در واقع یک bottleneck ایجاد کنید و نه تنها سرعت را افزایش ندهد بلکه باعث کندی هم شود.
پیکربندی یک ماشین مجازی با Vcpu های بیشتر نسبت به Workload آن ممکن است باعث افزایش اندکی استفاده از منابع شود و به طور بالقوه بر performance سیستمهای با Load سنگین بسیار زیاد تأثیر بگذارد. مثالهای رایج این مورد عبارتند از یک Workload تک رشتهای یا single-thread که در یک VM با چند vCPU اجرا میشود یا یک Workload چند رشتهای(multi-thread) در یک ماشین مجازی با تعداد vCPUهای بیشتر از Workload که میتواند به طور موثر استفاده کند.
توجه داشته باشید که یک ماشین مجازی نمی تواند بیشتر از تعداد هسته های منطقی هاست، CPU مجازی داشته باشد. تعداد هستههای منطقی برابر با تعداد هستههای فیزیکی در صورت غیرفعال بودن Hyperthreading یا دو برابر آن در صورت فعال بودن Hyperthreading است.
اگر برای یک ماشین مجازی RAM بیش از حد پیکربندی شده باشد و از آن استفاده نکند و ESXi شروع به Memory overcommitted کند، ESXi برای بازپس گیری این فضای رم که توسط VM استفاده نمی شود، Memory ballooning را اجرا می کند.
شما باید از تخصیص بیش از حد یا کم تخصیص RAM به VM ها خودداری کنید.
تخصیص بیش از حد حافظه نیز به طور غیر ضروری virtual machine memory overhead را افزایش می دهد. در حالی که ESXi معمولاً می تواند حافظه بیش از حد تخصیص داده شده را بازیابی(Reclaim) کند، ولی نمی تواند overhead مربوط به این حافظه بیش از حد تخصیص داده شده را بازیابی کند.
نمایش دیدگاه ها (0 دیدگاه)
دیدگاه خود را ثبت کنید: