خوش آموز درخت تو گر بار دانش بگیرد، به زیر آوری چرخ نیلوفری را


مروری کامل بر مشکلات Performance ای در VM های VMWare

مروری کامل بر مشکلات Performance ای در VM های VMWare
استفاده از ماشین های مجازی بسیار راحت و ساده می باشد ولی بعضا شاهد افت performance ماشین های مجازی هستیم. دلایل کاهش performance ماشین ها، می تواند نرم افزاری و سخت افزاری باشد. این پست نحوه بهبود performance ماشین مجازی را در صورت کندی VM در پلت فرم مجازی سازی VMware توضیح می دهد. در مورد رایج‌ترین مشکلاتی که باعث عملکرد و performance پایین ماشین مجازی می‌شوند، خواهید خواند و توصیه‌هایی در مورد نحوه رفع آنها و بهبود عملکرد VM را بررسی خواهیم کرد.

سیستم یکپارچۀ سازمانی راهکار



دلایلی برای بهبود عملکرد VM

Performance ماشین مجازی از performance یک ماشین مجازی یکسان در هاست دیگر، کمتر است.
برنامه ها کندتر از آنچه باید اجرا می شوند. اما وقتی یک VM را به هاست دیگری منتقل می کنید، عملکرد برنامه ها طبیعی می شود.
اپلیکیشن ها زمان زیادی را برای اجرا شدن نیاز دارند.
وضعیت برنامه های در اجرا not responding است.
استفاده از CPU، حافظه یا دیسک 100٪ است.

CPU and Memory

منابع سخت افزاری ناکافی یکی از شناخته شده ترین دلایل Performance کند VM است. اگر منابع CPU کافی برای VM فراهم نکنید، نرم افزار داخل ماشین مجازی ممکن است به کندی و با تاخیر اجرا شود. برای رفع این مشکل، vcpu بیشتری را به VM تخصیص دهید و وضعیت را بررسی کنید. همچنین اگر پردازنده قدیمی با تعداد هسته کم، Cache و فرکانس پایین دارید، سخت افزار دستگاه هاست خود را ارتقا دهید.
وقتی مقداری رم برای VM تنظیم می کنید، مطمئن شوید که این مقدار رم برای ماشین مجازی کافی باشد. در عین حال، باید RAM کافی برای هاست هم وجود داشته باشد. اگر رم کافی برای یک VM فراهم نکنید، سیستم عامل مهمان به شدت از فایل swap استفاده می کند و Performance کلی VM کند خواهد شد. اگر مقدار زیادی رم به یک ماشین مجازی اختصاص دهید و رم کافی برای سیستم عامل هاست(ESXI) باقی نگذارید، سیستم عامل هاست از فایل swap استفاده می کند. این عمل منجر به کاهش Performance کلی سیستم و VM ها و اپلیکیشن های روی هاست می شود. RAM زیادی را به VM اختصاص ندهید و در عین حال مقداری را برای هاست بگذارید. همیشه RAM کافی برای هاست فراهم کنید.
در مورد سیستم مورد نیاز سیستم عامل و اپلیکیشن های مورد نیاز حتما مطالعه کنید. مثلا دستگاه هاست شما 8 گیگابایت RAM دارد و ESXi 7.0 یا Windows 10 را با VMWare Workstation اجرا می کند. بصورت مجازی یک ماشین ویندوز سرور 2019 اجرا کرده ایم. اگر 4 گیگابایت رم برای ویندوز سرور 2019 VM تهیه کنید، 4 گیگابایت رم برای سیستم عامل هاست باقی می ماند. این برای کار مناسب سیستم عامل هاست و سیستم عامل مهمان (بدون اجرای برنامه های اضافی که منابع را مصرف می کنند) کافی است. نسبت 1:2 (4 گیگابایت/8 گیگابایت) است و ½-1=-0.5، مقدار MEM overcommit avg است. اگر 2 گیگابایت رم برای یک ماشین مجازی با ویندوز سرور 2019 تخصیص دهید، در این صورت عملکرد VM کند خواهد بود. اگر 6 گیگابایت رم به ماشین مجازی ویندوز سرور 2019 ارائه دهید، میزان حافظه دستگاه هاست کافی نخواهد بود و در نتیجه، هم هاست و هم ماشین های مجازی کند خواهند شد.
اگر اپلیکیشن های سنگینی مانند دیتابیس را روی VM ها اجرا می‌کنید، پباید به صورت مناسبی به این VM ها منابع CPU و RAM اختصاص دهید.
Memory overcommitment وضعیتی است که تخصیص کل منابع از ظرفیت واقعی فراتر رود. اگر هاستی با 8 گیگابایت RAM دارید و پنج ماشین مجازی با میزان رم 2 گیگابایت پیکربندی کرده ‌اید، همه VM ها و هاست می‌توانند Performance پایینی داشته باشند زیرا Memory overcommitment است (اگر همه VM ها به شدت از RAM خود استفاده ‌کنند). اگر برخی از VM ها در حال اجرا بود، اما به مقدار کمی Load دارند، RAM در درجه اول توسط ماشین های مجازی که به شدت Load دارند، استفاده می شود، زیرا ESXi استفاده از حافظه یا memory utilization را بهبود می بخشد. Memory overcommitment در محیط های آزمایشی می تواند منطقی باشد.
همچنین، memory ballooning و پیکربندی این ویژگی را برای بازیابی حافظه استفاده نشده از ماشین های مجازی برای استفاده موثر از حافظه فیزیکی بررسی کنید. بعضا، زمانی که ماشین مجازی نیاز به استفاده از دیسک برای Swap دارد، این ویژگی می تواند بر عملکرد VM تأثیر بگذارد.


CPU overcommitment تکنیک هایی را برای استفاده منطقی از منابع ارائه می دهد که به شما این امکان را می دهد تا پردازنده های مجازی بیشتری را نسبت به هسته های فیزیکی CPU روی هاست برای VM ها فراهم کنید. پارامتر CPU overcommitment نسبت تعداد پردازنده های مجازی اختصاص داده شده به ماشین های مجازی به تعداد هسته های فیزیکی CPU روی هاست است. اگر مقدار 3:1 باشد - هیچ دلیلی برای نگرانی وجود ندارد. اگر مقدار 5:1 باشد، عملکرد VM کاهش می یابد. اگر مقدار CPU overcommitment برابر 6:1 باشد جای نگرانی است چون احتمالا Performance ماشین های مجازی کاهش پیدا خواهد کرد.

چگونه مشکلات CPU و RAM را در VMWare حل کنیم؟

ارتقای سخت افزار و افزودن رم بیشتر به Host که ماشین های مجازی را روی آن اجرا می کنید را در نظر بگیرید. سعی کنید RAM کافی برای جلوگیری از استفاده Host و سیستم عامل مهمان از swap فایل ها داشته باشید. از memory overcommitment شدن اجتناب کنید.
بعضا ویژگی CPU power management می تواند باعث Performance پایین VM شود. سعی کنید آنها را غیرفعال کنید.
منابع CPU و RAM آزاد روی هاست را بررسی کنید.
در ESXi، این دستور را در خط فرمان اجرا کنید تا بررسی کنید که آیا سرور شما overload شده یا خیر:

esxtop

مروری کامل بر مشکلات Performance ای در VM های VMWare
پارامتر load average را بررسی کنید. 1.0 - به این معنی است که CPU به طور کامل استفاده می شود.
0.5 - به این معنی که CPU نیمی از آن استفاده شده است (50%)
2.0 - به این معنی است که CPU دوبار overload شده و شما باید اقدامات لازم را انجام دهید

برای تغییر view یکی از این کلیدها را بفشارید. برای مشاهده متریک های CPU کلید C را بفشارید(البته پس از اجرای دستور esxtop، پارامترهای CPU نمایش داده می شود). m – memory, n – network, d – disk می باشد.
برای به روز رسانی مقادیر نمایش داده شده، Space را فشار دهید (مقادیر هر 5 ثانیه به طور خودکار آپدیت می شوند). h را برای help و q را برای quit می باشد.
برای بررسی میزان استفاده از RAM در ESXi، پارامتر MEM overcommit avg را بررسی کنید. مقدار MEM overcommit avg به شرح " نسبت حافظه درخواستی به حافظه موجود منهای 1" می باشد. مقدار توصیه شده این پارامتر 0 یا کمتر باید باشد.
اگر VMware Workstation نصب شده روی لینوکس یا ویندوز برای اجرای ماشین های مجازی استفاده می کنید، ز ابزارهای استاندارد مانیتورینگ موجود در سیستم عامل خود استفاده کنید.
استفاده از CPU/RAM را در سیستم عامل مهمان بررسی کنید. برخی از اپلیکیشن ها ممکن است به درستی کار نکنند و تمام منابع CPU (هسته CPU) را مصرف کنند. فرآیندهای در حال اجرا را بررسی کنید و برنامه ای که روی CPU لود انداخته را پیدا کنید.
دمای پردازنده‌های فیزیکی روی هاست را بررسی کنید زیرا دمای بیش از حد بالا (بیش از 80 درجه سانتی‌گراد) باعث مشکلات Performance ای می‌شود و برای پردازنده خطر ایجاد می‌کند (ممکن است پردازنده آسیب ببیند).
ارتقای سخت افزار- یک CPU قدرتمندتر یا CPU های بیشتری را روی هاست نصب کنید. تنظیمات VM را بررسی کنید. اگر تعداد پردازنده های مجازی برای ماشین های مجازی بیشتر از نیاز است، تعداد پردازنده های مجازی ماشین های مجازی را کاهش دهید تا منابع برای هاست آزاد شود.
در VMware vSphere، می‌توانید از یک کلاستر DRS (Distributed Resource Scheduler) برای انتقال ماشین‌های مجازی از یک هاست ESXi به یک هاست ESXi که منابع سخت‌افزاری آزاد دارد، استفاده کنید.

مشکلات Disk در VMware

Performance پایین یک سیستم ذخیره سازی باعث Performance پایین ماشین های مجازی می شود که دیسک های مجازی را در این استوریج ذخیره می کنند. Storage latency در Performance ماشین های مجازی بسیار مهم و حیاتی است.
اگر از VMware Workstation استفاده می‌کنید، می‌توانید VMها را روی دیسک‌های external SATA یا eSata یا USB 3.0 با در نظر گرفتن توصیه‌های بالا ذخیره کنید. فقز در صورتی که VM ها را خاموش کردید می توانید external disk را از سیستم جدا کنید.
در محیط های production برای Performance بهتر حتما از thick دیسک ها استفاده کنید.
اگر از HDD برای ذخیره VM ها استفاده می کنید، حتما دیسک ها defragmentation کنید.
اگر HBA دارید حتما از بروزبودن Firmware آن مطمئن شوید. اگر دیسک خراب دارید حتما آن را تعویض کنید. حتما از Raid در زیرساخت خود استفاده کنید تا تحمل خرابی و هم Performance داشته باشید.
کابل های(SAS، SATA) را بررسی کنید.
Disk encryption به دلیل overhead ای که دارد، منجر به افت Performance خواهد شد.
برای افزایش Performance پیشنهاد می شود که از RAID controller های سخت افزاری استفاده کنید.
مطمئن شوید که فضای خالی روی دیسک داخل ماشین مجازی وجود دارد. فضای ناکافی دیسک باعث کاهش Performance می شود زیرا سیستم عامل و اپلیکیشن ها نمی توانند فایل های موقت خود را ایجاد کنند.
می توانید ماشین مجازی خود را به دیسک یا disk array دیگری که overload نشده، منتقل کنید. در VMware vSphere، استفاده از DRS و Storage DRS در صورت امکان استفاده کنید. تعداد VMهای در حال اجرا را در یک LUN یا datastore کاهش دهید.

Snapshots

Snapshot در کنار مزایایی که به ادمین ها در شرایط حساس می دهند، اما می توانند منجر به کاهش performance دیسک مجازی vm شوند. هر snapshot یک فایل دلتا VMDK اضافی از یک دیسک مجازی تولید می کند. مکانیزم copy-on-write استفاده می شود. هر delta VMDK در مقایسه با فایل VMDK والد دارای تفاوت های داده ها (گزارش تغییرات) است و یک VM تمام این داده ها را هنگام تعامل با یک دیسک VM می خواند. در نتیجه، داده ها از چندین فایل دیسک مجازی روی یک دیسک فیزیکی خوانده می شوند و این کارایی VM را کاهش می دهد. به همین دلیل، از فایل‌های Split VMDK برای ماشین‌های مجازی در VMware Workstation استفاده نکنید (این گزینه برای فایل سیستم‌های قدیمی که فایل‌های بزرگ‌تر از ۴ گیگابایت را پشتیبانی نمی‌کنند ایجاد شده است). overload دیسک با افزایش تعداد snapshot ها افزایش می یابد. اسنپ شات ها معمولاً برای اهداف موقت استفاده می شوند (مثلاً زمانی که داده ها را در حین کار پشتیبان کپی می کنید یا برنامه ای را در داخل ماشین مجازی نصب یا آزمایش می کنید). تا حد امکان پس از اتمام کارتان، حتما Snapshot ها را delete کنید.
در VMware Workstation، باید VM را خاموش کنید، VMware Workstation را ببندید و دستوری را اجرا کنید که در آن مسیر فایل اصلی VMDK موجود و مسیر فایل دیسک مجازی جدید را مشخص کنید:

"C:\Program Files (x86)\username\VMware Workstation\vmware-vdiskmanager.exe" -r

"D:\VMs\VM-folder\vm-name.vmdk" -t 0 "D:\VMs\VM-folder\NewDisk.vmdk"

سپس VM را برای استفاده از یک دیسک مجازی جدید یا ایجاد یک VM جدید پیکربندی کنید.
در ESXi، از این دستورات برای حذف snapshot ها می توانید استفاده کنید:

vmware-cmd path_to_vmx_file removesnapshots

یا

vim-cmd vmsvc/snapshot.removeall VMID

VMID را هم با دستور زیر می توانید بدست آورید:

vim-cmd vmsvc/getallvms

در صورتی که از split VMDK استفاده می کنید، امکان Merge کردن آنها را دارید. این کار را روی دستگاه ویندوزی که VMware Workstation روی آن نصب شده است با دستور زیر انجام دهید:

"C:\Program Files (x86)\VMware\VMware Workstation\vmware-vdiskmanager.exe" -r splitdisk.vmdk -t 0 mergeddisk.vmdk

داده های حساس به performance را روی یک دیسک سریعتر ذخیره کنید.

VMware Tools

اطمینان حاصل کنید VMware Tools در سیستم عامل مهمان شما نصب باشد. VMware Tools مجموعه ای از درایورها و ابزارهای است که برای بهبود عملکرد VM و تجربه کاربری استفاده می شود. پس از نصب VMware Tools، عملکرد گرافیک افزایش می یابد. ماوس هماهنگ است و بدون تاخیر کار می کند. با VMware Tools می توانید از VM در حالت full-screen با performance بالاتر استفاده کنید. بررسی کنید که آیا VMware Tools نصب شده است یا خیر.


در VMware vSphere Client برای مشاهده وضعیت نصب VMware Tools روی guest OS در حال اجرا در vm، اطلاعاتی راجع به VMware Tools در تب Summary ماشین مجازی درج می شود.

مروری کامل بر مشکلات Performance ای در VM های VMWare

Network

اگر هاست ESXi شما به فضای ذخیره‌سازی مانند SAN یا NAS متصل است، مطمئن شوید که سرعت شبکه کافی است و شبکه overload نشده باشد.
برای کارایی بالا باید از شبکه مدیریت ESXi، شبکه vMotion و شبکه ذخیره سازی جداگانه در vSphere استفاده کنید.
NIC Teaming را در هاست های ESXi که از سوئیچ های مجازی استفاده می کنند، پیکربندی کنید.
اگر پهنای باند شبکه موجود شما برای برآورده کردن الزامات کافی نیست، ارتقاء شبکه را در نظر بگیرید. به عنوان مثال، آداپتورها، سوئیچ ها و روترهای شبکه 5 گیگابیت یا 10 گیگابیت را به جای تجهیزات 1 گیگابیتی موجود جایگزین کنید.

Antivirus

مطمئن شوید که نرم افزار آنتی ویروس موجود در هاست فایل های دیسک مجازی را اسکن نمی کند زیرا اسکن این فایل ها می تواند عملکرد VM را کاهش دهد.
سلامت سیستم عامل هاست و سیستم عامل مهمان را بررسی کنید. مطمئن شوید که هیچ ویروس یا بدافزار یا باج افزاری روی اینها وجود نداشته باشد.

VM Performance Monitoring

مانیتورینگ Performance ماشین مجازی روشی است که به طور گسترده برای تشخیص overload ها و مشکلات مربوط به Performance استفاده می شود. VM performance monitoring به شما کمک می کند تا علت را عیب یابی کنید. به یاد داشته باشید که عملکرد VM را در سطح هاست مانیتور کنید. سیستم عامل مهمان از ویژگی های مجازی سازی، مانند dynamic resource allocation، آگاه نیست و ممکن است داده های نادرست نمایش دهد. Vmware، counter هایی را در سطح هاست ارائه می دهد. این counter ها اطلاعات صحیحی را ارائه می دهند و برای مانیتورینگ عملکرد VM استفاده می شوند.
برای بررسی منابع سخت افزاری مصرف شده در VMware vSphere Client، یک ماشین مجازی را انتخاب کنید، تب Monitor را باز کنید و سپس Performance > Overview یا Performance > Advanced را برای مشاهده نمودارها و سایر اطلاعات انتخاب کنید. در صفحه Overview، می توانید استفاده از CPU، مموری، شبکه و فضای ذخیره سازی (فضای آزاد، فضای استفاده شده، و I/O performance) را به صورت real-time و برای روز، هفته، ماه، سال یا یک بازه custom مشاهده کنید.

مروری کامل بر مشکلات Performance ای در VM های VMWare
برای مشاهده اطلاعات بیشتر در مورد استفاده از CPU ماشین مجازی، مموری ماشین مجازی و مموری مهمان روی Utilization در تب Monitor کلیک کنید.

مروری کامل بر مشکلات Performance ای در VM های VMWare
به طور مشابه، می توانید یک هاست یا کلاستر ESXi را در vSphere Client انتخاب کنید و منابع used و available را بصورت real time و برای دوره انتخابی مانیتورینگ کنید.



نمایش دیدگاه ها (0 دیدگاه)

دیدگاه خود را ثبت کنید:

انتخاب تصویر ویرایش حذف
توجه! حداکثر حجم مجاز برای تصویر 500 کیلوبایت می باشد.


دسته بندی مطالب خوش آموز