如何配置keepalived,使得选择master不是静态的?

如何配置keepalived,使得选择master不是静态的?

我已经成功配置了一套设置,其中有一台主计算机和一台备份计算机,因此当主计算机发生故障时,备份计算机将恢复运行。当主计算机再次启动时,它将接管主计算机的位置,而备份计算机将再次接管备份计算机的位置。

我的问题是,如何配置 keepalived,以便如果一台机器发生故障,另一台机器成为主机器,它会一直担任主机器,直到它自己发生故障?这意味着我不想有静态的主机器和备份机器,我需要它们可以互换。当其中一台发生故障时,另一台机器成为主机器,当第一台机器恢复时,它成为第二台机器的备份机器。

我之所以问这个问题是因为我正在尝试设置 mysql 复制。因此,每当我有一台主服务器时,我都希望备份计算机成为该计算机的从属并复制数据,并且如果主服务器死机,我希望有一个过渡来保持主服务器的位置,以便它可以获取新数据。当第一台机器恢复时,我希望它复制新数据并继续监听。

任何建议都将受到感谢。

这是我当前的 keepalived 配置

掌握:

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

}

相关内容