Вот мой keepalived.conf для узла MASTER:
vrrp_script chk_test {
script "exit 1"
interval 2
weight 2
}
vrrp_instance VI_1 {
interface eth0
state MASTER
priority 200
virtual_router_id 33
unicast_src_ip 100.72.142.152
unicast_peer {
100.72.142.153
}
authentication {
auth_type PASS
auth_pass secret
}
track_script {
chk_test
}
notify_master "/etc/keepalived/recover.sh MASTER"
notify_backup "/etc/keepalived/recover.sh BACKUP"
notify_fault "/etc/keepalived/recover.sh FAULT
}
Конфигурация для второго узла не имеет отношения к моему вопросу. Насколько я понимаю, сценарий определяется chk_test
должен запускаться каждые две секунды, и если статус выхода отличается от 0, сценарий, определенный в notify_fault
должен называться.
Как вы можете сказать мои chk_test
скрипт просто существует с 1, однако кажется, что этот скрипт никогда не запускался. Я просто упускаю здесь что-то базовое?
Оказывается, это была проблема с keepalived, предлагаемым через репозитории apt-get в Ubuntu 14.04. Я загрузил, выполнил и запустил последнюю версию keepalived с теми же файлами конфигурации, и все работало правильно.