Что означает РАВНОЕ состояние keepalived config?
Я столкнулся с новым для меня, неизвестным значением переменной "state" - "EQUAL". Более конкретно:
vrrp_script chk_master {
script "/var/<path>/scripts/cmaster.sh"
timeout 25
interval 30
weight -120
}
vrrp_instance VI {
interface eth0
state EQUAL
priority 101
virtual_router_id 68
advert_int 1
authentication {
auth_type PASS
auth_pass password:
}
virtual_ipaddress {
x.x.x.x/x
}
track_script {
chk_master
}
notify /usr/local/bin/keepalived-notify.sh
}
vrrp_script chk_standby {
script "/var/<path>/scripts/cstandby.sh"
timeout 25
interval 30
weight 20
}
vrrp_instance VI2 {
interface eth0
state EQUAL
priority 100
virtual_router_id 69
advert_int 1
authentication {
auth_type PASS
auth_pass password:
}
virtual_ipaddress {
x.x.x.x/x
}
track_script {
chk_standby
}
notify /usr/local/bin/keepalived-notify2.sh
}
Кто-нибудь знает, что означает это состояние? В чем разница между состояниями "EQUAL" и "MASTER"/"BACKUP"? Я не нашел ответа в официальных документах. Thnx.
2 ответа
В MASTER/BACKUP, MASTER всегда выбирается, если это операция. С EQUAL ни один из них не является предпочтительным.
Если у вас есть MASTER / BACKUP и мастер отказывает, вы переключитесь на BACKUP. Но когда МАСТЕР восстанавливается, вы переключаетесь на него. С EQUAL этого бы не случилось.
Согласно комментарию @SiHa в принятом ответе, «EQUAL» не является состоянием, сообщество GitHub решает эту проблему только потому, что в конкретной версии (фиксации) Keepalived EQUAL не сообщил об ошибке, она волшебным образом не становится новое состояние, теперь, если вы попробуете равное состояние, вы получите сообщение об ошибке «неизвестное состояние «РАВНО», по умолчанию — РЕЗЕРВНОЕ КОПИРОВАНИЕ».