مقدمه

قابلیت در دسترس بودن بالا یا همان High Availability که به آن HA هم گفته می شود، از ویژگی های مهم مجازی سازی است. با استفاده از HA می ‌توان به طرز چشمگیری در دسترس بودن ماشین های مجازی و در پی آن در دسترس بودن سرویس ‌ها را بالا برد. در کنار آنvCenter Server مهم ترین و اصلی ترین جزء در محیط VSphere بوده و مدیریت و هسته اصلی بسیاری از سرویس ها بر عهده vCenter Server است. بسیاری از برنامه های third-party نیز جهت پیاده سازی نیاز به این جزء خواهند داشت. ماشین vCenter Server Appliance بنا به هر دلیلی ممکن است دچار مشکل شده و از دسترس خارج شود. در این حالت ما سعی می کنیم به هر نحوی که ممکن است مشکل را برطرف کنیم و سرویس vCenter را هر طور شده راه اندازی کنیم. مشکل بزرگ تر این است که احتمالا سرویس ها و برنامه های متفاوت دیگری که با وابستگی به vCenter کار میکنند در صورت مشکل vCenter قابل استفاده نخواهند بود.
اما راهی برای بالا بودن حداکثری vCenter در شرایط مختلف وجود دارد و برای آن، لازم است که با vCenter Server High Availability بیشتر آشنا شویم .در این مقاله قصد داریم درباره نحوه پیاده‌سازی vCenter High Availability صحبت کنیم.

High Availability چیست؟

خب در ابتدا می خواهیم ببینیم High Availability دقیقا چیست. قابلیت High Availability یا HA می ‌تواند در مقابل انواع خرابی یا Failure ها از ماشین های مجازی تا حدود بسیار زیادی محافظت کند. نمونه هایی از این خرابی ها شامل موارد زیر است:

  • از دست رفتن یک یا چند سرور فیزیکی که در حال حاضر میزبان ماشین های مجازی هستند.
  • کرش کردن سیستم عامل یک ماشین مجازی
  • کرش کردن یا خرابی یک سرویس خاص مربوط به یک اپلیکیشن خاص
  • ایجاد اشکالات در سمت ذخیره ساز (Storage)
  • خرابی سخت افزاری بخشی از قطعات یک سرور فیزیکی که میزبان ماشین های مجازی است

همانطور که می بینید، استفاده از HA می ‌تواند به طرز چشم‌ گیری، ضامن بالا بودن یا در دسترس بودن سرویس های ما باشد. استفاده از این قابلیت مشروط به داشتن چند پیش نیاز است که یکی از آن ها vCenter است و بقیه موارد زیر هستند:

  • Shared Storage between Hosts for some type of failures
  • Minimum of 2 Hosts
  • Cluster
  • Required license

با توجه به توضیحاتی که در ابتدا داده شد، راه اندازی vCenter High Availability  و یا به اختصار VCHA برای محیط هایی که وابستگی زیادی به vCenter دارند ، یک امر ضروری محسوب می شود.

نحوه پیاده‌سازی vCenter High Availability

نحوه پیاده‌سازی vCenter High Availability کلاستری به همراه سه نود است که هر نود یک نمونه از VCSA  است. این سه نود شامل Witness nide، Active node و Passive node است. در ادامه مقاله توضیحات مربوط به هر یک از این نودها داده شده است. قرار گرفتن هر یک از این نودها در هاست های متفاوت سبب می شود که در هنگام از دسترس خارج شدن یک هاست، VCSA  ما بالا بوده و با مشکلی مواجه نشود و سرویس دهی ادامه پیدا کند.  پس اگر failure  بر روی vCenter Server شناسایی شود، VCHA  بلافاصله fails over بر روی نود passive انجام داده و این نود نقش active به خودش میگیرد. در این پروسه هیچگونه دیتایی از بین نخواهد رفت یا به اصطلاح گفته می شود که RPO(Recovery Point Objectiv)  برابر ۰ است . راه اندازی VCHA تنها در vCenter Server Appliance و از نسخه ۶٫۵ به بعد آن امکان پذیر است. پس انتظار نداشته باشید که بر روی نسخه vCenter Server ویندوزی بشود این عملیات را پیاده سازی کرد .
برای پیاده سازی VCHA بین هاست هایی که نودهای مختلف (active , passive , witness) را دارد، باید یک شبکه مجزا طراحی کنیم. پس یک شبکه private بین سه عدد نودی که قبلا اشاره کردیم باید ایجاد کنیم. ترافیک و ارتباطات مربوط به VCHA درون این شبکه private بین نودها جا به جا می شود. پس ارتباطات این سه نود به واسطه این private network صورت گرفته و نکته ای که باید به آن توجه کنیم مجزا بودن subnet  این نتورک از بقیه شبکه هایی است که VCSA با آن ها کار میکند، مخصوصا مجزا بودن این شبکه از رنج شبکه management باید مورد توجه قرار بگیرد. برای اینکه بتوانیم یک شبکه کاملا مجزا برای VCHA طراحی کنیم، از هر نود باید یک کارت شبکه(virtual NIC)  به صورت مجزا برای این عملیات اختصاص بدهیم و latency شبکه بین نودها از نظر استاندارد باید زیر ۱۰ میلی ثانیه باشد .نکته دیگه قبل از پیاده سازی فعال بودن SSH بر روی VCSA است و بعد از پیاده سازی می توانیم SSH را غیر فعال کنیم .

ادامه نحوه پیاده‌ سازی vCenter High Availability

خب در ادامه نحوه پیاده‌ سازی vCenter High Availability، جهت راه اندازی VCHA می توانیم از حالت Basic یا Advanced استفاده کنیم. از نظر کارایی پیاده سازی در این دو حالت تفاوتی با هم ندارد. در حالت basic ساخته شدن نودهای passive و witness  به صورت اتوماتیک در مراحل پیاده سازی صورت میگیرد. در صورتی که در حالت advanced  خود ما به صورت دستی وظیفه clone گرفتن از نود اکتیو را داریم تا بتوانیم نودهای passive  و witness را ایجاد کنیم. پیاده سازی به صورت advanced یا basic کاملا بستگی به شرایط و محیط دارد، در این سناریو ما از حالت basic استفاده خواهیم کرد. قبل از شروع راه اندازی VCHA  باید پیش نیازهای مربوط به network را آماده کنیم. باید درون هر یک از esxi های مورد نظر، یک port group مجزا برای private networh و یا همان VCHA network ایجاد کنیم. در این سناریو ما ۴ عدد هاست در یک کلاستر داریم و با توجه به اینکه از هر هاست یک کارت شبکه آزاد داریم، پس یک vSwitch جدید با port group مورد نظر ایجاد می کنیم و کارت شبکه آزاد را به vSwitch  ایجاد شده اضافه می کنیم و مشابه این تنظیمات را بر روی بقیه هاست های خودمان هم ایجاد می کنیم.

شما می توانید port group درون vSwitch هایی که از قبل دارید ایجاد کنید و حتما نیازی به ایجاد vSwitch جدید نیست. بعد از ایجاد port group باید یک vitual NIC جدید به VCSA اضافه کنیم. پس VCSA ما دو عدد کارت شبکه خواهد داشت که اولین کارت شبکه جهت management است و آی پی بر روی آن تنظیم شده است. کارت شبکه دوم که اضافه می کنیم نیز برای VCHA و شبکه private که ایجاد می شود، مورد استفاده قرار می گیرد

ادامه مراحل نحوه پیاده ‌سازی vCenter High Availability

در ادامه مراحل نحوه پیاده‌ سازی vCenter High Availability، بعد از اضافه کردن کارت شبکه، آن را به port group ای متصل می کنیم که لحظاتی قبل برای شبکه private  جهت VCHA ساخته شد . در ادامه گزینه Basic را انتخاب و Next را کلیک می کنیم .در این قسمت با error ای مواجه می شویم مبنی بر Down بودن کارت شبکه private network مربوط به VCSA  که برای برطرف کردن این مشکل از طریق VAMI به vCenter متصل می شویم و مورد را بررسی می کنیم.

خب مشاهده خواهید کرد کارت شبکه دومی که اضافه کرده ایم غیر فعال است و باید فعال شود. روی edit کلیک می کنیم تا تنظیمات کارت شبکه باز شده و برای رفع مشکل گزینه Disable ipv4 Settings را تغییر می دهیم و به صورت استاتیک، آیپی مورد نظر برای شبکه VCHA را به نود active اختصاص می دهیم . مجددا در تنظیمات VCHA گزینه Basic را انتخاب و گزینه Next را می زنیم. در این قسمت باید IP مربوط به نودهای passive و witness را به صورت استاتیک وارد کنیم  و گزینه Next را کلیک کنیم . در مرحله بعدی شرایط کلی و محل قرارگیری نودها نمایش داده می شود. در قسمت network هم port group مربوط به vcha قابل مشاهده هست و نهایتا در قسمت storage محل قرارگیری نودها درون  storageها مشخص می شود. در مرحله بعد هم management network  و شبکه VCHA به درستی به صورت پیش فرض انتخاب شده و نیاز به تغییر ندارند . با کلیک روی Next خلاصه تغییرات و تنظیمات را مشاهده می کنیم و نهایتا بر روی Finish کلیک می کنیم .

نحوه پیاده‌ سازی vCenter High Availability؛ نودهای مختلف

حال در انتها به نودهای مختلف که در ابتدای توضیحات نحوه پیاده‌ سازی vCenter High Availability نام آن ها برده شد، می پردازیم. نود اول به عنوان Active فعالیت می کند و تحت عنوان نود Protected یا Active از آن نام برده می شود. این نود دو عدد کارت شبکه خواهد داشت یکی جهت public network و یکی جهت private network که جهت اتصال به vSphere Web Client ، CLI  و عملیات management ای از Public IP استفاده شده و برای ارتباط با بقیه نودها و شبکه VCHA از Private network استفاده می شود .از نود اول دو بار Clone گرفته شده، یکی جهت نود Passive و دیگری جهت نود Witness  که به واسطه این سه نود VCHA بر مبنای active-passive  پیاده سازی می شود .نود Passive دقیقا همان نود Active است، یعنی به همان میزان CPU ، Memory  و disk  خواهد داشت و همان طور که گفته شد بعد از Clone گرفتن از نود Active ایجاد می شود. تنها تفاوت نود پسیو با نود اکیو در Stop بودن همه سرویس ها است. پس با Down شدن نود Active ، نود Passive نقش Active گرفته و همه سرویس هایش را شروع می کند .نود Witness یک نسخه و ورژن سبک تر از VCSA است که نقش quorum را ایفا می کند. Quorum یک تکنیک در کلاسترینگ است و در مبحث VCHA زمانی کاربرد دارد که نودهای Active و Passive هر دو روشن و بالا هستند اما توانایی ارتباط با یکدیگر را ندارند.