در سیستمهای تلفنی مانند ایزابل (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 امکان ایجاد یک آدرس آیپی مجازی و انتقال خودکار ترافیک به سرورهای دیگر در صورت بروز خرابی را فراهم میکند.
برای شروع، باید ابزارهای مورد نیاز را نصب کنیم:
بعد از نصب Keepalived، باید فایل پیکربندی /etc/keepalived/keepalived.conf
را برای هر سرور ویرایش کنیم.
فایل پیکربندی به شکل زیر ویرایش میشود:
! 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 {
۱۹۲.۱۶۸.۴.۲۹
}
}
sysadmin@mydomain.com
و support@mydomain.com
ارسال میشوند و از lb1@mydomain.com
به عنوان فرستنده استفاده میشود.eth0
.در سرور دوم، فایل پیکربندی مشابه سرور اول است، اما بهجای MASTER
، حالت BACKUP
تنظیم میشود و مقدار اولویت به ۱۰۰ کاهش مییابد:
! 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 {
۱۹۲.۱۶۸.۴.۲۹
}
}
برای شروع Keepalived و اطمینان از اجرای خودکار آن در زمان بوت، از دستورات زیر استفاده کنید:
service keepalived start
chkconfig keepalived on
برای اطمینان از عملکرد صحیح HA، باید تنظیمات زیر را در نظر بگیرید:
MASTER
و دیگری BACKUP
باید تنظیم شود. در این مثال، Server1
با اولویت ۱۰۱ به عنوان MASTER و Server2
با اولویت ۱۰۰ به عنوان BACKUP تنظیم شده است.notification_email
درست و فعال هستند تا پیامهای هشدار در صورت تغییر وضعیت بهدرستی ارسال شوند.برای اطمینان از کارکرد صحیح، میتوانید با قطع شبکه یا خاموش کردن یکی از سرورها، وضعیت انتقال ترافیک را بررسی کنید. در حالت عادی، سرور دوم (Backup) بهطور خودکار وظایف سرور اول (Master) را در صورت بروز مشکل به عهده میگیرد. بررسی لاگهای سیستم در مسیر /var/log/messages
نیز کمک میکند تا وضعیت جابهجایی و عملیات Keepalived را مشاهده کنید.
در این راهنما، با استفاده از Keepalived و تنظیمات VRRP یک سیستم در دسترسپذیری بالا برای Issabel5 و Asterisk پیادهسازی کردیم. با تنظیم یک آدرس آیپی مجازی، قابلیت دسترسپذیری این سیستم بهبود یافته و ترافیک به صورت خودکار بین سرورها منتقل میشود.
! 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 {
۱۹۲.۱۶۸.۴.۲۹
}
}
! 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 {
۱۹۲.۱۶۸.۴.۲۹
}
}
در سیستمهای تلفنی تحت ویپ مانند ایزابل (Issabel)، الستیکس (Elastix) و فری پی بی اکس…
Open Source Software نقش مهمی در توسعه نرمافزارهای SaaS (نرمافزار به عنوان سرویس) داشته است.…
SaaS چیست؟ بررسی جامع نرمافزار بهعنوان سرویس و مزایای آن در دنیای فناوری اطلاعات، مدلهای…
در دنیای ارتباطات راه دور و شبکههای VoIP، اصطلاح Softswitch یکی از مفاهیم کلیدی است. Softswitch یک سیستم نرمافزاری…
Asterisk بهعنوان یکی از محبوبترین پلتفرمهای تلفن تحت شبکه (VoIP)، ابزارهای قدرتمند و متنوعی را…
در سیستمهای تلفنی سنتی و مدرن، مفاهیمی مانند FXS و FXO نقشی کلیدی در ارتباطات آنالوگ و دیجیتال ایفا…
View Comments
ممنون بابت اشتراک گذاری این مقاله. دیتابیس و فایلهای استریسک رو چطور میشه سینک کرد؟
با سلام و احترام، مقاله بالا در خصوص راه اندازی HA است و طبعتا فایل ها هم باید یکسان سازی شود که می توانید از DRBD یا rsync استفاده کنید.
توصیه استفاده از DRBD است که مقالات زیادی هم روی اینترنت است، به زودی هم یک مقاله در خصوص سینک کردن اطلاعات قرار خواهیم داد.
با DRBD هم می توان فایل های اساسی Databse رو منتقل کرد.