HAProxy+Keepalived实现MySQL的高可用负载均衡

当前环境说明

A:10.10.99.180(MySQLMaster)----|

|________VIP(10.10.99.103)
B:10.10.99.108(MySQLSlave)------|
C:10.10.105.11(MySQLSlave)
D:10.10.105.23(HAProxy+Keepalived)

E:10.10.105.24(HAProxy+Keepalived)
VIP:10.10.105.30

如下操作在10.10.105.23和10.10.105.24上都要进行

1、调整内核参数,添加非本地IP绑定支持

#vi/etc/sysctl.conf
net.ipv4.ip_nonlocal_bind=1
#sysctl–p

2、安装haproxy和keepalived
yum-yinstallhaproxykeepalived

3、配置keepalived.conf文件

#vi/etc/haproxy/haproxy.cfg

!ConfigurationFileforkeepalived

global_defs{

notification_email{

jinyan2049@163.com

}

notification_email_fromkeepalived@chtopnet.com

smtp_server127.0.0.1

smtp_connect_timeout30

router_idLVS_DEVEL

}

vrrp_instanceVI_1{

stateMASTER#10.10.105.24设置为BACKUP

interfaceeth0

virtual_router_id51

realserver10.10.105.23#10.10.105.24改自己的ip

priority90#10.10.105.24设置为80

advert_int1

authentication{

auth_typePASS

auth_pass111111

}

virtual_ipaddress{

10.10.105.30

}

4、配置haproxy

#vi/etc/haproxy/haproxy.cfg

#thisconfigneedshaproxy-1.1.28orhaproxy-1.2.1

global

#log127.0.0.1local0

log127.0.0.1local1notice

maxconn5000

uid99

gid99

daemon

pidfile/var/run/haproxy.pid

defaults

logglobal

modehttp

#optionhttplog

optiondontlognull

retries3

optionredispatch

maxconn2000

contimeout5000

clitimeout50000

srvtimeout50000

listenMYSQL10.10.105.30:3306

modetcp

maxconn2000

balanceroundrobin

servermysql-10.10.99.10810.10.99.108:3306checkinter5000fall1rise2

servermysql-10.10.105.1110.10.105.11:3306checkinter5000fall1rise2

srvtimeout20000

listenstats_auth10.10.105.23:80

#listenstats_auth10.10.105.24:80#backupconfig

statsenable

statsuri/korea

statsauthadmin:12345

statsadminifTRUE

5、分别启动haproxy和keepalived

[root@vm-105-23~]#/etc/init.d/haproxyrestart&&/etc/init.d/keepalivedrestart

Stoppinghaproxy:[OK]

Startinghaproxy:[OK]

Stoppingkeepalived:[OK]

Startingkeepalived:[OK]

6、查看vip是否起来

[root@vm-105-23~]#ipaddr

1:lo:<LOOPBACK,UP,LOWER_UP>mtu16436qdiscnoqueuestateUNKNOWN

link/loopback00:00:00:00:00:00brd00:00:00:00:00:00

inet127.0.0.1/8scopehostlo

inet6::1/128scopehost

valid_lftforeverpreferred_lftforever

2:eth0:<BROADCAST,MULTICAST,UP,LOWER_UP>mtu1500qdiscpfifo_faststateUPqlen1000

link/ether52:54:00:6c:d5:95brdff:ff:ff:ff:ff:ff

inet10.10.105.23/24brd10.10.105.255scopeglobaleth0

inet10.10.105.30/32scopeglobaleth0

inet6fe80::5054:ff:fe6c:d595/64scopelink

valid_lftforeverpreferred_lftforever

7、因为我们知道crontab的颗粒细化度只有1分钟,不能细化到秒,所以我们编写haproxy循环检测脚本,并且放入后台运行

cd/home/ops/scripts

nohupshcheckhapid.sh&

vicheckhapid.sh

#!/bin/bash

whiletrue

do

HA=`ps-ef|grephaproxy|grep-vgrep|wc-l`

if[$HA-eq0];

then

/etc/init.d/haproxystart

echo"">/dev/null

sleep2

if[$HA-eq0];

then

/etc/init.d/keepalivedstop

fi

fi

sleep2

done

8、高可用测试

在10.10.105.23上执行ipaddr|grepeth0

[root@vm-105-23~]#ipaddr|grepeth0

eth0:<BROADCAST,MULTICAST,UP,LOWER_UP>mtu1500qdiscpfifo_faststateUPqlen1000

inet10.10.105.23/24brd10.10.105.255scopeglobaleth0

inet10.10.105.30/32scopeglobaleth0

关闭haproxy再打开一个终端继续执行ipaddr|grepeth0,观测

可以发现当无法迅速启动haproxy进程之后,循环脚本会杀死keepalived进程,实现vip的迁移

10.10.105.30迅速转移到10.10.105.24这台备机上!

9、mysql测试

程序在读写分离之后,所有的select语句可以直接通过访问10.10.105.303306来进行工作,后端的mysql服务器可以实现并发读操作

[root@vm-105-23scripts]#mysqlslap-h10.10.105.30--concurrency=100--iterations=1--create-schema='ultrax'--query='select*frompre_home_share;'--number-of-queries=10--debug-info-ubbs-piz3n3s0ft

Benchmark

Averagenumberofsecondstorunallqueries:1.028seconds

Minimumnumberofsecondstorunallqueries:1.028seconds

Maximumnumberofsecondstorunallqueries:1.028seconds

Numberofclientsrunningqueries:100

Averagenumberofqueriesperclient:0

Usertime0.02,Systemtime0.08

Maximumresidentsetsize6996,Integralresidentsetsize0

Non-physicalpagefaults1584,Physicalpagefaults0,Swaps0

Blocksin0out0,Messagesin0out0,Signals0

Voluntarycontextswitches1280,Involuntarycontextswitches91

10、效果图

可以访问http://10.10.105.23/korea

用户名admin

密码12345

转载于:https://blog.51cto.com/jinyan2049/1316694

HAProxy + Keepalived实现MySQL的高可用负载均衡相关推荐

  1. haproxy负载均衡_基于mycat+haproxy+keepalived搭建mysql数据库高可用负载均衡

    概述 目前业界对数据库性能优化普遍采用集群方式,而oracle集群软硬件投入昂贵,mysql则比较推荐用mycat去搭建数据库集群,下面介绍一下怎么用mycat+haproxy+keepalived搭 ...

  2. keepalive+nginx实现负载均衡高可用_超详细的LVS+keepalived+nginx实现高性能高可用负载均衡集群教程...

    概述 前面已经介绍了前两部分内容,下面主要介绍在nginx服务器方面的配置和测试整个集群是否可用. 在realserver端配置VIP 1.两台nginx服务器都要执行下面脚本: #vi /etc/r ...

  3. ngnix+keepalived 实现N主高可用负载均衡web群集

    ngnix+keepalived 实现N主高可用负载均衡web群集 思路: 总结一下最近学习的nginx+keepalived 的负载均衡架构,发现linux的群集系统都是负载均衡层加服务器群组层,实 ...

  4. Keepalived+LVS-DR模式配置高可用负载均衡集群

    环境: 虚拟机:VMware Workstation 操作系统:CentOS 5.5 一.keepalived+lvs-DR模式配置高可用负载均衡 拓扑如下: 二.服务器ip配置信息 1. ip_lb ...

  5. 利用keepalived和haproxy配置mysql的高可用负载均衡

    http://www.cnblogs.com/tae44/p/4717334.html 实验系统:CentOS 6.6_x86_64(2.6.32-504.30.3.el6.x86_64) 实验前提: ...

  6. Hapoxy+keepalived实现双主高可用负载均衡

    在测试了Nginx+Keepalived的负载均衡后,也对Haproxy+Keepalived双主模式做了测试,双主的模式充分利用了服务器资源,这样不会导致服务器浪费. 这里举例说明: 默认情况下,第 ...

  7. 在Linux基于Keepalived搭建LVS实现高可用负载均衡

    文章目录 前言 搭建步骤 配置真实服务器(RS) 配置负载均衡服务器(DS主) 配置负载均衡服务器(DS备) 测试 查看DS主备配置 访问VIP验证负载均衡 查看虚拟路由冗余协议(VRRP)数据包 验 ...

  8. linux 跨物理 集群,linux学习之使用keepalived结合lvs搭建高可用负载均衡集群

    环境如下: 192.168.2.199 vm1.example.com HA主服务器 192.168.2.202vm2.example.com HA备服务器 192.168.2.205vm3.exam ...

  9. Linux 笔记 - 第十八章 Linux 集群之(三)Keepalived+LVS 高可用负载均衡集群

    一.前言 前两节分别介绍了 Linux 的高可用集群和负载均衡集群,也可以将这两者相结合,即 Keepalived+LVS 组成的高可用负载均衡集群,Keepalived 加入到 LVS 中的原因有以 ...

  10. Keepalived+Nginx实现高可用负载均衡集群

    转载自 https://www.cnblogs.com/mrlapulga/p/6857294.html 一 环境介绍 1.操作系统 CentOS Linux release 7.2.1511 (Co ...

最新文章

  1. 皮一皮:这是直男的鬼才逻辑?
  2. 剁馅机器人图片_黄金手撕面包培训图片信得过的工艺利润高
  3. python就业方向选择-【经验分享】Python最好的几大就业方向与岗位技能要求!
  4. 【MySQL原理解析】01. 一条SQL查询语句是如何执行的
  5. 树莓派apt-get update速度慢的解决方法
  6. 【java基础知识】设置表格内容居中显示,表格字体大小调整,表格列宽调整
  7. linux netfilter路由表,Linux netfilter 学习笔记 之十四 netfilter模块会修改数据包关联的路由缓存吗...
  8. onenote快捷键_onenote链接系列:链接笔记如何产生?与插入链接的区别
  9. 基于Jupyter Notebook从头学习机器学习 | 入门资料分享
  10. 13. jQuery - 设置内容和属性
  11. springboot整合sentinel
  12. Cocos Creator 国旗头像生成器,源码奉上!
  13. leveldb的sstable-ldb解析
  14. 欢迎使用CSDN-markdown编辑器额企鹅去恶趣味
  15. Spring AOP中切入点@Pointcut的使用
  16. [book]《心流:最优体验心理学》
  17. Day050--jQuery表单事件 轮播图 插件库 ajax
  18. 服务器不能用pe安装win7系统安装,PE安装win7系统失败的完美解决方案
  19. 基于html和Node.js的网页音乐播放器设计
  20. EFM32芯片jlink无法连接,无法调试,解锁流程

热门文章

  1. DPDK之KNI原理
  2. SQlite数据库的C编程接口(一) 简介 ——《Using SQlite》读书笔记
  3. PostgreSQL学习手册(PL/pgSQL过程语言)
  4. 【紫书第十章】数论与概率入门
  5. 功夫小子实践开发-资源异步加载及过渡场景的分析和实现
  6. vs2017如何编程python_vs2017怎么编写python代码
  7. netbeans写登录界面java_NetBeans 界面美化与字体设置
  8. python爬虫数据实际操作_【数据分析】【数据获取】【Python爬虫】快速入门+实例+代码+GIF实操...
  9. android拉勾轮播,拉勾网顶部轮播图的实现(一)以及简单闭包的应用
  10. android 播放器 下载,VPlayer安卓最新版