تجزیه و تحلیل عملکرد VM در VMware vSphere. قسمت 3: ذخیره سازی

تجزیه و تحلیل عملکرد VM در VMware vSphere. قسمت 3: ذخیره سازی

قسمت 1. درباره CPU
قسمت 2. درباره حافظه

امروز ما معیارهای زیرسیستم دیسک را در vSphere تجزیه و تحلیل خواهیم کرد. مشکل ذخیره سازی رایج ترین دلیل کندی ماشین مجازی است. اگر در مورد CPU و RAM، عیب یابی در سطح Hypervisor به پایان می رسد، اگر مشکلی در دیسک وجود داشته باشد، ممکن است مجبور شوید با شبکه داده و سیستم ذخیره سازی سر و کار داشته باشید.

من این موضوع را با استفاده از مثال دسترسی بلوک به سیستم های ذخیره سازی بحث خواهم کرد، اگرچه برای دسترسی به فایل شمارنده ها تقریباً یکسان هستند.

کمی تئوری

هنگام صحبت در مورد عملکرد زیرسیستم دیسک ماشین های مجازی، مردم معمولاً به سه پارامتر مرتبط با یکدیگر توجه می کنند:

  • تعداد عملیات ورودی/خروجی (عملیات ورودی/خروجی در ثانیه، IOPS)؛
  • توان عملیاتی؛
  • تاخیر در عملیات ورودی/خروجی (Latency).

تعداد IOPS معمولاً برای بارهای کاری تصادفی مهم است: دسترسی به بلوک های دیسک واقع در مکان های مختلف. نمونه ای از چنین بارگیری می تواند پایگاه های داده، برنامه های کاربردی تجاری (ERP، CRM) و غیره باشد.

توان برای بارهای متوالی مهم است: دسترسی به بلوک هایی که یکی پس از دیگری قرار دارند. به عنوان مثال، سرورهای فایل (اما نه همیشه) و سیستم های نظارت تصویری می توانند چنین باری را ایجاد کنند.

توان عملیاتی به تعداد عملیات I/O به شرح زیر مربوط می شود:

توان عملیاتی = IOPS * اندازه بلوک، که در آن اندازه بلوک اندازه بلوک است.

اندازه بلوک یک ویژگی نسبتاً مهم است. نسخه‌های مدرن ESXi به بلوک‌هایی تا 32 کیلوبایت اجازه می‌دهند. اگر بلوک حتی بزرگتر باشد، به چندین تقسیم می شود. همه سیستم های ذخیره سازی نمی توانند با چنین بلوک های بزرگی کار کنند، بنابراین یک پارامتر DiskMaxIOSize در تنظیمات پیشرفته ESXi وجود دارد. با استفاده از آن، می توانید حداکثر اندازه بلوک را که توسط هایپروایزر نادیده گرفته شده کاهش دهید (جزئیات بیشتر اینجا). قبل از تغییر این پارامتر، توصیه می کنم با سازنده سیستم ذخیره سازی مشورت کنید یا حداقل تغییرات را روی یک میز آزمایشگاه آزمایش کنید. 

اندازه بلوک بزرگ می تواند تأثیر مضری بر عملکرد ذخیره سازی داشته باشد. حتی اگر تعداد IOPS و توان عملیاتی نسبتاً کم باشد، تأخیرهای بالایی را می توان با اندازه بلوک بزرگ مشاهده کرد. بنابراین، به این پارامتر توجه کنید.

تاخیر - جالب ترین پارامتر عملکرد. تأخیر I/O برای ماشین مجازی شامل موارد زیر است:

  • تاخیر در داخل هایپروایزر (KAVG، میانگین هسته MilliSec/Read)؛
  • تاخیر ارائه شده توسط شبکه داده و سیستم ذخیره سازی (DAVG، میانگین درایور MilliSec/Command).

کل تأخیر قابل مشاهده در سیستم عامل مهمان (GAVG، میانگین میلی ثانیه/فرمان مهمان) مجموع KAVG و DAVG است.

GAVG و DAVG اندازه گیری می شوند و KAVG محاسبه می شود: GAVG–DAVG.

تجزیه و تحلیل عملکرد VM در VMware vSphere. قسمت 3: ذخیره سازی
منبع

بیایید نگاهی دقیق تر به آن بیندازیم KAVG. در طول عملکرد عادی، KAVG باید به صفر یا حداقل بسیار کمتر از DAVG تمایل داشته باشد. تنها موردی که من می‌دانم که در آن KAVG انتظار می‌رود بالا باشد، محدودیت IOPS روی دیسک VM است. در این حالت، زمانی که شما سعی می کنید از حد مجاز فراتر بروید، KAVG افزایش می یابد.

مهمترین جزء KAVG QAVG است - زمان صف پردازش در داخل هایپروایزر. اجزای باقی مانده از KAVG ناچیز هستند.

صف در درایور آداپتور دیسک و صف به ماه دارای اندازه ثابت است. برای محیط های پر بار، افزایش این اندازه ممکن است مفید باشد. اینجا نحوه افزایش صف ها در درایور آداپتور را توضیح می دهد (در همان زمان صف به ماه افزایش می یابد). این تنظیم زمانی کار می‌کند که فقط یک ماشین مجازی با ماه کار می‌کند، که نادر است. اگر چندین ماشین مجازی روی ماه وجود دارد، باید پارامتر را نیز افزایش دهید Disk.SchedNumReqOutstanding (دستورالعمل ها  اینجا). با افزایش صف به ترتیب QAVG و KAVG را کاهش می دهید.

اما دوباره، ابتدا اسناد فروشنده HBA را بخوانید و تغییرات را روی یک میز آزمایشگاه آزمایش کنید.

اندازه صف به ماه را می توان تحت تأثیر قرار دادن مکانیسم SIOC (Storage I/O Control) قرار داد. با تغییر پویا صف به ماه در سرورها، دسترسی یکنواخت به ماه را از تمام سرورهای خوشه فراهم می کند. یعنی اگر یکی از هاست ها ماشین مجازی را اجرا کند که به عملکرد نامتناسبی نیاز دارد (همسایه پر سر و صدا VM)، SIOC طول صف را تا ماه در این میزبان (DQLEN) کاهش می دهد. جزئیات بیشتر اینجا.

ما KAVG را مرتب کردیم، اکنون کمی در مورد DAVG. همه چیز در اینجا ساده است: DAVG تاخیر معرفی شده توسط محیط خارجی (شبکه داده و سیستم ذخیره سازی) است. هر سیستم ذخیره سازی مدرن و نه چندان مدرن، شمارنده های عملکرد خاص خود را دارد. برای تجزیه و تحلیل مشکلات با DAVG، منطقی است که به آنها نگاه کنید. اگر همه چیز در قسمت ESXi و ذخیره سازی خوب است، شبکه داده را بررسی کنید.

برای جلوگیری از مشکلات عملکرد، خط مشی انتخاب مسیر (PSP) صحیح را برای سیستم ذخیره سازی خود انتخاب کنید. تقریباً تمام سیستم‌های ذخیره‌سازی مدرن از PSP Round-Robin (با یا بدون ALUA، دسترسی به واحد منطقی نامتقارن) پشتیبانی می‌کنند. این خط مشی به شما امکان می دهد از تمام مسیرهای موجود به سیستم ذخیره سازی استفاده کنید. در مورد ALUA، فقط از مسیرهای کنترل کننده ای که ماه را در اختیار دارد استفاده می شود. همه سیستم های ذخیره سازی در ESXi قوانین پیش فرضی ندارند که خط مشی Round-Robin را تنظیم می کند. اگر هیچ قانونی برای سیستم ذخیره سازی شما وجود ندارد، از یک پلاگین از سازنده سیستم ذخیره سازی استفاده کنید، که یک قانون متناظر بر روی همه میزبان ها در کلاستر ایجاد می کند یا خودتان یک قانون ایجاد می کند. جزئیات اینجا

همچنین، برخی از سازندگان سیستم های ذخیره سازی، تغییر تعداد IOPS در هر مسیر را از مقدار استاندارد 1000 به 1 توصیه می کنند. در عمل ما، این امکان را فراهم می کند تا عملکرد بیشتری را از سیستم ذخیره سازی خارج کنیم و زمان مورد نیاز برای شکست را به میزان قابل توجهی کاهش دهیم. در صورت خرابی یا بروز رسانی کنترلر. توصیه های فروشنده را بررسی کنید و در صورت عدم وجود موارد منع مصرف، سعی کنید این پارامتر را تغییر دهید. جزئیات اینجا.

شمارشگرهای عملکرد زیرسیستم دیسک ماشین مجازی پایه

شمارنده های عملکرد زیرسیستم دیسک در vCenter در بخش های Datastore، Disk، Virtual Disk جمع آوری می شوند:

تجزیه و تحلیل عملکرد VM در VMware vSphere. قسمت 3: ذخیره سازی

در بخش دیتاستور معیارهایی برای ذخیره‌سازی دیسک vSphere (دادگاه‌های) وجود دارد که دیسک‌های VM روی آن‌ها قرار دارند. در اینجا شمارنده های استاندارد برای موارد زیر را خواهید یافت:

  • IOPS (میانگین درخواست‌های خواندن/نوشتن در ثانیه)، 
  • توان عملیاتی (نرخ خواندن/نوشتن)، 
  • تأخیر (خواندن/نوشتن/بالاترین تأخیر).

اصولاً همه چیز از نام پیشخوان ها مشخص است. اجازه دهید توجه شما را بار دیگر به این واقعیت جلب کنم که آمار در اینجا برای یک VM خاص (یا دیسک VM) نیست، بلکه آمار کلی برای کل دیتا استور است. به نظر من، نگاه کردن به این آمار در ESXTOP راحت تر است، حداقل بر اساس این واقعیت که حداقل دوره اندازه گیری در آنجا 2 ثانیه است.

در بخش دیسک معیارهایی در دستگاه های بلوکی وجود دارد که توسط VM استفاده می شود. شمارنده‌هایی برای IOPS از نوع جمع‌بندی (تعداد عملیات ورودی/خروجی در طول دوره اندازه‌گیری) و شمارنده‌های متعدد مربوط به دسترسی بلوک (دستورات لغو شده، بازنشانی اتوبوس) وجود دارد. به نظر من، مشاهده این اطلاعات در ESXTOP نیز راحت تر است.

بخش دیسک مجازی - مفیدترین از نقطه نظر یافتن مشکلات عملکرد زیرسیستم دیسک VM. در اینجا می توانید عملکرد هر دیسک مجازی را مشاهده کنید. این اطلاعات است که برای درک اینکه آیا یک ماشین مجازی خاص مشکلی دارد یا خیر لازم است. علاوه بر شمارشگرهای استاندارد برای تعداد عملیات ورودی/خروجی، حجم خواندن/نوشتن و تأخیرها، این بخش شامل شمارنده های مفیدی است که اندازه بلوک را نشان می دهد: اندازه درخواست خواندن/نوشتن.

در تصویر زیر نموداری از عملکرد دیسک VM است که در آن می توانید تعداد IOPS، تاخیر و اندازه بلوک را مشاهده کنید. 

تجزیه و تحلیل عملکرد VM در VMware vSphere. قسمت 3: ذخیره سازی

اگر SIOC فعال باشد، می‌توانید معیارهای عملکرد کل ذخیره‌گاه داده را نیز مشاهده کنید. در اینجا اطلاعات اولیه در مورد تاخیر متوسط ​​و IOPS وجود دارد. به طور پیش فرض، این اطلاعات فقط در زمان واقعی قابل مشاهده است.

تجزیه و تحلیل عملکرد VM در VMware vSphere. قسمت 3: ذخیره سازی

ESXTOP

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

بیایید با اطلاعات مربوط به ماشین های مجازی شروع کنیم. صفحه "Disk VM" با کلید "v" فراخوانی می شود:

تجزیه و تحلیل عملکرد VM در VMware vSphere. قسمت 3: ذخیره سازی

NVDISK تعداد دیسک های VM است. برای مشاهده اطلاعات هر دیسک، "e" را فشار دهید و GID ماشین مجازی مورد نظر را وارد کنید.

معنای پارامترهای باقی مانده در این صفحه از نام آنها مشخص است.

یکی دیگر از صفحه های مفید هنگام عیب یابی، آداپتور دیسک است. با کلید "d" فراخوانی می شود (فیلدهای A,B,C,D,E,G در تصویر زیر انتخاب شده اند):

تجزیه و تحلیل عملکرد VM در VMware vSphere. قسمت 3: ذخیره سازی

NPTH - تعداد مسیرهایی که از این آداپتور به قمرها قابل مشاهده است. برای دریافت اطلاعات برای هر مسیر در آداپتور، "e" را فشار دهید و نام آداپتور را وارد کنید:

تجزیه و تحلیل عملکرد VM در VMware vSphere. قسمت 3: ذخیره سازی

AQLEN - حداکثر اندازه صف روی آداپتور.

همچنین در این صفحه شمارنده های تاخیر وجود دارد که در بالا در مورد آنها صحبت کردم: KAVG/cmd، GAVG/cmd، DAVG/cmd، QAVG/cmd.

صفحه دستگاه دیسک که با فشار دادن کلید "u" فراخوانی می شود، اطلاعاتی را در مورد دستگاه های بلوک جداگانه - ماه ها ارائه می دهد (فیلدهای A، B، F، G، I در تصویر زیر انتخاب شده اند). در اینجا می توانید وضعیت صف قمرها را مشاهده کنید.

تجزیه و تحلیل عملکرد VM در VMware vSphere. قسمت 3: ذخیره سازی

DQLEN - اندازه صف برای یک دستگاه بلوک.
ACTV – تعداد دستورات ورودی/خروجی در هسته ESXi.
QUED - تعداد دستورات ورودی/خروجی در صف.
٪دلار آمریکا – ACTV / DQLEN × 100%.
بار – (ACTV + QUED) / DQLEN.

اگر %USD زیاد است، باید صف را افزایش دهید. هر چه تعداد دستورات در صف بیشتر باشد، QAVG و بر این اساس، KAVG بالاتر است.

همچنین می توانید روی صفحه دستگاه دیسک ببینید که آیا VAAI (vStorage API for Array Integration) در سیستم ذخیره سازی اجرا می شود یا خیر. برای این کار فیلدهای A و O را انتخاب کنید.

مکانیسم VAAI به شما امکان می دهد بخشی از کار را مستقیماً از هایپروایزر به سیستم ذخیره سازی انتقال دهید، به عنوان مثال، صفر کردن، کپی کردن بلوک ها یا مسدود کردن.

تجزیه و تحلیل عملکرد VM در VMware vSphere. قسمت 3: ذخیره سازی

همانطور که در تصویر بالا می بینید، VAAI روی این سیستم ذخیره سازی کار می کند: صفر و ATS اولیه به طور فعال استفاده می شوند.

نکاتی برای بهینه سازی کار با زیرسیستم دیسک در ESXi

  • به اندازه بلوک توجه کنید.
  • اندازه صف بهینه را روی HBA تنظیم کنید.
  • فراموش نکنید که SIOC را در دیتا استورها فعال کنید.
  • یک PSP را مطابق با توصیه های سازنده سیستم ذخیره سازی انتخاب کنید.
  • مطمئن شوید که VAAI کار می کند.

مقالات مفید مرتبط:http://www.yellow-bricks.com/2011/06/23/disk-schednumreqoutstanding-the-story/
http://www.yellow-bricks.com/2009/09/29/whats-that-alua-exactly/
http://www.yellow-bricks.com/2019/03/05/dqlen-changes-what-is-going-on/
https://www.codyhosterman.com/2017/02/understanding-vmware-esxi-queuing-and-the-flasharray/
https://www.codyhosterman.com/2018/03/what-is-the-latency-stat-qavg/
https://kb.vmware.com/s/article/1267
https://kb.vmware.com/s/article/1268
https://kb.vmware.com/s/article/1027901
https://kb.vmware.com/s/article/2069356
https://kb.vmware.com/s/article/2053628
https://kb.vmware.com/s/article/1003469
https://www.vmware.com/content/dam/digitalmarketing/vmware/en/pdf/techpaper/performance/vsphere-esxi-vcenter-server-67-performance-best-practices.pdf

منبع: www.habr.com

اضافه کردن نظر