رضا اردانه
۲۱ اردیبهشت ۱۳۹۷

بهینه سازی محدودیت IOPS در RR

۰ دیدگاه
مقاله آموزشی
امتیاز دهید

زمانیکه از فضاهای ذخیره سازی از نوع iSCSI/FC/FCoE استفاده میکنید ممکن است با تجربه “تاخیر” صرفا در سمت هاست های ESXi خود مواجه شوید و در سمت فضای ذخیره سازی همه چیز به صورت عادی باشد.

یکی از ویژگی های بارز ESXi امکان مدیریت مسیرهای متعددی است که از سمت فضای ذخیره سازی مشاهده میکند. این مدیریت با عنوان Multipathing شناخته می شود و با توجه به نوع الگوریتمی که شما برای سیستم تعیین می کنید، فرآیند مدیریت مسیرها طی می شود. در این بین اگر از الگوریتم Round Robin استفاده نمایید روند مدیریت به این شکل خواهد بود که مقادیری از اطلاعات ابتدا به یک مسیر داده می شود تا در نهایت به سمت فضای ذخیره سازی انتقال پیدا کند. پس از انتقال آن مقادیر، مقادیر مشخص بعدی به مسیر بعدی داده می شود. این روند تا زمان رسیدن به آخرین مسیر طی می شود و در نهایت به سراغ مسیر اول خواهد رفت.

مقادیری که به هر مسیر داده می شود تحت نامی با عنوان “محدودیت” شناخته می شود. این محدودیت از دو شرط زیر پیروی می کند:

  • محدودیت در سطح IOPS که به صورت پیش فرض مقدار 1000 برای آن در نظر گرفته شده است. بدین معنا که انتخاب مسیر جدید زمانی صورت می پذیرد که تعداد درخواست های خروجی از یک مسیر به عدد 1000 برسند.
  • محدودیت در سطح Bytes که به عنوان یک مقدار کمکی برای IOPS در نظر گرفته شده است. زمانیکه حجم مشخصی از اطلاعات از یک مسیر عبور کرد، انتخاب مسیر بعدی در دستور کار قرار می گیرد.

قرار گرفتن درخواست ها یا همان IO ها در صف انتظار مسیرها، باعث بروز رخدادی به نام Latency می شود. این رخداد گاه به دلیل ضعف عملکرد فضای ذخیره سازی در پردازش اطلاعات است و گاه به دلیل عدم توانایی هاست ESXi در مدیریت مسیرها براساس مقادیر پیش فرض خواهد بود. تغییر مقادیر پیش فرض براساس مطالب ارائه شده در Best Practice ها باعث افزایش بهبود عملکرد سیستم خواهد شد. برخی از تولید کنندگان فضاهای ذخیره سازی پیشنهاد میکنند که مقدار پیش فرض 1000 به مقدار 1 تغییر پیدا کند. با این تغییر شرایط تغییر مسیرها سرعت بیشتری گرفته و درخواست های متعدد در صف انتظار باقی نمی مانند. همچنین استفاده کامل از تمام ظرفیت مسیرها با این تغییر میسر خواهد بود.

جهت انجام این تغییر ابتدا به هاست خود اتصال SSH برقرار کنید و دستور زیر را اجرا کنید:

for i in `esxcfg-scsidevs -c |awk ‘{print $1}’ | grep naa.xxxx`; do esxcli storage nmp psp roundrobin deviceconfig set –type=iops –iops=1 –device=$i; done

در این دستور مقدار xxxx بخش ابتدایی مربوط به naa فضای ذخیره سازی شماست.

نکته: جهت حصول اطمینان از تغییر ایجاد شده می توانید از دستور esxcli storage nmp device list استفاده نمایید. خروجی این دستور می بایست چیزی شبیه به متن زیر باشد:

  • Path Selection Policy: VMW_PSP_RR
  • Path Selection Policy Device Config: {policy=iops,iops=1,bytes=10485760,useANO=0;lastPathIndex=1: NumIOsPending=0,numBytesPending=0}
  • Path Selection Policy Device Custom Config:
  • Working Paths: vmhba33:C1:T4:L0, vmhba33:C0:T4:L0

نکته: جهت اعمال تغییر ایجاد شده نیازی به راه اندازی مجدد سرور ESXi وجود ندارد.

امتیاز دهید

دیدگاهتان را بنویسید