Мне уже удалось настроить настройку, в которой у меня есть мастер и машина для резервного копирования, поэтому, когда мастер выходит из строя, резервное копирование возвращается. И когда мастер запускается снова, он занимает позицию мастера, а резервная копия снова берет резервную копию.
Мой вопрос в том, как я могу настроить keepalived так, чтобы в случае отказа одной машины, а другой стал ведущим, он оставался ведущим, пока не выйдет из строя сам? Это означает, что я не хочу иметь статический мастер и резервную копию, мне нужно, чтобы они были взаимозаменяемыми. Когда одна из них выходит из строя, другая становится главной, а когда первая восстанавливается, она становится резервной копией второй машины.
Я спрашиваю об этом потому, что пытаюсь настроить репликацию mysql. Поэтому всякий раз, когда у меня есть мастер, я хочу, чтобы машина резервного копирования была подчинена этой машине и реплицировала данные, а если мастер умирает, я хочу, чтобы был переход, который удерживает главную позицию, чтобы он мог принимать новые данные. Когда первая машина снова заработает, я хочу, чтобы она реплицировала новые данные и продолжала слушать.
Любые советы будут оценены.
Это моя текущая конфигурация поддержки активности
Мастер:
global_defs {
script_user root root
}
vrrp_script chk_mysql {
script "/home/replication_scripts/checker.sh"
interval 2 # every 2 seconds
rise 2
fall 2
weight 10
}
vrrp_instance ctrl1 {
state MASTER
advert_int 1
interface br-data0
virtual_router_id 100
priority 100
unicast_src_ip 10.3.80.102
authentication {
auth_type PASS
auth_pass 1234
}
track_script {
chk_mysql
}
virtual_ipaddress {
10.3.80.101/16 dev br-data0
}
notify_backup /home/replication_scripts/to_backup.sh
notify_master /home/replication_scripts/to_master.sh
}
Резервное копирование:
global_defs {
script_user root root
}
vrrp_script chk_mysql {
script "/home/replication_scripts/checker.sh"
interval 2 # every 2 seconds
fall 2
rise 2
weight 10
}
vrrp_instance ctrl2 {
state BACKUP
interface br-data0
virtual_router_id 100
priority 100
unicast_src_ip 10.3.80.103
advert_int 1
authentication {
auth_type PASS
auth_pass 1234
}
track_script {
chk_mysql
}
virtual_ipaddress {
10.3.80.101/16 dev br-data0
}
notify_master /home/replication_scripts/to_master.sh
notify_backup /home/replication_scripts/to_backup.sh
}