Переходы с поддержкой активности не происходят, как ожидалось
Я пытаюсь внедрить отказоустойчивый сервис для моей службы. Ниже приведены мои конфигурации для главного и резервного узлов.
Мастер узел:
vrrp_script chk_splunkd {
script "pidof splunkd"
interval 2
fall 2
rise 2
}
vrrp_instance VI_1 {
interface eth0
state MASTER
advert_int 1
virtual_router_id 51
priority 200
nopreempt
smtp_alert
authentication {
auth_type PASS
auth_pass passme
}
virtual_ipaddress {
10.126.246.245
}
track_script {
chk_splunkd
}
notify_master /etc/keepalived/scripts/master.sh
notify_backup /etc/keepalived/scripts/stop_service.sh
notify_fault /etc/keepalived/scripts/stop_service.sh
}
Резервный узел:
vrrp_script chk_splunkd {
script "pidof splunkd"
interval 2
fall 2
rise 2
}
vrrp_instance VI_1 {
interface eth0
state BACKUP
advert_int 1
virtual_router_id 51
priority 100
nopreempt
smtp_alert
authentication {
auth_type PASS
auth_pass passme
}
virtual_ipaddress {
10.126.246.245
}
track_script {
chk_splunkd
}
notify_master /etc/keepalived/scripts/master.sh
notify_backup /etc/keepalived/scripts/stop_service.sh
notify_fault /etc/keepalived/scripts/stop_service.sh
}
Тем не менее, я обнаружил, что даже когда один узел переходит в состояние отказа и прекращает отправку рекламных объявлений VRRP, другой узел не переходит автоматически в основное состояние. Когда я пытался отслеживать рекламные пакеты VRRP с помощью tcpdump -vv -i eth0 vrrp
Я обнаружил, что даже после того, как реклама одного узла останавливается, другой узел не начинает автоматически отправлять рекламные объявления, указывающие, что теперь он стал главным.
Пожалуйста, помогите мне узнать, что мне не хватает.
Спасибо,
Keerthana
1 ответ
Проблема заключалась в том, что во время запуска, когда один узел стал главным, другой перешел в режим отказа из-за pidof splunkd
Команда, которая вернет 1, так как мой сервис Spunk должен быть включен только на главном узле. После того, как я отредактировал скрипт notify, чтобы записать текущее состояние во внешний файл и прочитать состояние, которое необходимо выполнить в моих скриптах notify, все стало работать нормально.