mysql之vip漂移

mac2024-01-27  29

续上一篇博客 vip漂移的好处:

查看谁是master的时候,不需要再进入数据库查看状态 直接使用ip addr 进行查就好了, 哪个主机有vip:172.25.78.100,谁就是master 因为用户访问入口只能有一个,所以需要配置vip

【12】配置脚本和vip漂移

1:【server4】 vim /etc/masterha/app1.cnf ##在原文件基础上添加两行 5:master_ip_failover_script= /usr/local/bin/master_ip_failover 6:master_ip_online_change_script=/usr/local/bin/master_ip_online_change

【server3】which ip ??????? 2:【server4】编辑master_ip_failover 和 master_ip_online_change 两个脚本 修改内容: 这里的文件,是从我自己的物理机scp过来的 vim master_ip_failover 11 my $vip = ‘172.25.78.100/24’; 13 my $ssh_start_vip = “/sbin/ip addr add $vip dev eth0”; 14 my $ssh_stop_vip = “/sbin/ip addr del $vip dev eth0”; vim master_ip_online_change 7 my $vip = ‘172.25.78.100/24’; #Virtual IP 9 my $ssh_start_vip = “/sbin/ip addr add $vip dev eth0”; 10 my $ssh_stop_vip = “/sbin/ip addr del $vip dev eth0”;

3:【server4】配置自动添加和删除vip

cp master_ip_failover master_ip_online_change /usr/local/bin cd /usr/local/bin/ chmod +x master_ip_failover master_ip_online_change 4:目前server2是master,所以先给server2添加vip 【server2】 ip addr add 172.25.78.100/24 dev eth0 5:手动测试vip漂移 【server4】 关闭manager masterha_stop --conf=/etc/masterha/app1.cnf 开启手动切: ##将vip转移到server1上 masterha_master_switch --conf=/etc/masterha/app1.cnf --master_state=alive --new_master_host=172.25.78.1 --new_master_port=3306 --orig_master_is_new_slave --running_updates_limit=10000

【serve1】ip addr ##有vip

6:测试全自动切换 【server1】关闭mysqld,模拟故障 systemctl stop mysqld 【server4】删除app1.failover.complete 开启manager(此时server1有了故障,所以vip自动漂移到了server2,也就是漂移过后,server2为master,因为配置文件中写道server3不能为master,只能为slave,所以vip并没有漂移到server3) nohup masterha_manager --conf=/etc/masterha/app1.cnf &>/dev/null & 再查看日志,可以看到切换成功,vip也成功漂移 cat /var/log/masterha.log 【server1】ip addr##没有vip 【server2】ip addr ##有vip 【server3】也可以进入数据库,查看到此时的master为server2 mysql -uroot -pWestos+001 show slave status\G ##可以看到master为server2

最新回复(0)