مقدمه

شاید شما نیز در حوزه فناوری با اصطلاح High Availability یا HA آشنا شده باشید و برای شما این سوال پیش آمده باشد که HA چیست؟ به طور کلی می ‌توان گفت که High Availability یا در دسترس بودن بالا (HA) مشخصه یک سیستم است که هدف آن اطمینان از سطح توافق شده عملکرد، معمولاً در زمان کار و در برخی موارد برای یک دوره بالاتر از حد معمول است. اما HA تنها به تعریف محدود نمی ‌شود.
ما در این مقاله سعی داریم تا جوابی مناسبی برای این سوال بیابیم که High Availability یا HA چیست و شما را خصوصیات آن آشنا کنیم، پس با همراه باشید.

High Availability یا HA چیست؟

برای پاسخ دادن به این سوال که HA چیست، باید در نظر داشت که این اصطلاح با توجه به حوزه کاربرد خود دارای معانی مختلفی است. در زمینه عملیات IT، عبارت High Availability یا در دسترس بودن بالا به سیستمی (شبکه، آرایه سرور یا خوشه و غیره) اطلاق می ‌شود که برای اطمینان از عملکرد مستمر یا مدیریت خرابی و به حداقل رساندن زمان خرابی برنامه ریزی شده است. مدرن ‌سازی منجر به افزایش وابستگی این سیستم‌ ها شده است. به عنوان مثال، بیمارستان‌ ها و مراکز داده برای انجام فعالیت های روزمره نیاز دارند تا به سیستم ‌های خود دسترسی داشته باشند.
High Availability یا در دسترس بودن بالا به توانایی جامعه کاربران برای بدست آوردن خدمات یا کالایی، دسترسی به سیستم، ارائه کارهای جدید، به روز رسانی یا تغییر کارهای موجود و جمع آوری نتایج کارهای قبلی اشاره دارد. اگر کاربری نتواند به سیستم دسترسی داشته باشد، از دیدگاه کاربر در دسترس نیست. لذا می ‌توان گفت در دسترس بودن سیستم در تمام زمان‌ ها بسیار مهم است.
لازم به ذکر است که زمانی که زندگی، سلامتی و رفاه جامعه نظیر رفاه اقتصادی در خطر باشد، نیاز به دسترسی به سیستم‌ ها افزایش می‌ یابد.
در فناوری اطلاعات، High Availability سیستم یا بخشی از قطعات به صورت درصدی از زمان کار سالانه بیان می‌ شود. همچنین لازم به ذکر است به طور کلی قراردادهای سطح خدمات (SLAs) درصد High Availability را برای محاسبه صورتحساب ارجاع می ‌دهند. با توجه به ایده آل دست نیافتنی ۱۰۰ درصد بودن High Availability به عنوان مبنای اولیه، به طور معمول هدف از بالاترین سطح در دسترس بودن خدمات، ۹۹.۹۹۹ درصد در دسترس بودن در نظر گرفته می ‌شود.

مدیریت در High Availability یا HA

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

خوشه‌ های با High Availability یا HA چیست؟

خوشه ‌های با دسترسی بالا رایانه ‌هایی هستند که از برنامه‌ های حیاتی پشتیبانی می ‌کنند. به طور خاص، این خوشه ‌ها به طور قابل اعتماد با هم کار می‌ کنند تا خرابی سیستم را به حداقل برسانند.
یک خوشه شکست خورده در برابر HA، یک سیستم مازاد است که هنگام برخورد سیستم اصلی با مسائل مربوط به عملکرد ایجاد می‌ شود. باید بدانید که تنها یک استراتژی برای برای دستیابی به HA وجود دارد.

چرا HA مهم است؟

اگر بخواهیم بررسی کنیم اهمیت HA چیست، باید به نقش آن توجه داشته باشیم. HA برای کاهش وقفه و خرابی، آمادگی برای رویدادهای غیر منتظره‌ ای که می ‌تواند سرورها را خراب کند ضروری است. برخی مواقع، شرایط اضطراری حتی قوی‌ترین و مطمئن ‌ترین نرم افزارها و سیستم ‌ها را از بین می ‌برد. سیستم‌ های بسیار در دسترس تأثیر این رویدادها را به حداقل می ‌رسانند و اغلب می ‌توانند به طور خودکار از خرابی قطعات یا حتی سرور بازیابی شوند.

معماری HA چیست؟

اگر بخواهیم به این سوال جواب بدهیم معماری HA چیست، باید به این موضوع نیز توجه داشته باشیم که مهم است که سیستم‌ ها بتوانند بارهای زیاد و سطح بالای ترافیک را تحمل کنند. اما شناسایی نقاط شکست احتمالی و کاهش زمان خرابی به همان اندازه مهم است. در اینجاست که به عنوان مثال، یک متعادل کننده بار بسیار بالا وارد می ‌شود. این یک طراحی زیرساختی مقیاس ‌پذیر است که با افزایش تقاضای ترافیک تغییر حالت می ‌دهد. به طور معمول این امر نیاز به معماری نرم افزاری دارد که بر محدودیت‌ های سخت افزاری غلبه می ‌کند.
در این فرآیند، کاربران سرورهایی را تنظیم می ‌کنند تا در صورت نیاز مسئولیت‌ ها را به سرور راه دور تغییر دهند. آن‌ ها همچنین باید هر قطعه سخت افزاری را برای دوام با استفاده از معیارهای فروشنده مانند میانگین زمان بین خرابی (MTBF) ارزیابی کنند.

HA چگونه کار می‌کند؟

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

تعیین سطح دسترسی شبکه در مقایسه با SLA با استفاده از خدمات اینترنت (ISP)

شما می ‌توانید برای ارزیابی این موضوع از نرم‌ افزار مانیتورینگ شبکه استفاده کنید و این مورد را با اکوهای شبکه پروتکل کنترل اینترنت (ICMP) بررسی کنید.
استفاده از پهنای باند
برای مدیریت بهینه شبکه خود شما باید تعیین کنید که میزان مصرف پهنای باند در سیستم شما در زمان ‌های مختلف به چه میزان است. شما می‌ توانید این اطلاعات را از روترهای مدیریت شده و تجزیه و تحلیل گزارش خدمات اینترنت (IIS) دریافت کنید. از آن برای برنامه ریزی تخصیص پهنای باند برای زمان‌ های شناخته شده اوج مصرف پهنای باند استفاده کنید و تا در موارد ضروری به خاطر ناکافی بودن پهنای باند دچار مشکل نشوید.

در دسترس بودن و مشاهده HTTP

شما باید درخواست‌ های HTTP سیستم را به صورت داخلی، به ازای ISP و موقعیت جغرافیایی، تحت نظر داشته باشید. مشکلات مربوط به درخواست ‌های داخلی می ‌تواند به عنوان یک هشدار اولیه در مورد مشکلات ظاهری عمل کند. درخواست‌ های HTTP از شبکه‌های ISP را پیگیری کنید تا مشخص شود آیا کاربران این شبکه‌ها می ‌توانند به خدمات شما دسترسی داشته باشند. همچنین رصد درخواست‌ ها را از مکان ‌های مختلف جغرافیایی به شما کمک می ‌کند تا بفهمید آیا کاربران از هر نقطه از جهان قادر به استفاده از خدمات شما هستند.

معیارهای عملکرد

شما باید بر تعداد کاربرانی که از سایت شما بازدید می‌ کنند یا از برنامه‌ های سازمانی شما استفاده می ‌کنند را بررسی کنید و نتایج بررسی خود را با تاخیر درخواست ‌ها و استفاده از CPU تاریخی مقایسه می‌ کنید. همچنین باید سرورها را بر اساس عملکرد گروه ‌بندی کرده و ظرفیت دیسک و خروجی ورودی و خروجی را کنترل کنید. همچنین برای اطمینان از حصول High Availability باید کنترل کننده فیبر کانال را بررسی کنید و در موارد لازم پهنای باند را تغییر دهید و البته از ظرفیت استفاده از حافظه کل سیستم مراقبت کنید.

High Availability در برابر تحمل خطا

اگر بخواهیم بررسی کنیم که در برابر تحمل خطا عملکرد HA چیست، باید در وهله اول بدانیم که High Availability تحمل خطا هر دو به تکنیک ‌هایی برای ارائه سطوح بالای زمان کار اشاره دارند. با این حال، استراتژی ‌های مقاوم در برابر خطا در مقابل دسترسی زیاد به این هدف به شکل متفاوتی دست می ‌یابند.
محاسبات مقاوم در برابر خطا نیاز به افزونگی کامل سخت‌افزار دارد. چندین سیستم همزمان برای دستیابی به تحمل خطا عمل می‌ کنند و برنامه ‌ها را به طور یکسان منعکس می ‌کنند و دستورالعمل ‌ها را با هم اجرا می ‌کنند. هنگامی که سیستم اصلی از کار می ‌افتد، سیستم دیگری باید بدون اشتباه در زمان کار کنترل شود. برای دستیابی به محاسبات مقاوم در برابر خطا، به سخت ‌افزار تخصصی نیاز دارید. باید بتواند بلافاصله خطاهای اجزا را تشخیص دهد و چندین سیستم را به صورت متوالی اجرا کند.
در این صورت سیستم حافظه و داده‌ های برنامه‌ های خود را حفظ می ‌کند که مزیت بزرگ محسوب می ‌شود. با این حال، سازگاری با خرابی ‌های شبکه‌ ها و سیستم‌ های پیچیده ‌تر ممکن است بیشتر طول بکشد. علاوه بر این، مشکلات نرم افزاری که باعث خرابی سیستم ‌ها می‌ شوند، گاهی اوقات باعث می ‌شوند که سیستم‌ های مازاد که در کنار هم کار می‌ کنند به طور مشابه شکست بخورند و باعث خرابی در کل سیستم شوند.
در مقابل، یک راه حل در دسترس بودن برای کاهش خرابی سرور از یک رویکرد کاملا نرم استفاده می‌ کند. به جای استفاده از سخت ‌افزار فیزیکی برای دستیابی به افزونگی کامل یک خوشه با High Availability، مجموعه ‌ای از سرورها را در کنار هم قرار می ‌دهد.
این سرورهای با قابلیت دسترسی بالا هر دو دارای قابلیت بازگردانی هستند و بر یکدیگر نظارت می‌ کنند. اگر سرور اصلی دارای مشکل است، فقط یکی از سرورهای پشتیبان باید آن ‌ها را تشخیص دهد.

به کدام محصولات با کیفیت بالا برای حصول High Availability نیاز خواهیم داشت؟

در عمل، محصولات با High Availability اولین خط دفاعی هستند، اگرچه دستیابی به این سطح از عملکرد با دوام بیشتر طول می ‌کشد. عوامل مهمی از جمله کیفیت داده‌ ها، شرایط محیطی، انعطاف ‌پذیری سخت‌ا فزار و شبکه ‌ها و نرم افزارهای با دوام استراتژیک در این موضوع تاثیر گذار خواهند بود.
راه‌ های زیادی برای از دست دادن داده‌ ها یا ناسازگار وجود دارد. بنابراین هر سیستمی که بسیار در دسترس باشد باید از کیفیت داده ‌ها در تمام سطوح خود محافظت کند
همچنین اگر بخواهیم بدانیم که کاربرد سخت ‌افزار در HA چیست، باید بگوییم که سخت ‌افزار بسیار در دسترس شامل سرورها و اجزایی مانند رابط شبکه و هارد دیسک‌ هایی است که در برابر خرابی سخت‌ افزار و قطع برق به خوبی مقاومت کرده و بازیابی می ‌شوند.

بخشی دیگر از سیستم HA یک فایروال با قابلیت دسترسی بالا است. آن ‌ها معمولاً شامل چندین فایروال برنامه وب هستند که به صورت استراتژیک در شبکه‌ ها و سیستم‌ ها قرار داده شده ‌اند تا به از بین بردن هر نقطه از خرابی و فعال‌سازی پردازش بازخورد مداوم کمک کنند.