Как я настроил Keepalived для выполнения скрипта и переноса виртуального IP-адреса
Задача, которую я решил с помощью Keepalived, заключалась в том, чтобы скрипт выполнялся каждые 3 секунды и в случае, если bash-скрипт завершался с кодом, отличным от нуля, переносил виртуальный IP-адрес на другой сервер. Чтобы решить эту задачу, я использовал секцию vrrp_script в конфигурационном файле Keepalived.Процесс настройки начался с установки Keepalived на мои серверы. Я использовал следующую команду в терминале⁚
bash
sudo apt-get install keepalived
После установки Keepalived мне потребовался конфигурационный файл. Я создал его с помощью редактора текста, например nano⁚
bash
sudo nano /etc/keepalived/keepalived.conf
В этом файле я добавил следующую секцию vrrp_script⁚
bash
vrrp_script check_script {
script ″/путь_к_вашему_скрипту/check_script.sh»
interval 3
weight -10
fall 3
rise 2
}
Здесь вам нужно заменить /путь_к_вашему_скрипту/check_script.sh на актуальный путь к вашему bash-скрипту. Это скрипт, который будет выполняться каждые 3 секунды.Пояснение по параметрам секции vrrp_script⁚
— script⁚ Указывает путь к bash-скрипту, который будет выполняться.
— interval⁚ Указывает время в секундах между запусками скрипта.
— weight⁚ Определяет вес данного скрипта. Более низкий вес означает больший приоритет.
— fall⁚ Количество попыток скрипта, которые должны завершиться с кодом, отличным от нуля, чтобы Keepalived решал перенести виртуальный IP-адрес.
— rise⁚ Количество попыток скрипта, которые должны завершиться с кодом, равным нулю, чтобы Keepalived решал вернуть виртуальный IP-адрес обратно на исходный сервер.
После того, как я добавил секцию vrrp_script в конфигурационный файл, я сохранил его и перезапустил службу Keepalived с помощью следующей команды⁚
bash
sudo systemctl restart keepalived
Теперь Keepalived будет выполнять мой bash-скрипт каждые 3 секунды. Если скрипт завершится с кодом٫ отличным от нуля٫ Keepalived перенесет виртуальный IP-адрес на другой сервер.
Надеюсь, эта статья поможет вам настроить Keepalived для выполнения скрипта и переноса виртуального IP-адреса. Удачи в ваших настройках!