سیستم High Availability (HA)

High-availability clusters

HA Clusters یا Failover Clusters گروه هایی از کامپیوترها هستند که از نرم افزارهای سرور پشتیبانی می کنند که بدین منظور ایجاد شده اند که حداقل دانتایم را داشته باشند. عملیات استفاده شده در نرم افزار های “دسترسی بالا” برای مهار کردن کامپیوترهای مفرط در گروه ها یا cluster می باشد که اقدام به ادامه سرویس در زمانیکه یکی از اجزا سیستم دچار مشکل می شود می باشد. بدون سیستم cluster ، اگر یک سرور که نرم افزار خاصی را اجرا می کند دچار مشکل شود، تا زمانیکه مشکل نرم افزاری و سیستم حل شود، سرور از دسترس خارج خواهد بود. HA Cluster اقدام به حل این مشکل با شناسایی مشکلات سخت افزار/ نرم افزار می کند و بلافاصله اقدام به بارگزاری مجدد سیستم برروی سیستم دیگری بدون کمک گرفتن از مدیریت می کند، این پردازش نیز به عنوان failover شناخته می شود. در قسمتی از پردازش، نرم افزار cluster اقدام به تنظیم نمودن سیستم  قبل از اجرا نرم افزار برروی آن می کند، به طور مثال فایل های سیستمی می بایست در سیستم عامل mount شوند ، تنظیمات شبکه برروی سیستم جدید می بایست انجام گیرد یا اجرا نرم افزار وابسته به نرم افزارهای دیگر باشد.

کلیه این عملیات توسط سیستم HA Cluster به صورت خودکار انجام می گیرد.

بررسی پایداری سرویس

در زمان خرابی Load Blancing IP اقدام به ارسال ترافیک به اجزا غیرقابل دسترسی نمی کند و سیستم ترافیک مربوطه را به node کارآمد و فعال دیگری منتقل می کند و در این شرایط هیچ یک از درخواست های مشتری شما از دست نخواهد رفت.

High availability - SERVICE AVAILABILITY CHECKS

انتظار ما از سیستم HA Cluster

این عملیات و روش میزان دسترس بودن منابع سیستم را به حداکثر ممکن می رساند و نباید انتظار داشت که هرگز وقفه ای رخ ندهد چرا که این میزان هرگز به طور حتم 100% نخواهد بود. چنین روشی در تکنولوژی های مجازی سازی KVM, VMWare قابل اجرا می باشد و سرور مجازی فارسی از سیستم OpenStack بابت این موضوع استفاده می کند.

بستر ابری سرور مجازی فارسی بر پایه سیستم OpenStack می باشد و اجزایی بابت این موضوع در سیستم OpenStack تعبیه شده اند

این سیستم وظیفه آدرس های آی پی که به عنوان failover of virtual ip شناخته می شود را دارد.

این سیستم وظیفه پایداری سیستم MySQL یا MariaDB را بروی چند سرور بانک اطلاعاتی که به صورت replication قرار دارند را دارد.

KeyStone سیستم احراز هویت برای سرویس های مختلف داخلی می باشد و RabbitMQ یک سیستم متن باز پردازش صف پیام ها می باشد که اقدام به ارسال پیام مابین سیستم های مختلف برای ارسال هشدار و گزارشات می کند.

هدف از پیاده سازی HA

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