环境说明:
DB:MySQL 5.7.22 双主+VIP OS:Redhat 7.9
操作:
MySQL 5.7.22 双主架构,没有使用keepalived,而是使用手动添加vip方式。
例如:
ip addr add 192.168.31.150/32 dev enp0s3
问题:
在进行切换演练
主库移除VIP地址
ip addr del 192.168.31.150/32 dev enp0s3
主库添加VIP
ip addr add 192.168.31.150/32 dev enp0s3
应用程序20分钟内无法链接数据库。
问题原因:
交换机arp缓存更新时间为20分钟,应用服务器本地arp缓存没有更新,vip地址记录的mac地址还是原主IP地址。
临时解决方案:
手动更新arp。
向子网进行 arp 宣告,通知大家 ip 变更了:
[root@mysql02 ~]# arping -c 1 -I enp0s3 -U 192.168.31.150
ARPING 192.168.31.150 from 192.168.31.150 enp0s3
Sent 1 probes (1 broadcast(s))
Received 0 response(s)
永久解决方案:
配置keepalived,自动完成IP切换和arp更新操作。