رضا اردانه
۰۴ آذر ۱۴۰۰

محدودیت اجرای همزمان Taskها در vCenter

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

اجرای همزمان Taskها در سطح سرویس vCenter دارای محدودیت هایی است که این محدودیت ها به عوامل مختلفی بستگی دارند. در این مقاله میخواهیم این محدودیت ها و عوامل را بررسی کنیم.

سرویس vCenter به صورت کلی تعداد مشخصی Task را به صورت همزمان اجرا می کند اما این تعداد به عوامل متعددی از جمله محدودیت های سطح ESXi، NIC و Datastore دارد. برای اینکه به ازای هر نسخه ارائه شده از محصول vSphere این محدودیت ها را بررسی نمایید، میتوانید به سایت https://configmax.vmware.com مراجعه نمایید.

باید بدانید که داشتن اطلاعات در این خصوص و آگاه شدن نسبت به این محدودیت بسیار حائز اهمیت می باشد و در فرآیندهای متعددی میتواند ملاک تصمیم گیری شما واقع شود، از این رو در ادامه می خواهیم به نحوه رفتار سرویس vCenter در اعمال محدودیت های مرتبط با اجرای همزمان Taskها بپردازیم.
در سطح سرویس vCenter محدودیتی به عنوان Global Limits وجود دارد که بر روی تمام Taskهایی که قرار است به صورت همزمان اجرا شوند اعمال می شود. این محدودیت به شکل زیر است:

  • اجرای حدود 640 فعالیت همزمان و قرارگیری سایر Taskها در صف
  • پشتیبانی از 2000 اتصال همزمان یا Concurrent Sessions شامل تمامی انواع اتصالات مانند اتصال UI، API

اما مواردی که بر روی این محدودیت ها تاثیر مستقیم می گذارند به شرح زیر می باشند:

  • محدودیت در سطح ESXi
  • محدودیت در سطح Datastore
  • محدودیت در سطح Physical NIC

برای آشنایی با این محدودیت ها، ابتدا می بایست بدانید که مفهومی به نام Unit در این محدودیت ها نقش بسیار مهمی را بر عهده دارند. برای شروع به سراغ هاست ESXi می رویم. در هر هاست ESXi برای اجرای همزمان فعالیت ها، تعداد 16 عدد Unit در نظر گرفته شده که در واقع میزان اعتبار هاست برای اجرای فعالیت ها به صورت همزمان است. هر فعالیتی که بر روی هاست ESXi اجرا می شود، مقداری از این Unitها را به خود اختصاص میدهد و در صورتیکه تمام این Unitها به صورت کامل مصرف شوند، سایر Taskها در Queue قرار داده شده و پس از آزادسازی Unitها، جهت اجرا از Queue خارج میشوند.

vSphere_Limitations_1

نکته: با توجه به توضیحاتی که تا به اینجا ارائه شد، می توانید به حساسیت این موضوع پی ببرید که اجرای Taskهای همزمان در سطح یک هاست به عاملی بستگی دارد که به صورت محدود در اختیار شما قرار داده شده است. لذا در صورتیکه در محیط خود با شرایط بحرانی روبرو شده اید، فرآیندهای Maintenance خود را با علم به این موضوع آغاز نمایید. در ادامه چندین مثال ارائه شده است.

همانطور که بیان شد، هر Task برای اجرا شدن نیازمند تعداد مشخصی Unit می باشد، برای نمونه به موارد زیر اشاره میکنیم:

  • اجرای فعالیت از نوع Storage vMotion نیازمند تعداد 8 عدد Unit به ازای هر هاست در مبدا و مقصد می باشد. اگر این فعالیت بر روی یک هاست انجام می شود، یعنی بخش Compute ماشین مجازی جابجا نمی شود، مبدا و مقصد یک هاست محسوب شده و تعداد 16 عدد Unit مورد نیاز می باشد.
  • فعالیت Linked Clone نیازمند یک عدد Unit می باشد، اما شرط آن این است که یک Snapshot از قبل برای اجرای این فرآیند تهیه شده باشد، در غیر اینصورت ایجاد یک Snapshot میتواند این فرآیند را طولانی تر نماید.
  • ایجاد Clone از یک ماشین مجازی روشن نیازمند 2 عدد Unit در سطح هاست می باشد.
  • فعالیت از نوع vMotion نیازمند 2 عدد Unit به ازای هر هاست می باشد.

برای درک بهتر این موارد، یک سناریو را با هم بررسی میکنیم. در این سناریو فرض بر این است که یک ماشین مجازی، از هاست A به هاست B منتقل می شود و همزمان یک ماشین مجازی دیگر از هاست C به هاست B منتقل می شود. در اینصورت برای هاست A که یک فعالیت بر روی آن در حال اجراست، 2 عدد Unit از 16 عدد موجود کسر میشود، برای هاست C نیز همین اتفاق رخ میدهد، اما برای هاست B که به صورت همزمان دو فعالیت از نوع vMotion بر روی آن در حال اجراست، 4 عدد Unit از 16 عدد آن کسر خواهد شد.

در سناریو دیگر، در صورتیکه قصد تهیه Clone از یک ماشین مجازی روشن را داشته باشیم، به ازای مبدا 2 عدد Unit و به ازای مقصد نیز 2 عدد Unit برای این فعالیت تخصیص داده می شود. در صورتیکه مبدا و مقصد یک هاست باشد، تعداد 4 عدد Unit از هاست کسر می شود.

vSphere_Limitations_2

محدودیت های موجود در سطح Datastore

همانطور که هر هاست ESXi دارای محدودیت 16 عدد Unit برای اجرای فعالیت های همزمان دارد، هر Datastore نیز این محدودیت را با تعداد 128 عدد Unit تجربه می کند. از این رو هر فعالیتی که بر روی یک Datastore انجام می شود، تعدادی از این Unitها را به خود اختصاص میدهد. برخی از این فعالیت ها به شرح زیر است:

  • انجام فرآیند vMotion بر روی یک ماشین مجازی، تعداد یک عدد Unit در سطح Datastore را به خود اختصاص می دهد.
  • انجام فرآیند Storage vMotion تعداد 16 عدد Unit به ازای هر Datastore را به خود اختصاص میدهد.

محدودیت های موجود در سطح PNIC

در سطح کارت های فیزیکی شبکه نیز محدودیت هایی وجود دارد که به شرح زیر می باشند:

  • هر پورت 1 گیگابیت بر ثانیه دارای 4 عدد Unit می باشد
  • هر پورت 10 گیگابیت بر ثانیه دارای 8 عدد Unit می باشد
  • هر پورت 25 گیگابیت بر ثانیه دارای 8 عدد Unit می باشد

با توجه به این موارد، هر پورت شبکه 1 گیگابیت بر ثانیه میتواند 4 فعالیت همزمان از نوع vMotion را مدیریت نماید و یک کارت شبکه 10 گیگابیت بر ثانیه، 8 فعالیت از نوع vMotion را به صورت همزمان مدیریت می نماید.

نکته: با توجه به محدودیت های موجود در مدیریت فعالیت های همزمان در سطح PNIC، پیشنهاد می شود که کارت شبکه مربوط به مدیریت ترافیک vMotion از سایر کارت شبکه ها به صورت فیزیکی جدا شود.

نتیجه گیری
زمانیکه میخواهید طراحی ابتدایی محیط مجازی خود را انجام دهید، یا فرآیندهای مدیریت بحران خود را بهبود بخشید، موضوع مربوط به محدودیت های مختلف در سطوح مختلف را بررسی نمایید. در این بین، محدودیت های اجرای همزمان فعالیت ها نیز بسیار حائز اهمیت می باشند که براساس دسته بندی ارائه شده در بالا، به شرح زیر می باشند:

  • محدودیت های سطح vCenter
  • محدودیت های سطح ESXi
  • محدودیت های سطح Datastore
  • محدودیت های سطح NIC

در صورتیکه فعالیت های متعددی را در سطح vCenter اجرا میکنید، و برخی از این فعالیت ها در حالت معلق باقیمانده اند، در واقع در Queue مدیریت فعالیت های سرویس vCenter قرار داده شده اند که جهت تحلیل آنها می بایست به این محدودیت های اعلام شده توجه نمایید.

امتیاز دهید

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