راهنمای جامع نصب و پیکربندی High Availability برای Issabel 5 و Asterisk درLinux Rocky 8
۱. مقدمه:
اهمیت در دسترسپذیری بالا (High Availability)
در سیستمهای تلفنی مانند Issabel و Asterisk، دسترسپذیری بالا (HA – High Availability) نقش حیاتی در حفظ ارتباطات بدون وقفه دارد. این مکانیزم تضمین میکند که در صورت بروز مشکل در یک سرور، سرور دیگر بهطور خودکار جایگزین شده و ارتباطات کاربران بدون اختلال ادامه یابد.
هرچند میتوان HA را بر روی پلتفرمهای مجازی پیادهسازی کرد، اما راهاندازی آن روی دو سرور لینوکسی، بهویژه در سیستمهای تلفنی Real-Time مانند Asterisk و Issabel، از اهمیت ویژهای برخوردار است.
۲. هدف از مطالعه این مقاله
در این مقاله، قصد داریم با استفاده از Keepalived، یک سیستم HA برای Issabel 5 بر پایه 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 {
sysadmin@mydomain.com
support@mydomain.com
}
notification_email_from lb1@mydomain.com
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 {
192.168.4.29
}
}
پیکربندی سرور دوم (Server2)
در سرور دوم، فایل پیکربندی مشابه سرور اول است، اما حالت BACKUP تنظیم شده و مقدار اولویت (priority) کاهش یافته است:
! Configuration File for keepalived
global_defs {
notification_email {
sysadmin@mydomain.com
support@mydomain.com
}
notification_email_from lb1@mydomain.com
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 {
192.168.4.29
}
}
۵. راهاندازی Keepalived و تنظیم اجرای خودکار
برای شروع Keepalived و اطمینان از اجرای خودکار آن در زمان بوت، از دستورات زیر استفاده کنید:
service keepalived start
chkconfig keepalived on
۶. توصیهها و تنظیمات اضافه
برای اطمینان از عملکرد صحیح HA، موارد زیر را در نظر بگیرید:
- تنظیم MASTER و BACKUP: یک سرور باید MASTER و دیگری BACKUP باشد. در این مثال، Server1 با اولویت ۱۰۱ بهعنوان MASTER و Server2 با اولویت ۱۰۰ بهعنوان BACKUP تنظیم شده است.
- بررسی صحت ایمیلهای هشدار: اطمینان حاصل کنید که آدرسهای ایمیل در بخش
notification_email
صحیح و فعال هستند تا پیامهای هشدار در صورت تغییر وضعیت بهدرستی ارسال شوند.
۷. نحوه تست سیستم HA
برای بررسی عملکرد صحیح HA، میتوانید اتصال شبکه را قطع کرده یا یکی از سرورها را خاموش کنید. در این حالت، سرور دوم (Backup) بهطور خودکار وظایف سرور اول (Master) را در صورت بروز مشکل به عهده میگیرد.
همچنین، بررسی لاگهای سیستم در مسیر /var/log/messages
کمک میکند تا وضعیت جابجایی و عملیات Keepalived را مشاهده کنید.
۸. جمعبندی
در این راهنما، با استفاده از Keepalived و تنظیمات VRRP، یک سیستم دسترسپذیری بالا (HA) برای Issabel 5 و Asterisk پیادهسازی کردیم. با تنظیم یک آدرس آیپی مجازی، قابلیت دسترسپذیری این سیستم بهبود یافته و ترافیک بهصورت خودکار بین سرورها منتقل میشود.
۹. کد کامل پیکربندی
کد برای Server1:
! Configuration File for keepalived
global_defs {
notification_email {
sysadmin@mydomain.com
support@mydomain.com
}
notification_email_from lb1@mydomain.com
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 {
192.168.4.29
}
}
کد برای Server2:
! Configuration File for keepalived
global_defs {
notification_email {
sysadmin@mydomain.com
support@mydomain.com
}
notification_email_from lb1@mydomain.com
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 {
192.168.4.29
}
}
۱۰. نکات پایانی و توصیههای مهم
برای اطمینان از عملکرد صحیح HA در سیستم تلفنی Issabel و Asterisk، رعایت نکات زیر ضروری است:
✅ بررسی دورهای وضعیت سرورها: بهصورت منظم لاگهای سیستم را بررسی کنید تا از عملکرد صحیح Keepalived مطمئن شوید.
✅ تنظیمات شبکه و فایروال: اطمینان حاصل کنید که VRRP در فایروال مسدود نشده و ارتباط بین سرورها بدون مشکل برقرار است.
✅ مانیتورینگ و هشدارها: استفاده از ابزارهای مانیتورینگ مانند Zabbix یا Nagios میتواند به شناسایی مشکلات احتمالی کمک کند.
✅ تستهای عملیاتی: قبل از اجرای نهایی، HA را در محیط آزمایشی بررسی کنید تا از جابجایی صحیح ترافیک بین سرورها مطمئن شوید.
✅ بروزرسانیهای امنیتی: همیشه سیستمعامل و بستههای نرمافزاری را بهروز نگه دارید تا از مشکلات امنیتی جلوگیری شود.
۱۱. جمعبندی نهایی
در این مقاله، مکانیزم دسترسپذیری بالا (HA) را برای Issabel 5 و Asterisk 18 بر روی لینوکس Rocky 8 با استفاده از Keepalived و VRRP پیادهسازی کردیم.
🔹 HA تضمین میکند که در صورت خرابی یک سرور، سرور دیگر بدون وقفه جایگزین شده و ارتباطات کاربران حفظ میشود.
🔹 با تنظیم آدرس آیپی مجازی (Virtual IP)، ترافیک بهصورت خودکار بین سرور اصلی (MASTER) و سرور پشتیبان (BACKUP) منتقل میشود.
🔹 Keepalived یک ابزار قدرتمند برای مدیریت HA است که با پیکربندی صحیح، پایداری سیستمهای تلفنی Real-Time را تضمین میکند.
با رعایت نکات پایانی و تستهای عملیاتی، میتوان یک سیستم پایدار و بدون وقفه برای ارتباطات سازمانی ایجاد کرد.
دایانت ارتباطی پایدار و بیوقفه