نوشته‌ها

توصیه های ESXI در خصوص SAN Multipathing

توصیه های ESXI در خصوص SAN Multipathing برای دستیابی به بالاترین میزان عملکرد

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

توصیه های ESXI

  • برای اکثر آرایه های ذخیره سازی فعال / غیرفعال، ESXi به طور پیش فرض از پالیسی بیشترین مسیر اخیرا به کار رفته (MRU) استفاده می کند. ما توصیه نمی کنیم که از سیاست مسیر ثابت برای آرایه های ذخیره سازی فعال / غیرفعال استفاده کنید، به این دلیل که این می تواند موجب تعویض مسیر مکرر و سریع شود و می تواند در دسترسی به LUN کندی ایجاد کند. برای عملکرد مطلوب با آرایه هایی که ESXi به طور پیش فرض به MRU می پردازد، شما ممکن است پالیسی Round Robin را در نظر بگیرید. برای برخی از آرایه های active/passive که ALUA را پشتیبانی می کند، ESXI می تواند از پالیسی مسیر ثابت استفاده کند. اما توصیه می شود از آن زمانی استفاده کنید که توسط vendor شما پشتیبانی شود. در اکثر موارد پالیسی Round Robin برای آرایه های active/passive انتخاب بهتر و امن تری است.
  • برای اکثر آرایه های ذخیره سازی فعال/فعال، ESXI به طور پیش فرض از پالیسی مسیر ثابت استفاده می کند. زمانی که از این پالیسی استفاده می شود شما می توانید استفاده از پهنای باند خود را با تعیین مسیر های مورد نظر به هر LUN از میان کنترلرهای مختلف ذخیره ساز به حداکثر برسانید. برای دستیابی به عملکرد مطلوب با این آرایه ها شما ممکن است از پالیسی Round Robin استفاده کنید.
  • ESXI می تواند از پالیسی Round Robin که می تواند performance ذخیره سازی را در برخی محیط ها بهبود دهد، استفاده کند. پالیسی Round Robin، Load Balancing را میان تمامی مسیر های فعال فراهم می کند و تعداد درخواست های I/O ثابت یا قابل تنظیمی را به هر مسیر active می فرستد. همه ی آرایه های ذخیره سازی Round Robin را پشتیبانی تمی کنند، استفاده از پالیسی هایی که توسط vendor ذخیره ساز پشتیبانی نمی شود می تواند مشکلاتی را در ارتباط با دسترسی به LUN به وجود آورد. توصیه می شود داکیومنت های مربوط به vendor حتما بررسی شود و در صورت پشتیبانی از Round Robin و توصیه به استفاده از آن توسط Vendor، از آن بهره ببرید.
  • ESXI همچنین از third-party path selection plugins(PSPs) نیز پشتیبانی می کند. این ممکن است بهترین Performance را برای یک آرایه ی خاص با بهره برداری از یک ویژگی خاص و دانش طراحی آن فراهم کند.
  • اگر ذخیره ساز شما قابلیت ALUA را پشتیبانی می کند، فعال کردن این ویژگی در برخی از محیط ها می تواند موجب بهبود performance گردد. ALUA که به طور خودکار توسط ESXI شناسایی می شود، اجازه می دهد که خود آرایه ی ذخیره سازی مسیری را به عنوان مسیر فعال بهینه تعیین کند. زمانی که ALUA با پالیسی Round Robin ترکیب می شود، ESXI به طور پیش فرض درخواست های I/O را از میان این مسیرهای active بهینه عبور می دهد.

توصیه های عمومی ذخیره سازی ESXI

توصیه های عمومی ذخیره سازی ESXI

تعداد LUN ها در یک آرایه ی ذخیره سازی و راهی که ماشین های مجازی در سراسر این LUN ها توزیع شده اند می تواند بر روی performance تاثیر گذارد. فراهم کردن LUN های بیشتر، با ماشین های مجازی کمتر بر روی هر یک، می تواند سرورهای ESXi را قادر سازد تا به طور همزمان درخواست های ورودی / خروجی بیشتری را به آرایه ذخیره سازی ارائه دهند. این قابلیت بالقوه ای برای بهبود عملکرد، با اطمینان استفاده کامل از تمام منابع آرایه و ارائه فرصت های بیشتری برای بهینه سازی I/O به آرایه ذخیره سازی است. از سوی دیگر ایجاد کردن LUN های خیلی زیاد، مخصوصا زمانی که سرورهای ESXI زیادی به یک ذخیره ساز تنها متصل شده اند، می تواند موجب شود هاست های ESXI به طور همزمان درخواست های I/O بسیار زیادی را که منجر به پر شدن صف آرایه ذخیره ساز و ارسال خطاهای QFULL/BUSY از سوی آرایه ذخیره سازی می شود. این مسئله می تواند موجب کاهش performance و نیاز به تلاش مجدد برای درخواست های reject شده شود.

آمار تاخیر در I/O را می توان با استفاده از esxtop و یا resxtor که گزارش زمان تاخیر دستگاه، زمان صرف شده در kernel و تاخیر دیده شده توسط سیستم عامل guest را می دهد، مانیتور کرد.

اطمینان حاصل کنید که تأخیر میانگین برای دستگاه های ذخیره سازی بسیار زیاد نیست. این تأخیر را می توان با مشاهده در esxtop و با جستجوی متریک GAVG / cmd. دید. مقدار معقول مناسب برای این معیار به زیر سیستم ذخیره سازی شما بستگی دارد. به طور پیش فرض storsge I/O control setting ، 30 میلی ثانیه است اما اگر شما storage سریع تری دارید مثلا SSD، می توانید این مقدار را کاهش دهید.

شما می توانید حداکثر تعداد درخواست های دیسک را در هر VMFS Volume تنظیم کنید، که می تواند کمک کند پهنای باند ماشین های مجازی که از آن Volume  استفاده می کنند را برابر کنید.

اگر شما اغلب خطاهای QFULL / BUSY را مشاهده می کنید، ممکن است enable و تنظیم کردن عمق صف موجب بهبود عملکرد ذخیره سازی شود. این ویژگی می تواند به طور قابل توجهی تعداد دستورات برگشت داده شده از آرایه با خطای QFULL / BUSY را کاهش دهد. اگر هر سیستم دسترسی به یک LUN خاص یا پورت آرایه ذخیره سازی با queue depth throttling فعال شده دارند، تمام سیستم ها دسترسی به این LUN یا پورت آرایه ذخیره سازی باید از الگوریتم عمق صف استفاده کنند.

خطای Heap globalCartel-1 already at its maximum size.Cannot expand

خطای Heap globalCartel-1 already at its maximum size.Cannot expand

هر یک از علایم زیر ناشی از خطای بیان شده می باشد و دلیل یکسانی دارند:

  • عدم توانایی اجرا vMotion (چه برای انتقال یک ماشین از هاست مورد نظر و چه برای انتقال به هاست ESXi).
  • عدم توانایی سرویس ها (چه برای سرویس هایی که از هاست مورد نظر اجرا میشوند و چه برای سرویس هایی که بر روی این هاست اجرا میشوند).
  • Fail شدن هاست ESXi هنگام Enable کردن سرویس ها و یا vMotion .
  •  هنگامی که اجرای  Task ها در Vsphere Client  به Error زیر ختم می شود :

A general system error occurred: Command /bin/sh failed

  • وقتی به کنسول ماشین مجازی متصل میشوید،و Error زیر را می بینید :

Unable to contact the MKS: Could not connect to pipe\\.\pipe\vmware-authdpipe

و

.Unable to connect to the MKS: connection terminated by server

  • وقتی ماشین مجازی را Power On می کنید، خطای زیر را دریافت می کنید :

VMK_NO_MEMORY

  • هنگام اتصال به ESXi shell خطای زیر را دریافت می نمایید :

can’t fork

  • هنگامی که در DCUI کلیدهای Alt+F12 را بزنید:

WARNING: Heap: 2677: Heap globalCartel-1 already at its maximum size. Cannot expand

  • و در log file مربوط /var/log/vmkwarning خطاهای زیر را مشاهده میکنید:

T

(تاریخ و زمان ذکر شده در بالا نسبت به شرایط متغییر است.)

  • در هنگام اجرای هر دستوری در ESXi هم با خطای زیر مواجه خواهید شد:

-sh: can’t set tty process group (Operation not permitted).

1.تصویر مربوط به خطا در هنگام روشن شدن ماشین مجازی

دلایل error  های بالا:

این خطاها در هاست های ESXi ای که بر روی سخت افزار HP با ورژن های AMS زیر قرار دارند رخ میدهد:

  • hp-ams 500.9.6.0-12.434156
  • hp-ams-550.9.6.0-12.1198610
  • hp-ams 500.10.0.0-18.434156
  • hp-ams-550.10.0.0-18.1198610

راه کار برای رفع این خطا:

این مشکل رایجی است که ESXi 5.x را تحت تاثیر قرار داده است. برای رفع این مشکل یکی از این روش ها را امتحان کنید. Upgrade کردن ESXi و در صورت عدم حل مشکل، به صورت دستی ورژن AMS را Upgrade کنید.

Upgrade نمودن ESXi

  • Upgrade کردن vSphere ESXi 5.5 Update 3 که در این لینک موجود است.

Upgrade به ورژن 19.0.1 و بالاتر

 

–  توجه: لینک های ارائه شده در تاریخ 12 August, 2015 معتبر بودند.

نصب درایورها

روش دیگر نصب درایور ها است که اطلاعات در مورد نصب درایور های و بروز رسانی Frimware سرورهای HP در این لینک موجود است.

حذف AMS Package

اگر هم نمیخواهید که هیچ یک را Upgrade نمایید، میتوانید Package را در تمامی ESXi هاست هایی که با ورژن AMS گفته شده هستند، پاک کنید.

توجه: در برخی از موارد Command هایی که بر روی هاست ESXi   اجرا میشوند با خطای cant’t fork رو به رو میشوند که در این صورت باید ماشین های مجازی بر روی این هاست را خاموش کرده و هاست را یکبار Reboot کرد.

ابتدا دستور زیر را برای متوجه شدن ورژن AMS بزنید:

esxcli software vib list | grep ams

  • سپس برای حذف کردن Package بر روی تمامی هاست هایی که این ورژن از AMS را دارا هستند:
  • به هاست خود توسط SSH متصل شوید. اطلاعات بیشتر در ( روش فعال کردن SSH در ESXi )
  • دستور زیر را برای Stop کردن سرویس هاس HP بزنید.

/etc/init.d/hp-ams.sh stop

  • دستور زیر را برای حذف VIB بزنید

esxcli software vib remove -n hp-ams

  • هاست را Restart کنید.

با اجرا هر یک از روش های فوق،خطا باید رفع شود و دیگر نباید با این خطا مواجه شوید.

روش نصب Patchها در Esxi

روش نصب Patchها در Esxi

  • به عنوان اولین مرحله پیشنهاد می کنم در صورت امکان هاست خود را در حالت Maintenance mode قرار دهید.

  • SSH هاست خود را فعال نمایید. در صورت نیاز به راهنمایی به این پست مراجعه نمایید.

  •  Patch های دانلود شده را به Datastore هاست منتقل نمایید.

  • توسط یک نرم افزار SSH Clinet نظیر Putty به هاست خود متصل شوید.
  •  دستور زیر را تایپ نمایید.

esxcli software vib update -d /vmfs/volumes/<your_datastore>/< File Name >.zip

  • در دستور فوق استفاده از سوئیچ Update باعث حفظ تمامی درایورهای سخت افزاری موجود و Vib فایلهای پیشین خواهد شد.
  • پس از چند دقیقه بروز رسانی به اتمام خواهد رسید. در صورت نیاز می توانید با دستور Reboot در محیط Command ، هاست را ریبوت نمایید.
  • از طریق زیر می توانید ویرایش نسخه ESXi خود را ببینید.

  • و یا با دستور زیر در محیط Command ویرایش Esxi را بیابید.

 esxcli system version get

روش فعال کردن SSH در ESXi

روش فعال کردن SSH در ESXi

برای این منظور دو روش وجود دارد.

روش اول : استفاده از DCUI

  • بروی صفحه لاگین هاست خود کلید F2 را بفشارید.

  • نام کاربری و پسورد خود را وارد نمایید.

  • پس از لاگین، گزینه Troubleshooting Options را انتخاب نمایید.

  • با انتخاب گزینه Enable SSH، می توانید SSH هاست خود را فعال نمایید.

  روش دوم : استفاده از vSphere Client

  • توسط vSphere Client به هاست مورد نظر و یا Vcenter متصل شوید و پس از انتخاب هاست خود،  Tab مربوط به Configuration را انتخاب نمایید.

  • در قسمت Configuration گزینه Security Profile را انتخاب نمایید.

  • گزینه Properties را انتخاب نموده و از پنجره جدید، SSH را انتخاب نمایید و سرویس مربوط به SSH را Start نمایید.

  • اگر در دسترسی به SSH خود مشکلی داشتید، بخش Firewall را بررسی نمایید.