جستجو
این کادر جستجو را ببندید.
جستجو
این کادر جستجو را ببندید.

نصب و پیکربندی سیستم High Availability برای Issabel5 و Asterisk بر روی لینوکس Rocky 8

۱. مقدمه: ضرورت در دسترس‌پذیری بالا (High Availability)

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

۲. هدف مقاله

در این مقاله، قصد داریم با استفاده از نرم‌افزار Keepalived، یک سیستم HA برای Issabel5 بر روی Asterisk 18 در لینوکس Rocky 8 پیاده‌سازی کنیم. مراحل نصب و پیکربندی Keepalived، و تنظیمات مربوط به VRRP (Virtual Router Redundancy Protocol) برای تخصیص یک آدرس آی‌پی مجازی (Virtual IP) بین دو سرور ارائه خواهد شد.

۳. برنامه‌ها و مکانیزم‌ها

برای دستیابی به HA، از Keepalived و پروتکل VRRP استفاده می‌کنیم. Keepalived یک ابزار لینوکسی است که به کمک VRRP امکان ایجاد یک آدرس آی‌پی مجازی و انتقال خودکار ترافیک به سرورهای دیگر در صورت بروز خرابی را فراهم می‌کند.

۴. مراحل نصب و پیکربندی

مرحله اول: نصب ابزارها

برای شروع، باید ابزارهای مورد نیاز را نصب کنیم:

yum install gcc kernel-headers kernel-devel
yum install keepalived
  • gcc، kernel-headers و kernel-devel برای ساخت ماژول‌های هسته و اجرای Keepalived مورد نیاز هستند.
  • keepalived برای مدیریت HA نصب می‌شود.

مرحله دوم: پیکربندی Keepalived

بعد از نصب Keepalived، باید فایل پیکربندی /etc/keepalived/keepalived.conf را برای هر سرور ویرایش کنیم.

پیکربندی برای سرور اول (Server1):

فایل پیکربندی به شکل زیر ویرایش می‌شود:

! Configuration File for keepalived

global_defs {
notification_email {
[email protected]
[email protected]
}
notification_email_from [email protected]
smtp_server localhost
smtp_connect_timeout 30
}

vrrp_instance VI_1 {
state MASTER
interface eth0
virtual_router_id 51
priority 101
advert_int 1
authentication {
auth_type PASS
auth_pass 1111
}
virtual_ipaddress {
۱۹۲.۱۶۸.۴.۲۹
}
}

 

 

توضیحات:
  • global_defs: این بخش برای تنظیمات ایمیل هشدار در هنگام تغییرات HA است. ایمیل‌ها به [email protected] و [email protected] ارسال می‌شوند و از [email protected] به عنوان فرستنده استفاده می‌شود.
  • vrrp_instance: تنظیمات VRRP برای نمونه VI_1 است.
    • state: وضعیت این سرور در حالت MASTER است.
    • interface: اینترفیسی که Keepalived بر روی آن اجرا می‌شود، در اینجا eth0.
    • virtual_router_id: یک شناسه یکتا برای VRRP. باید برای هر نمونه منحصربه‌فرد باشد.
    • priority: مقدار ۱۰۱ برای اولویت بالاتر این سرور تعیین شده است.
    • virtual_ipaddress: آدرس آی‌پی مجازی که در حالت فعال بودن HA به این سرور اختصاص می‌یابد.

پیکربندی برای سرور دوم (Server2):

در سرور دوم، فایل پیکربندی مشابه سرور اول است، اما به‌جای MASTER، حالت BACKUP تنظیم می‌شود و مقدار اولویت به ۱۰۰ کاهش می‌یابد:

 

! Configuration File for keepalived

global_defs {
notification_email {
[email protected]
[email protected]
}
notification_email_from [email protected]
smtp_server localhost
smtp_connect_timeout 30
}

vrrp_instance VI_1 {
state BACKUP
interface eth0
virtual_router_id 51
priority 100
advert_int 1
authentication {
auth_type PASS
auth_pass 1111
}
virtual_ipaddress {
۱۹۲.۱۶۸.۴.۲۹
}
}

 

 

مرحله سوم: شروع Keepalived و تنظیمات راه‌اندازی خودکار

برای شروع Keepalived و اطمینان از اجرای خودکار آن در زمان بوت، از دستورات زیر استفاده کنید:

 

service keepalived start
chkconfig keepalived on

 

توصیه‌ها و تنظیمات اضافه

برای اطمینان از عملکرد صحیح HA، باید تنظیمات زیر را در نظر بگیرید:

  • تنظیم MASTER و BACKUP: یک سرور به عنوان MASTER و دیگری BACKUP باید تنظیم شود. در این مثال، Server1 با اولویت ۱۰۱ به عنوان MASTER و Server2 با اولویت ۱۰۰ به عنوان BACKUP تنظیم شده است.
  • اطمینان از صحت اطلاعات ایمیل‌ها: اطمینان حاصل کنید که آدرس‌های ایمیل در بخش notification_email درست و فعال هستند تا پیام‌های هشدار در صورت تغییر وضعیت به‌درستی ارسال شوند.

۵. نحوه تست سیستم HA

برای اطمینان از کارکرد صحیح، می‌توانید با قطع شبکه یا خاموش کردن یکی از سرورها، وضعیت انتقال ترافیک را بررسی کنید. در حالت عادی، سرور دوم (Backup) به‌طور خودکار وظایف سرور اول (Master) را در صورت بروز مشکل به عهده می‌گیرد. بررسی لاگ‌های سیستم در مسیر /var/log/messages نیز کمک می‌کند تا وضعیت جابه‌جایی و عملیات Keepalived را مشاهده کنید.

۶. جمع‌بندی

در این راهنما، با استفاده از Keepalived و تنظیمات VRRP یک سیستم در دسترس‌پذیری بالا برای Issabel5 و Asterisk پیاده‌سازی کردیم. با تنظیم یک آدرس آی‌پی مجازی، قابلیت دسترس‌پذیری این سیستم بهبود یافته و ترافیک به صورت خودکار بین سرورها منتقل می‌شود.

کد کامل پیکربندی

کد برای Server1:

 

! Configuration File for keepalived

global_defs {
notification_email {
[email protected]
[email protected]
}
notification_email_from [email protected]
smtp_server localhost
smtp_connect_timeout 30
}

vrrp_instance VI_1 {
state MASTER
interface eth0
virtual_router_id 51
priority 101
advert_int 1
authentication {
auth_type PASS
auth_pass 1111
}
virtual_ipaddress {
۱۹۲.۱۶۸.۴.۲۹
}
}

 

 

کد برای Server2:

! Configuration File for keepalived

global_defs {
notification_email {
[email protected]
[email protected]
}
notification_email_from [email protected]
smtp_server localhost
smtp_connect_timeout 30
}

vrrp_instance VI_1 {
state BACKUP
interface eth0
virtual_router_id 51
priority 100
advert_int 1
authentication {
auth_type PASS
auth_pass 1111
}
virtual_ipaddress {
۱۹۲.۱۶۸.۴.۲۹
}
}

امیدوارم این راهنما به شما کمک کند تا یک سیستم HA قوی برای Issabel و Asterisk پیاده‌سازی کنید.
ویپ ایران | VOIPIRAN بزرگترین مرجع ویپ VOIP و سیستم های تلفنی و ارتباطی فارسی زبان.

5 1 رای
امتیازدهی به مقاله
اشتراک در
اطلاع از
guest

2 نظرات
قدیمی‌ترین
تازه‌ترین بیشترین رأی
بازخورد (Feedback) های اینلاین
مشاهده همه دیدگاه ها
علی
علی
15 روز قبل

ممنون بابت اشتراک گذاری این مقاله. دیتابیس و فایلهای استریسک رو چطور میشه سینک کرد؟