در این مقاله قصد دارم به شما قابلیت جدیدی که در مجموعه VSphere 6.0 اضافه شده است و شما آن را به عنوان VMCP می شناسید را معرفی و تجزیه و تحلیل کنیم، این قابلیت به عنوان یک مکانیزم جدید شناسایی مشکلات مربوط به عدم دسترسی به Host ها در سرویس High Availability معرفی شده است تا نقاط ضعفی که در مکانیزم های شناسایی خطا در HA وجود داشت را برطرف کند. قابلیت VMCP به VSphere این قابلیت را می دهد که بتواند مشکلات مربوط به در دسترس نبودن Storage ها را تشخیص دهد، این قابلیت می تواند بصورت ویژه فرآیند های Permanent Device Loss یا PDL و All Paths Down یا APD که از مفاهیم مهم در سرویس HA هستند را با هم مرور کنیم.
PDL یا Permanent Device Loss چیست ؟
Permanent به معنی ثابت و پایدار، Device به معنی دستگاه و Loss هم یعنی از بین رفتن، این ترکیب در واقع یک Event یا یک رخداد در سرویس HA محسوب می شود که ما بصورت خلاصه آنرا PDL می نامیم. زمانی PDL اتفاق می افتد که Storage Array ما کدی از سرویس دریافت می کند که به معنی در دسترس نبود دستگاه مورد نظر است. ساده ترین مثالی که من می توانم برای شما بزنم در مواقعی است که یک LUN خراب می شود و در حالت Failed قرار می گیرد، یا در مثالی دیگر مدیر شبکه ممکن است به اشتباه یا تصادفی از تنظیمات Zone شما WWN را حذف کند. در حالت PDL دستگاه Storage Array ما همچنان می تواند با VSphere ارتباط برقرار کند یا بهتر بگوییم با VSphere Host ها ارتباط برقرار کند اما برای دستگاه پیام های هشدار یا SCSI Sense هایی ارسال می کند و آن را از وضعیت خودش آگاه می کند. زمانیکه وضعیت PDL شناسایی شد Host های موجود و مرتبط با Storage Array ما دیگر دستورات I/O برای Storage ما ارسال نخواهند کرد و Host نیز متوجه می شود که دستگاه مورد نظر در دسترس نمی باشد و نیازی به ارسال کردن اطلاعات I/O به این دستگاه دیگر نمی باشد.
APD یا All Path Down چیست ؟
اگر VSphere Host های ما نتوانند با دستگاه Storage ما ارتباط برقرار کنند و هیچگونه کد PDL ای نیز به از طریق SCSI Code به سمت Host ما ارسال نشود از نظر سیستم دستگاه در حالت APD می باشد. این حالت کاملا با حالت PDL متفاوت است زیرا در حالت PDL دستگاه Host ما از وضعیت Storage Array ما با استفاده از کدهای SCSI Code آگاه می شود اما در حالت APD سیستم Host ما هیچ اطلاعاتی در خصوص وضعیت Storage ما نخواهد داشت و درکی از این مورد ندارد که این اتفاق موقتی است یا بصورت دائمی ارتباط قطع شده است. دستگاه ممکن است به مدار برگردد یا هرگز در مدار قرار نگیرد. در زمانیکه حالت APD اتفاق می افتد سیستم Host ما همچنان دستورات I/O خودش را به سمت Storage Device ما ارسال می کند و اینکار تا زمانیکه مهلت زمانی به نام APD Timeout به دست نیاید ادامه پیدا می کند. زمانیکه APD Timeout فرا رسید Host ما دیگر دستورات I/O مربوط به Virtual Machine ها را سمت Storage ارسال نمی کند اما یک نوع I/O خاص فقط برای شناسایی بازگشت Storage همچنان برای Storage ارسال می کند که به هیچ عنوان شامل ترافیک ماشین های مجازی نمی باشد. این ترافیک در واقع بیشتر مربوط به Mount کردن NFS Volume هایی است که بر روی Storage مورد نظر ایجاد شده اند. در اینجاست که ترافیک مربوط به ماشین های مجازی به سمت Storage بصورت کامل قطع خواهند شد. بصورت پیشفرض زمان APD Timeout بصورت 140 ثانیه در نظر گرفته شده است اما شما می توانید با استفاده از پارامتر Misc.APDTimeout در تنظیمات Advanced Settings هر Host این مقدار را تغییر بدهید.
VMCP یا VM Component Protection چیست؟
در حال حاضر قابلیت VSphere HA امکان شناسایی PDL و APD و اعمال برخورد مناسب با آنها را در صورت پیکربندی مناسب را دارد. یعنی به زبان ساده می تواند این اتفاق ها را شناسایی کند و برخورد متناسب با آنها را انجام دهد. اولین گامی که شما باید در ساختار HA انجام دهید این است که قابلیت HA را به همراه VMCP فعال کنید. فعال کردن VMCP بر روی VSphere به این معنی است که شما می خواهید با استفاده از HA Agent های خودتان ماشین های مجازی را در برابر PDL و APD محافظت کنید. فعال کردن VMCP بر روی VSPhere به سادگی تیک زدن چک باکسی است که به همین نام در صفحه مربوطه مشاهده می کنید و هیچ پیچیدگی خاصی ندارد.
حال می خواهیم به شما نحوه پیکربندی تنظیمات مربوط به VMCP در HA را آموزش دهیم که البته بیشتر جنبه فنی و تئوری دارد، برای فعال کردن HA و VMCP و تنظیمات مربوطه شما دوستان شما می توانید براحتی وارد مسیر زیر در VCenter شوید و VMCP را مطابق شکل فعال کنید:
Cluster Settings > vSphere HA
Host Hardware Monitoring
VM Component Protection
Protect Against Storage Connectivity Loss
بعد از فعال کردن VMCP و HA قدم بعدی نحوه تنظیمات مربوط به VSphere برای اعمال برخورد مناسب با PDL و APD است. هر کدام از تنظیماتی که در تصویر مشاهده می کنید بصورت مجزا قابل پیاده سازی هستند. شما می توانید موارد زیر را به سادگی با باز کردن زیرمجموعه های قسمت Failure conditions باز و مشاهده کنید در واقع در همان قسمتی که VMCP را فعال می کنید در ادامه موارد زیر قرار دارند. کافیست بر روی قسمت VM Response کلیک کنید.
Response for Datastore with Permanent Device Loss (PDL):
سه Action یا کار وجود دارد که می توان در مقابل یک رخداد PDL انجام داد، این سه کار بسیار ساده است زیرا فرآیند PDL یک فرآیند مشخص و معلوم است:
Disabled: هیچکاری برای VM هایی که وجود دارند انجام نمی شود
Issue Events: هیچکاری برای VM هایی که تحت تاثیر قرار گرفته اند انجام نمی شود اما به مدیر در خصوص رخداد PDL اطلاع رسانی خواهد شد.
Power off and restart VMs: تمامی VM هایی که در مجموعه HA قرار دارند از مدار خارج می شوند و بر روی Host هایی که می توانند با Storage ارتباط برقرار کنند مجددا راه اندازی می شوند.
Response for Datastore with All Paths Down (APD):
در خصوص استفاده از فرآیند APD یک مقدار Option های بیشتری وجود دارد و دلیل آن هم کاملا مشخص است همان طور که عنوان کردیم که فرآیند APD یک فرآیند ناشناخته است یعنی درکی از عدم دسترسی وجود ندارد، مشخص نیست که اتفاق بصورت دائمی رخ داده است یا بصورت مقطعی این مشکل به وجود آمده است:
Disabled: هیچکاری برای VM هایی که وجود دارند انجام نمی شود
Issue Events: هیچکاری برای VM هایی که در مجموعه HA قرار دارند انجام نمی شود اما به مدیر در خصوص رخداد APD اطلاع رسانی خواهد شد.
(Power off and restart (conservative: دقت کنید که vSphere HA تا زمانیکه مطمئن نشود Host دیگری در مجموعه وجود دارد که بتواند VM های مورد نظر را مجددا راه اندازی کند اقدام به خاموش کردن و انتقال ماشین های مجازی نخواهد کرد. زمانیکه Host ای که رخداد APD را گزارش کرده است با HA Master ارتباط برقرار می کند در خصوص میزان فضای مورد نیاز برای راه اندازی مجدد VM ها به HA Master توضیح می دهد. اگر HA Master تشخیص بدهد که Host دیگری وجود دارد که هم فضا و هم منابع مورد نیاز را دارا می باشد بلافاصله VM های مشکل دار را از مدار خارج کرده و بر روی Host سالم راه اندازی مجدد می کند. اگر Host ای که APD را تجربه کرده است نتواند با vSphere HA Master ارتباط بگیرد هیچکاری انجام نخواهد شد.
(Power off and restart VMs (Aggressive: در این حالت vSphere HA ماشین هایی که تحت تاثیر قرار گرفته اند را حتی در صورتیکه Host مناسبی برای راه اندازی مجدد آنها وجود نداشته باشد از مدار خارج می کند. Host ای که بر روی آن APD گزارش شده است تلاش می کند که با HA Master بصورت مداوم ارتباط برقرار کند و اینکار برای شناسایی منابع مورد نیاز برای راه اندازی مجدد VM ها انجام می شود. اگر HA Master هم در دسترس نباشد به هیچ عنوان نمی تواند وضعیت منابع را شناسایی کند. در این سناریو Host بصورت کاملا ریسکی همه VM ها را از مدار خارج می کند و احتمال این را می دهد که شاید Host سالم دیگری در مدار وجود دارد که بتواند VM ها را راه اندازی مجدد کند. به هر حال با استفاده از این گزینه اگر منابع لازم هیچوقت در اختیار نباشد HA نمی تواند همه VM هایی که تحت تاثیر قرار گرفته اند را مجددا راه اندازی کند. این اتفاق در مواردی که در شبکه مشکل ارتباطی بین Host و HA Master وجود دارد اتفاق می افتد.
Delay for VM failover for APD:
زمانیکه APD timeout به حد خودش رسید که پیشفرض 140 ثانیه می باشد، VCMP قبل از اینکه کاری بکند مدت زمانی را منتظر می ماند و به فرآیند عملیاتی خودش یک تاخیر اضافه می کند. بصورت پیشفرض این Waiting time یا زمان تاخیر 3 دقیقه است، به زبان دیگر VCMP قبل از اینکه شروع به راه اندازی مجدد VM ها کند 5 دقیقه و 20 ثانیه صبر می کند. به مجموعه APD timeout و Delay ای که انجام می شود در اصطلاح VCMP Timeout گفته می شود.
Response for APD recovery after APD timeout:
این پیکربندی به VSphere HA می گوید که یک کار خاص را در صورتیکه یک APD پاک شود بعد از گذشتن مدت زمان APD Timeout انجام دهد، اما قبل از زمانی است که Delay مربوطه به اتمام برسد، زمانیکه ممکن است در این میان سرویس شما به حالت فعال در بیاید و دیگر نیازی به انجام HA نباشید. این تنظیم در دو حالت Disabled که پیشفرض است و کاری انجام نمی دهد و حالت Reset VMs که بصورت Hard Reset همه VM های آن Host را ریست می کند انجام می شود.
نویسنده: محمد نصیری