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

Предварительные требования:
- Подготовлены два сервера на Linux для FRA
- Установлен и настроен FRA
Установка и настройка Keepalived
Установка и настройка Keepalived выполняется на всех серверах с FRA
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 FRA
}
vrrp_script check_fra {
script "/bin/sh -c '/usr/bin/docker inspect --format='\"'\"'{{.State.Running}}'\"'\"' fra | /usr/bin/grep -q true && /usr/bin/ss -tuln | /usr/bin/grep -q :1812'" # Вместо fra подставить название запущенного docker контейнера
interval 2
fall 2
rise 2
weight 2
}
vrrp_instance FRA {
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_fra
}
}
6. Настройки файл конфигурации на резервном сервере, который будет отличаться параметрами: "state BACKUP" и "priority 100"
global_defs {
router_id FRA
}
vrrp_script check_fra {
script "/bin/sh -c '/usr/bin/docker inspect --format='\"'\"'{{.State.Running}}'\"'\"' fra | /usr/bin/grep -q true && /usr/bin/ss -tuln | /usr/bin/grep -q :1812'" # Вместо fra подставить название запущенного docker контейнера
interval 2
fall 2
rise 2
weight 2
}
vrrp_instance FRA {
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_fra
}
}
7. Запустите keepalived командой /etc/init.d/keepalived start. Проверить работоспособность сервиса можно командой: sudo service keepalived status, а команой ip addr show ens37 (имя сетевого интерфейса) можно проверить поднялся ли виртуальный IP адрес.
Для перезагрузки службы используйте команду: sudo service keepalived restart
|