keepalived + mysql 双击热备
来源:互联网 发布:若水晒密软件 编辑:程序博客网 时间:2024/06/13 04:40
之前的博文介绍了如何配置MYSQL双主互备.
见http://showerlee.blog.51cto.com/2047005/1187693
系统环境:CentOS 6.3 x64
MySQL版本:mysql-5.6.10
MySQL-VIP:192.168.7.253
MySQL-master1:192.168.7.201
编译安装,实际以本机kernel版本为准
# wget http://www.keepalived.org/software/keepalived-1.2.7.tar.gz
# tar zxvf keepalived-1.2.7.tar.gz
# cd keepalived-1.2.7
# ./configure --prefix=/usr/local/keepalived --with-kernel-dir=/usr/src/kernels/2.6.32-279.el6.x86_64
新建一个配置文件,默认keepalived启动会去/etc/keepalived目录下寻找配置文件
# mkdir /etc/keepalived
# vi /etc/keepalived/keepalived.conf
------------------
global_defs {
notification_email {
lzyangel@126.com
notification_email_from lzyangel@126.com
smtp_server stmp.126.com
smtp_connect_timeout 30
router_id MySQL-ha
}
vrrp_instance VI_1{
# 在初始化状态下定义为主设备
state BACKUP
# 注意网卡接口
interface eth0
virtual_router_id 51
# 优先级,另一台改为90
priority 100
advert_int 1
# 不主动抢占资源
nopreempt
auth_pass 1111
}
192.168.7.253
}
}
virtual_server 192.168.7.253 3306 {
# 每个2秒检查一次real_server状态
delay_loop 2
# LVS算法
lb_algo wrr
# LVS模式
lb_kind DR
# 会话保持时间
persistence_timeout 60
protocol TCP
weight 3
# 检测到服务down后执行的脚本
notify_down /etc/rc.d/keepalived.sh
TCP_CHECK {
# 连接超时时间
connect_timeout 10
# 重连次数
nb_get_retry 3
# 重连间隔时间
delay_before_retry 3
# 健康检查端口
connect_port 3306
}
编写检测服务down后所要执行的脚本
# vi /etc/rc.d/keepalived.sh
-------------
#!/bin/sh
/etc/init.d/keepalived stop
-------------
# chmod +x /etc/rc.d/keepalived.sh
注:此脚本是上面配置文件notify_down选项所用到的,keepalived使用notify_down选项来检查real_server的服务状态。
当发现real_server服务故障时,便触发此脚本.
我们可以看到,脚本就一个命令:
通过pkill keepalived强制杀死keepalived进程,从而实现了MySQL故障自动转移.
启动keepalived
查看连接状态
# ps -aux | grep keepalived
返回:
---------------
找一台局域网PC,然后去ping MySQL的VIP,这时候MySQL的VIP是可以ping的通的
停止MySQL服务,看keepalived健康检查程序是否会触发我们编写的脚本,去kill掉keepalived进程
# service mysqld stop
# ps -aux | grep keepalived
2.在MySQL-master2:192.168.7.249服务器上keepalived安装及配置
编译安装,实际以本机kernel版本为准
# wget http://www.keepalived.org/software/keepalived-1.2.7.tar.gz
# tar zxvf keepalived-1.2.7.tar.gz
# cd keepalived-1.2.7
# ./configure --prefix=/usr/local/keepalived --with-kernel-dir=/usr/src/kernels/2.6.32-
279.el6.x86_64
新建一个配置文件,默认keepalived启动会去/etc/keepalived目录下寻找配置文件
# mkdir /etc/keepalived
# vi /etc/keepalived/keepalived.conf
------------------
global_defs {
notification_email {
lzyangel@126.com
}
notification_email_from lzyangel@126.com
smtp_server stmp.126.com
smtp_connect_timeout 30
router_id MySQL-ha
}
vrrp_instance VI_1{
# 两台配置此处均是BACKUP
state BACKUP
# 注意网卡接口
interface eth0
virtual_router_id 51
# 优先级,另一台改为100
priority 90
advert_int 1
# 不主动抢占资源
nopreempt
authentication {
auth_type PASS
auth_pass 1111
}
virtual_ipaddress {
192.168.7.253
}
}
virtual_server 192.168.7.253 3306 {
# 每个2秒检查一次real_server状态
delay_loop 2
# LVS算法
lb_algo wrr
# LVS模式
lb_kind DR
# 会话保持时间
persistence_timeout 60
protocol TCP
real_server 192.168.7.249 3306 {
weight 3
# 检测到服务down后执行的脚本
notify_down /etc/rc.d/keepalived.sh
TCP_CHECK {
# 连接超时时间
connect_timeout 10
# 重连次数
nb_get_retry 3
# 重连间隔时间
delay_before_retry 3
# 健康检查端口
connect_port 3306
}
编写检测服务down后所要执行的脚本
# vi /etc/rc.d/keepalived.sh
-------------
#!/bin/sh
/etc/init.d/keepalived stop
-------------
启动keepalived
查看连接状态
# ps -aux | grep keepalived
返回:
---------------
至此配置完成,网站后台只需要配置MySQL-VIP:192.168.7.253虚拟地址即可
因为两台数据库的数据时同步的,用户访问的是MySQL-VIP:192.168.7.253虚拟地址,所以网站数据连接会无缝透明转接到master2服务器,实现双机热备+数据同步功能。保证网站数据库的实时可用性。
所以建议mysql与keeplived设置服务开机启动。
# chkconfig mysqld on
0 0
- keepalived + mysql 双击热备
- keepalived + mysql双击热备(2)
- centos mysql双击热备
- Redis 高级: Redis 双击热备之 keepalived
- Keepalived 双机热备
- Keepalived双机热备
- Keepalived双机热备
- Keepalived双机热备
- Keepalived双机热备
- Keepalived双机热备
- Keepalived双机热备
- Keepalived双机热备
- Keepalived双机热备
- keepalived 双机热备
- keepalived 双机热备
- MYSQL(主主)双机热备+Keepalived实现故障切换
- nginx keepalived双机热备
- nginx+keepalived双机热备
- 游戏的目标(二)
- 谈信任,谈教育
- 奇技淫巧之调试被远程线程注入的DLL
- JavaEE 下面使用Spring 时 web.xml 中ContextLoaderListener的作用及配置,多个配置文件时contextConfigLocation的作用
- javaEE JSP学习
- keepalived + mysql 双击热备
- 第五次做题笔记
- 【ci框架】codeigniter框架视频教程_用户权限管理系统完美版
- 游戏的目标(三)
- java httpURL连接远程服务器并返回数据(httpurlconnection)
- 变量作用域
- 个人自创Java最短爆栈功能——欢迎各路高手来战!
- 数据库权限配置例子第一部分
- JS对话框 JS模态对话框 showModalDialog用法详解 父窗口: