keepalived+mysql backup服务器可ping通过vip但telnet vip+3306失败问题
环境:
OS:CentOS 7_X64
数据库:mysql-5.7
MASTER:192.168.119.23
BACKUP:192.168.119.24
VIP:192.168.119.138
keepalived+mysql搭建过程的详细配置就不描述了,网上很多写得很详细的配置文档自己可以去参考,我们直奔主题 。
这里主要分享在下本人在搭建公司的keepavlied+mysql出现一个很奇怪的现象,当A服务器为master主时邦定VIP 192.168.119.138,在A本机上可以正常ping 192.168.119.138 和 telnet 192.168.119.138 3306端口,此时在B服务器上ping 192.168.119.138也正常,但telnet 192.168.119.138 3306 时出现找不到路由的错误提示,同时检查B服务器此时是没有VIP 属于正常的现象,可是telnet VIP+其他端口正常的。
经常反复的测试发现,当A、B服务器同时运行keepalived时,作为backup角色的服务器无法telnet 192.168.119.138 3306,将backup角色服务器上的keepalived关闭后,却可以正常ping telnet。
问题还是在于配置文件,将keepalived.conf配置文件的LVS用不到调试算法lb_algo和转发方式lb_kind去掉,正是这两项导致backup服务器无法访问mysql。正常的配置文件如下:
[root@DB01 ~]# vi /etc/keepalived/keepalived.conf
global_defs {
notification_email {
1234@sina.com
}
notification_email_from 1234@test.com
smtp_server 127.0.0.1
smtp_connect_timeout 30
router_id MYSQL_HA #标识,双主相同
}
vrrp_instance VI_1 {
state BACKUP #两台都设置BACKUP
interface eth0
virtual_router_id 51 #主备相同
priority 100 #优先级,backup设置50
advert_int 1
nopreempt #不主动抢占资源,只在master这台优先级高的设置,backup不需设置
authentication {
auth_type PASS
auth_pass 1111
}
virtual_ipaddress {
192.168.119.138
}
}
virtual_server 192.168.0.204 3306 {
delay_loop 2
#lb_algo rr #LVS算法,用不到,我们就关闭了
#lb_kind DR #就是这项导致上述的现象,LVS模式,如果不关闭,备用服务器不能通过VIP连接主MySQL
persistence_timeout 50 #同一IP的连接60秒内被分配到同一台真实服务器
protocol TCP
real_server 192.168.119.23 3306 { #检测本地mysql,backup也要写检测本地mysql
weight 3
notify_down /usr/local/keepalived/mysql.sh #当mysq服down时,执行此脚本,杀死keepalived实现切换,也可以加入其他命令或脚本。
TCP_CHECK {
connect_timeout 3 #连接超时
nb_get_retry 3 #重试次数
delay_before_retry 3 #重试间隔时间
}
}
虽然问题是解决的了,但没搞明白为什么会这样?我使用相同版本的mysql和keepalived在RHEL 6.0 X64环境下测试并没有出现这问题。求高手出现解答。
keepalived+mysql backup服务器可ping通过vip但telnet vip+3306失败问题的更多相关文章
- MySQL高可用性之Keepalived+MySQL(双主热备)
环境描述:OS:CentOS6.5_X64MASTER:192.168.0.202BACKUP:192.168.0.203VIP:192.168.0.204 1.配置两台Mysql主主同步[root@ ...
- Keepalived+MySQL双主
一.Keepalived+MySQL Replication的应用场景 MySQL的高可用方案有cluster,MMM,MHA等,这些高可用方案都要三台服务器以上,成本有点高,今天介绍一个低成本高可用 ...
- KeepAlived+MySQL互为主从
http://blog.csdn.net/socho/article/details/51804720 解决Master单点问题,两台mysql互为主备,双向replication.当一master挂 ...
- LVS+Keepalived+Mysql+主备数据库架构[4台]
这是一个坑...磨了不少时间.见证自己功力有待提升... 架构图 数据库 1.安装数据库 这块不难, 直接引用:mysql安装 2.数据库主备 这块不难, 直接引用: mysql主备 虚拟VIP 重点 ...
- keepalived双BACKUP加nopreempt失效、手动监控服务脚步。
keepalived双BACKUP加nopreempt不起作用,两个机器同时拥有vip, 排查几天发现是防火墙问题,啃爹. 打开 vi /etc/sysconfig/iptables 插入一条:-A ...
- keepalived+MySQL双主搭建
keepalived+MySQL双主搭建过程 首先要简单了解一下keepalived: Keepalived是Linux下一个轻量级别的高可用解决方案.高可用(High Avalilability,H ...
- 【Keepalived+MySQL】MySQL双主互备+高可用
一.基本信息说明 [DB1] IP: 192.168.102.144 hostname: LVS-Real1 [DB2] IP: 192.168.102.145 hostname: LVS-Real2 ...
- Keepalived+MySQL双主架构
l 架构准备 Node1 192.168.15.3 Node2 192.168.15.4 VIP 192.168.15.254 l 软件 MySQL 5.6 Keepalive yum insta ...
- MySQL 高可用性—keepalived+mysql双主(有详细步骤和全部配置项解释)
博主QQ:819594300 博客地址:http://zpf666.blog.51cto.com/ 有什么疑问的朋友可以联系博主,博主会帮你们解答,谢谢支持! 前言:生产环境中一台mysql主机存在单 ...
随机推荐
- springboot快速使用
1.编写SpringConfig 用于实例化Spring容器 @Configuration //通过该注解来表明该类是一个Spring的配置,相当于一个xml文件 @Bean // 通过该注解来表明是 ...
- Git基础(四) 查看已暂存和未暂存的修改
比较工作目录中当前文件和暂存区域快照之间的差异(也就是修改之后还没有暂存起来的变化内容) git diff 比较已暂存的将要添加到下次提交里的内容 git diff --cached Git 1.6. ...
- webpack学习笔记--整体配置结构
之前的章节分别讲述了每个配置项的具体含义,但没有描述它们所处的位置和数据结构,下面通过一份代码来描述清楚: const path = require('path'); module.exports = ...
- C#学习-方法
方法是由方法签名和一系列语句的代码块组成. 其中方法签名包括方法的访问级别(比如public或private).可修饰符(例如abstract关键字).方法名称和参数. C#也支持方法重载.方法重载指 ...
- delphi使用sqlite数据库时的中文路径问题
https://blog.csdn.net/yuehaiyang/article/details/4184198 如果数据库所在的路径是中文路径的话,根本运行不起来,会报错,因为sqlite用的是ut ...
- update + join 多表操作
UPDATE vtiger_notificationcf as a INNER JOIN vtiger_crmentity as b ON a.notificationid = b.crmid SET ...
- [转]基于国家标准的 EndNote 输出样式模板 ----直接用endnote导入到word,不用自己一个个改参考文献了
EndNote 相当于一个数据库,将添加/导入的文献存档.需要引用文献的时候就从中选择一个插入到文档中,EndNote 会自动给你编号.在文档末尾建立相应的参考文献列表.但是各种杂志.单位要求的文献著 ...
- Django Models的数据类型汇总
https://blog.csdn.net/devil_2009/article/details/41735611 Django Models的数据类型 汇总 AutoField IntegerFie ...
- day5.python列表练习题
写代码,有如下列表,按照要求实现每一个功能 li = [“alex”, “WuSir”, “ritian”, “barry”, “wenzhou”] 1.计算列表的长度并输出 print(len(li ...
- HDU3488 Tour KM
原文链接http://www.cnblogs.com/zhouzhendong/p/8284304.html 题目传送门 - HDU3488 题意概括 给一个n的点m条边的有向图. 然后让你把这个图分 ...