mysql keepalive架构_高性能业务架构解决方案(Keepalive+MySQL)

高性能业务架构解决方案(Keepalive+MySQL)

一、 概况

二、 相关理论

三、 架构拓扑

四、 资源规划

五、 实施部署

5.1初始化配置

5.2 Mysql主从同步配置

5.3 配置keepalived实现热备

5.3.1 Keepalived的安装

5.3.2 Keepalived的配置

5.3.3 监测脚本

六、 测试

6.1 测试主从同步

6.2 高可用测试

七、注意事项

7.1 LVS安装注意事项

7.2 将相关开机自启服务

一、概况

关于MySQL-HA,目前存在多种解决方案,例如如heartbeat、drbd、mmm、共享存储,但是它们各有优缺点。heartbeat、drbd配置较为复杂,需要自己写脚本才能实现MySQL自动切换,脚步编写对应无编程功底的人来说存在很大的难度;对于mmm,生产环境中很少有人用,且mmm管理端需要单独运行一台服务器上,要是想实现高可用,就得对mmm管理端做HA,这样无疑又增加了硬件开支;对于共享存储,MySQL数据还是放在本地较为安全,存储设备毕竟存在单点隐患。使用MySQL双master+keepalived是一种非常好的解决方案,在MySQL-HA环境中,MySQL互为主从关系,这样就保证了两台MySQL数据的一致性,然后用keepalived实现虚拟IP,通过keepalived自带的服务监控功能来实现MySQL障时自动切换。

二、相关理论

keepalived:顾名思义是保持存活,常用来搭建设备的高可用,防止业务核心设备出现单点故障。keepalived基于VRRP协议来实现高可用,主要用作realserver的健康检查以及负载均衡主机和backup主机之间的故障漂移。如果将TCP/IP划分为5层,则Keepalived就是一个类似于3~5层交换机制的软件,具有3~5层交换功能,其主要作用是检测web服务器的状态,如果某台web服务器故障,Keepalived将检测到并将其从系统中剔除,当该web服务器工作正常后Keepalived自动将其加入到服务器群中,这些工作全部自动完成,而不需要人工干预,只需要人工修复故障的web服务器即可。

三层机理是发送ICMP数据包即PING给某台服务器,如果不通,则认为其故障,并从服务器群中剔除;四层机理是检测TCP端口号状态来判断某台服务器是否故障,如果检测端口存在异常,则从服务器群中剔除;五层机理是根据用户的设定检查某个服务器应用程序是否正常运行,如果不正常,则从服务器群中剔除。

三、架构拓扑

6660977e1022720d4b65796c3c842671.png

四、资源规划

主机名称

内网IP

操作系统

SQL-Master

10.10.10.11

Centos 6.5 64位

SQL-Backup

10.10.10.12

Centos 6.5 64位

VIP

10.10.10.50

\

五、实施部署

5.1初始化配置

lgetenforce 0关闭SeLinux

l修改主机名

l防火墙开放22/3306端口

l测试网络连通性

l更新YUM源

5.2Mysql主从同步配置

主从均需要修改my.cnf

Mysql-Master的配置文件如下

vim /etc/my.cnf

Mysql-Backup需要需要一下,其余与主保持一致

server-id=2

auto_increment_offset=2

查看此时查看mysql-Master与mysql-Backup的File与Position值

aed1da3ff24b1eed7bb46207770844e6.png

1f1d735a512b4b440dadc636ea8231e1.png

Mysql-Master配置如下:

Mysql-Backup配置如下:

查看结果

75408d6b98a2b29ce098c6d18060e37e.png

5.3配置keepalived实现热备

5.3.1 Keepalived的安装

在master与backup上面均需要配置

安装开发组环境工具

安装相应软件包

如果/usr/src/kernels/下面没文件使用yum安装kernel-devel

#下载keepalive

(注意这个步骤要看到以下字样才是正常的)

Use IPVS Framework : Yes

IPVS sync daemon support : Yes

6cf42b79120feed5d6da784429e4c6d2.png

至此keepalive就已经安装完毕。

5.3.2 Keepalived的配置

vim /etc/keepalived

测试3a1f11678bf822732b0ab51608f54ea1.png

9a9b0d1395207cb04c75a79eab8b8f40.png

测试VIP连通性

1a033ce9bd7ff5ab3cac82282305f85e.png

5.3.2 Keepalived的配置

vim /usr/mysql_check.sh

六、测试

6.1测试主从同步

主服务器创建数据库

a5bb669d5f5d91444ec31be72925dd66.png

查看slave

393caf7f7edbdcd1d974b4ffc3bf7143.png

测试主从同步已经成功。

6.2 高可用测试

停止mysql-M的keepalived

01d4dc306241abed7001466b646eaf1a.png

查看VIP:10.10.10.50已经迁移至mysql-B

dc431b7733cc6c456157bcb29c366263.png停止mysql-M上的mysql

bea69b9808a61500f207d6c35197c7f2.pngVIP已经迁移到mysql-B

3e03664b13622458693901d5809f9685.png

七、注意事项

7.1 LVS安装注意事项

ln -s /usr/src/kernels/2.6.32-642.1.1.el6.x86_64/usr/src/linux   #此处要根据实际操作系统最高版本的kernel为准

./configure --with-kernel-dir=/usr/src/kernels/2.6.32-642.1.1.el6.x86_64

(注意这个步骤要看到以下字样才是正常的)

Use IPVS Framework : Yes

IPVS sync daemon support : Yes

396d3482ce2e3b3c15dba62b65f626e2.png

7.2 将相关开机自启服务

开机自启服务

开机自启脚本

66a9ffbc72fe6440f100dbdf839c25f4.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值