|
В данной статье рассматривается настройка отказоустойчивой схемы для LPA.

Предварительные требования:
- Подготовлены два сервера на Linux для LPA
- Установлен и настроен LPA
Установка и настройка Keepalived
Установка и настройка Keepalived выполняется на всех серверах с LPA
1. Установите Keepalived командой:
sudo apt-get install keepalived
2. Откройте файл /etc/sysctl.conf и добавьте строки:
net.ipv4.ip_forward=1
net.ipv4.ip_nonlocal_bind=1

3. Выполните команду sudo sysctl -p для проверки добавленных изменений

4. Создайте файл конфигурации /etc/keepalived/keepalived.conf
5. Настройте файл конфигурации на основном сервере:
global_defs {
router_id LPA
}
vrrp_script check_lpa {
script "/bin/sh -c '/usr/bin/docker inspect --format='\"'\"'{{.State.Running}}'\"'\"' lpa | /usr/bin/grep -q true && /usr/bin/ss -tuln | /usr/bin/grep -q :8389'" # Вместо lpa подставить название запущенного docker контейнера
interval 2
fall 2
rise 2
weight 2
}
vrrp_instance LPA {
state MASTER # MASTER для основного сервера, BACKUP - для резервного
interface ens37 # Имя интерфейса, можно узнать с помощью команды ifconfig
virtual_router_id 51
priority 101 # 101 для основого сервера, для резервного 100
virtual_ipaddress {
192.168.1.31 # Виртуальный IP, по которому будет доступен keepalived
}
track_script {
check_lpa
}
}
6. Настройте файл конфигурации на резервном сервере, который будет отличаться параметрами: "state BACKUP" и "priority 100"
global_defs {
router_id LPA
}
vrrp_script check_lpa {
script "/bin/sh -c '/usr/bin/docker inspect --format='\"'\"'{{.State.Running}}'\"'\"' lpa | /usr/bin/grep -q true && /usr/bin/ss -tuln | /usr/bin/grep -q :8389'" # Вместо fra подставить название запущенного docker контейнера
interval 2
fall 2
rise 2
weight 2
}
vrrp_instance LPA {
state BACKUP # MASTER для основного сервера, BACKUP - для резервного
interface ens37 # Имя интерфейса, можно узнать с помощью команды ifconfig
virtual_router_id 51
priority 100 # 101 для основого сервера, для резервного 100
virtual_ipaddress {
192.168.1.31 # Виртуальный IP, по которому будет доступен keepalived
}
track_script {
check_lpa
}
}
7. Запустите keepalived командой /etc/init.d/keepalived start. Проверить работоспособность сервиса можно командой: sudo service keepalived status, а команой ip addr show ens37 (имя сетевого интерфейса) можно проверить поднялся ли виртуальный IP адрес.
Для перезагрузки службы используйте команду: sudo service keepalived restart
|