1.Установите Keepalived. Для этого выполните команду:
sudo apt-get install keepalived
2.Добавьте службу Keepalived в автозагрузку:
systemctl enable keepalived
3.Чтобы включить службу Keepalived для пересылки сетевых пакетов на внутренние серверы, включите переадресацию IP-адресов:
sed -i 's/#net.ipv4.ip_forward=1/net.ipv4.ip_forward=1/' /etc/sysctl.conf
echo "net.ipv4.ip_nonlocal_bind = 1" >> /etc/sysctl.conf
4.Перезагрузите настройки:
sysctl –p
5.Откройте на редактирование конфигурационный файл Keepalived, например, в приложении nano:
nano /etc/keepalived/keepalived.conf
6.На основном узле задайте настройки, как указано ниже. Вместо значений, выделенных жирным шрифтом, укажите свои.
ПОДРОБНЕЕ
global_defs {
script_user root
enable_script_security
}
#Script used to check if HAProxy is running
vrrp_script check_haproxy {
script "/usr/bin/killall -0 haproxy"
interval 2
weight 2
}
# Virtual interface
# The priority specifies the order in which the assigned interface to take over in a failover
vrrp_instance VI_01 {
state MASTER # MASTER для основного сервера, BACKUP для резервного
interface eth0 # Имя интерфейса можно узнать с помощью команды ifconfig
virtual_router_id 51
priority 101 # Для основного сервера с haproxy 101, для резервного 100
# Интервал проверки работоспособности в секундах
advert_int 1
## authentication {
## auth_type PASS
## auth_pass 12345
## }
# Исходный IP-адрес, используемый для отправки одноадресных пакетов VRRP,
# текущий активный реальный IP-адрес
unicast_src_ip 192.168.1.10 # Private IP address of master
# IP-адрес однорангового узла, получающего одноадресные пакеты VRRP,
# чтобы восходящий коммутатором не мог прекратить вещание.
unicast_peer {
192.168.1.11 # Private IP address of the backup haproxy
}
# The virtual ip address shared between the two loadbalancers
virtual_ipaddress {
# Виртуальный IP, по которому будет доступен keepalived
192.168.1.100
}
track_script {
check_haproxy
}
}
|
7.На резервном узле кластера задайте настройки, как указано ниже. Вместо значений, выделенных жирным шрифтом, укажите свои значения.
ПОДРОБНЕЕ
global_defs {
script_user root
enable_script_security
}
# Script used to check if HAProxy is running
vrrp_script check_haproxy {
script "/usr/bin/killall -0 haproxy"
interval 2
weight 2
}
# Virtual interface
# The priority specifies the order in which the assigned interface to take over in a failover
vrrp_instance VI_01 {
state BACKUP # MASTER для основного сервера, BACKUP для резервного
interface eth0 # Имя интерфейса можно узнать с помощью команды ifconfig
virtual_router_id 51
priority 100 # Для основного сервера с haproxy 101, для резервного 100
# Интервал проверки работоспособности в секундах
advert_int 1
## authentication {
## auth_type PASS
## auth_pass 12345
## }
# Исходный IP-адрес, используемый для отправки одноадресных пакетов VRRP,
# активный реальный IP-адрес
unicast_src_ip 192.168.1.11 # Private IP address of master
# IP-адрес однорангового узла, получающего одноадресные пакеты VRRP,
# чтобы восходящий коммутатор не мог прекратить вещание.
unicast_peer {
192.168.1.10 # Private IP address of the backup haproxy
}
# The virtual ip address shared between the two loadbalancers
virtual_ipaddress {
# Виртуальный IP, по которому будет доступен keepalived
192.168.1.100
}
track_script {
check_haproxy
}
}
|
8.Перезапустите службу Keepalived:
service keepalived restart