Для настройки механизма резервирования сервера посредством протокола VRRP используется функционал, который предоставляет приложение keepalived. На первом сервере нужно создать файл конфигурации /etc/keepalived/keepalived.conf со следующим содержимым (адреса и имена интерфейсов прописать свои): Пример: vrrp_script chk_sip {
script "/usr/bin/ecss_pa_sip_port 65535"
interval 2
timeout 2
}
vrrp_script check_core {
script "nc -z localhost 8085"
interval 2 # check every 2 seconds
}
#For domain_bsk_ecss1 SIP
vrrp_instance VI_SIP_61 {
state MASTER
interface bond1.2
virtual_router_id 61
priority 100
advert_int 1
preempt_delay 60
unicast_src_ip 192.168.2.21
unicast_peer {
192.168.2.22
}
authentication {
auth_type PASS
auth_pass kassw2
}
virtual_ipaddress {
192.168.2.61/24 dev bond1.2 label bond1.2:SIP61
}
track_script {
chk_sip
}
}
#For domain_bsk_ecss2 SIP
vrrp_instance VI_SIP_62 {
state BACKUP
interface bond1.2
virtual_router_id 62
priority 50
advert_int 1
smtp_alert
preempt_delay 60
unicast_src_ip 192.168.2.21
unicast_peer {
192.168.2.22
}
authentication {
auth_type PASS
auth_pass kassw2
}
virtual_ipaddress {
192.168.2.62/24 dev bond1.2 label bond1.2:SIP62
}
}
#For TC ecss1
vrrp_instance VI_TC63 {
state BACKUP
interface bond1.2
virtual_router_id 63
priority 100
advert_int 1
preempt_delay 20
unicast_src_ip 192.168.2.21
unicast_peer {
192.168.2.22
}
authentication {
auth_type PASS
auth_pass kassw2
}
virtual_ipaddress {
192.168.2.63/24 dev bond1.2 label bond1.2:TC
}
track_script {
check_core
}
}
include ecss-mysql-replication.conf
|
На первом сервере создается файл с конфигурацией MySQL /etc/keepalived/ecss-mysql-replication.conf
vrrp_script check_mysqld {
script "nc -z localhost 3306" # cheaper than pidof
interval 2 # check every 2 seconds
fall 1
rise 2
}
#For MySQL
vrrp_instance MySQL71 {
state BACKUP
interface bond1.3
virtual_router_id 71
priority 100
advert_int 1
preempt_delay 10
unicast_src_ip 192.168.1.21
unicast_peer {
192.168.1.21
}
authentication {
auth_type PASS
auth_pass pmysql
}
virtual_ipaddress {
192.168.1.71/24 dev bond1.3 label bond1.3:MYSQL
}
track_script {
check_mysqld
}
} |
На втором сервере нужно создать аналогичный файл /etc/keepalived/keepalived.conf со следующим содержимым: vrrp_script chk_sip {
script "/usr/bin/ecss_pa_sip_port 65535"
interval 2
timeout 2
}
vrrp_script check_core {
script "nc -z localhost 8085"
interval 2 # check every 2 seconds
}
#For domain_bsk_ecss1 SIP
vrrp_instance VI_SIP_62 {
state MASTER
interface bond1.2
virtual_router_id 62
priority 100
advert_int 1
preempt_delay 60
unicast_src_ip 192.168.2.22
unicast_peer {
192.168.2.21
}
authentication {
auth_type PASS
auth_pass kassw2
}
virtual_ipaddress {
192.168.2.62/24 dev bond1.2 label bond1.2:SIP62
}
track_script {
chk_sip
}
}
#For domain_bsk_ecss2 SIP
vrrp_instance VI_SIP_61 {
state BACKUP
interface bond1.2
virtual_router_id 61
priority 50
advert_int 1
smtp_alert
preempt_delay 60
unicast_src_ip 192.168.2.22
unicast_peer {
192.168.2.21
}
authentication {
auth_type PASS
auth_pass kassw2
}
virtual_ipaddress {
192.168.2.61/24 dev bond1.2 label bond1.2:SIP61
}
}
#For TC ecss1
vrrp_instance VI_TC63 {
state BACKUP
interface bond1.2
virtual_router_id 63
priority 80
advert_int 1
preempt_delay 20
unicast_src_ip 192.168.2.22
unicast_peer {
192.168.2.21
}
authentication {
auth_type PASS
auth_pass kassw2
}
virtual_ipaddress {
192.168.2.63/24 dev bond1.2 label bond1.2:TC
}
track_script {
check_core
}
}
include ecss-mysql-replication.conf |
На втором сервере создается файл с конфигурацией MySQL /etc/keepalived/ecss-mysql-replication.conf
vrrp_script check_mysqld {
script "nc -z localhost 3306" # cheaper than pidof
interval 2 # check every 2 seconds
fall 1
rise 2
}
#For MySQL
vrrp_instance MySQL71 {
state BACKUP
interface bond1.3
virtual_router_id 71
priority 80
advert_int 1
preempt_delay 20
unicast_src_ip 192.168.1.22
unicast_peer {
192.168.1.22
}
authentication {
auth_type PASS
auth_pass pmysql
}
virtual_ipaddress {
192.168.1.71/24 dev bond1.3 label bond1.3:MYSQL
}
track_script {
check_mysqld
}
} |
Далее нужно произвести корректировку IP-адресов и имен интерфейсов, согласно конфигурации системы. Более подробная информация о приложении keepalived и его настройке приведена в документации по адресу: http://www.keepalived.org/pdf/UserGuide.pdf. Изменён скрипт проверки доступности контрольного сип порта. Теперь скрипт из keepalive нужно вызывать следующим образом: /usr/bin/ecss_pa_sip_port 65535, где 65535 дефолтное значение порта, который адаптер открывает в случае, когда он готов принимать нагрузку. Для того, чтобы изменить порт необходимо в конфиге sip адаптера (/etc/ecss/ecss_pa_sip/sip1.config) в секции ip_ssw_intercom изменить в параметрe keepalive значение порта, после чего перезапустить адаптер. |
|