设为首页收藏本站

LinuxTone | 运维专家网论坛 - 最棒的Linux运维与开源架构技术交流社区!

 找回密码
 注册

用新浪微博连接

一步搞定

QQ登录

只需一步,快速开始

查看: 11193|回复: 195

[keepalived] Keepalived+mysql 自动切换   [复制链接]

Rank: 6Rank: 6

签到
14
注册时间
2009-12-27
最后登录
2012-5-2
在线时间
61 小时
阅读权限
70
积分
1083
帖子
34
主题
7
精华
0
UID
7135
发表于 2011-2-13 15:54:51 |显示全部楼层
本帖最后由 snifferqq 于 2011-2-13 16:12 编辑

Keepalived+mysql 自动切换
网络结构:

VIP 192.168.20.50
mysq11 192.168.20.37 主
mysql2 192.168.20.38 备

mysql 主主同步
二 安装keepalived
三 keepalived 主备配置文件
mysql状态检测脚本/root/bin/keepalived_check_mysql.sh
五 防火墙设置
六 测试及诊断
七 参考资料

注 keepalived之间使用vrrp组播方式通信使用的IP地址是224.0.0.18

mysql 主主同步
请百度谷歌。
二 安装keepalived
  1. wget http://www.keepalived.org/software/keepalived-1.2.2.tar.gz
  2. tar zxvf keepalived-1.2.2.tar.gz
  3. cd keepalived-1.2.2
  4. ./configure --prefix=/
  5. make
  6. make install
复制代码

三 keepalived 主备配置文件
主备置文件不同处有 state  nopreempt priority 参考资料里有详细说明作用
192.168.20.37 主配置
vim /etc/keepalived/keepalived.conf
  1. ! Configuration File for keepalived
  2. global_defs {
  3.    router_id 9ai9.net
  4. }
  5. vrrp_script check_run {
  6.    script "/root/keepalived_check_mysql.sh"
  7.    interval 5
  8. }
  9. vrrp_sync_group VG1 {
  10.     group {
  11.           VI_1
  12.     }
  13. }
  14. vrrp_instance VI_1 {
  15.     state MASTER
  16.     interface eth0
  17.     virtual_router_id 88
  18.     priority 100
  19.     advert_int 1
  20.     nopreempt
  21.     authentication {
  22.         auth_type PASS
  23.         auth_pass 9ai9.net
  24.     }
  25.     track_script {
  26.         check_run
  27.     }
  28.     virtual_ipaddress {
  29.         192.168.20.50
  30.     }
  31. }
复制代码
192.168.20.38 备用配置文件

vim /etc/keepalived/keepalived.conf
  1. ! Configuration File for keepalived
  2. global_defs {
  3.    router_id 9ai9.net
  4. }
  5. vrrp_script check_run {
  6.    script "/root/keepalived_check_mysql.sh"
  7.    interval 5
  8. }
  9. vrrp_sync_group VG1 {
  10.     group {
  11.           VI_1
  12.     }
  13. }
  14. vrrp_instance VI_1 {
  15.     state BACKUP
  16.     interface eth0
  17.     virtual_router_id 88
  18.     priority 80
  19.     advert_int 1
  20.     authentication {
  21.         auth_type PASS
  22.         auth_pass 9ai9.net
  23.     }
  24.     track_script {
  25.         check_run
  26.     }
  27.    
  28.     virtual_ipaddress {
  29.         192.168.20.50
  30.     }
  31. }
复制代码

mysql状态检测脚本/root/bin/keepalived_check_mysql.sh
vim  /root/keepalived_check_mysql.sh

  1. #!/bin/bash
  2. MYSQL=/usr/local/mysql/bin/mysql
  3. MYSQL_HOST=localhost
  4. MYSQL_USER=root
  5. MYSQL_PASSWORD=9ai9.net
  6. CHECK_TIME=3
  7. #mysql  is working MYSQL_OK is 1 , mysql down MYSQL_OK is 0
  8. MYSQL_OK=1
  9. function check_mysql_helth (){
  10.     $MYSQL -h $MYSQL_HOST -u $MYSQL_USER -p${MYSQL_PASSWORD} -e "show status;" >/dev/null 2>&1
  11.     if [ $? = 0 ] ;then
  12.     MYSQL_OK=1
  13.     else
  14.     MYSQL_OK=0
  15.     fi
  16.     return $MYSQL_OK
  17. }
  18. while [ $CHECK_TIME -ne 0 ]
  19. do
  20.     let "CHECK_TIME -= 1"
  21.    
  22.     check_mysql_helth
  23. if [ $MYSQL_OK = 1 ] ; then
  24.     CHECK_TIME=0
  25.     exit 0
  26. fi
  27. if [ $MYSQL_OK -eq 0 ] &&  [ $CHECK_TIME -eq 0 ]
  28. then
  29.     /etc/init.d/keepalived stop
  30.     exit 1
  31. fi
  32. sleep 1
  33. done
复制代码

赋予执行权限

  1. chmod 755 /root/keepalived_check_mysql.sh
复制代码

五 防火墙设置
vrrp协议 使用224.0.0.18地址组播
iptables -I RH-Firewall-1-INPUT  -d 224.0.0.18 -j ACCEPT

六 测试及工具
故障前
故障切换

可以用同网段的另一台服务器 arping 1 这个虚拟IP
看看对应该的MAC地址 可以知道虚拟IP对应的真实服务器

配置文件 不正确时 有时候日志会有以下提示
VRRP_Instance(VI_1) Now in FAULT state

advert_int 两台keepalived 这个参数 不一致时 日志会有以下提示
Keepalived_vrrp: advertissement interval mismatch mine=5000000 rcved=1

七 参考资料

keepalived 官网 http://www.keepalived.org/index.html
田老 http://www.keepalived.org/sery-lvs-cluster.pdf
Linuxtone http://docs.linuxtone.org/ebooks/LoadBalance/lvs/keepalived%20the%20definitive%20guide--FinalBSD.pdf
虚拟路由器冗余协议 http://baike.baidu.com/view/876125.htm
组播 http://baike.baidu.com/view/492256.htm


已有 1 人评分积分 收起 理由
守住每一天 + 6 感谢分享!

总评分: 积分 + 6   查看全部评分

Rank: 6Rank: 6

注册时间
2009-12-27
最后登录
2012-5-2
在线时间
61 小时
阅读权限
70
积分
1083
帖子
34
主题
7
精华
0
UID
7135
发表于 2011-2-13 16:11:37 |显示全部楼层
本帖最后由 snifferqq 于 2011-2-13 16:20 编辑

二楼自己更新用。
以下是另外两篇自己的原创
nagios 监控nginx 返回状态插件 如502 504
http://bbs.linuxtone.org/thread-8730-1-1.html
nginx启动 停止 重启等 管理脚本
http://bbs.linuxtone.org/thread-8740-1-1.html

使用道具 举报

Rank: 8Rank: 8

注册时间
2009-4-22
最后登录
2012-5-18
在线时间
289 小时
阅读权限
90
积分
14076
帖子
40
主题
8
精华
0
UID
2628
发表于 2011-2-13 16:14:27 |显示全部楼层
支持下。。。。

使用道具 举报

Rank: 6Rank: 6

注册时间
2009-12-27
最后登录
2012-5-2
在线时间
61 小时
阅读权限
70
积分
1083
帖子
34
主题
7
精华
0
UID
7135
发表于 2011-2-13 16:15:11 |显示全部楼层
这么快。我还没编辑完呢!

使用道具 举报

Rank: 4

注册时间
2010-8-18
最后登录
2012-5-4
在线时间
63 小时
阅读权限
50
积分
916
帖子
7
主题
0
精华
0
UID
10148
发表于 2011-2-13 16:36:04 |显示全部楼层
先看看! 谢了啊

使用道具 举报

Rank: 8Rank: 8

注册时间
2008-11-13
最后登录
2012-5-11
在线时间
180 小时
阅读权限
90
积分
7213
帖子
65
主题
2
精华
0
UID
548
发表于 2011-2-13 16:59:55 |显示全部楼层
好啊,顶起!

使用道具 举报

Rank: 8Rank: 8

注册时间
2009-10-16
最后登录
2012-5-21
在线时间
227 小时
阅读权限
90
积分
16059
帖子
143
主题
18
精华
0
UID
5949
发表于 2011-2-13 17:12:22 |显示全部楼层
看看是什么?

使用道具 举报

Rank: 1

注册时间
2010-6-25
最后登录
2011-5-10
在线时间
0 小时
阅读权限
10
积分
8
帖子
2
主题
0
精华
0
UID
9613
发表于 2011-2-13 18:23:58 |显示全部楼层
不是回复过了 看不到隐藏?

使用道具 举报

Rank: 6Rank: 6

注册时间
2010-4-12
最后登录
2012-5-23
在线时间
495 小时
阅读权限
70
积分
2590
帖子
18
主题
1
精华
0
UID
8872
发表于 2011-2-13 20:12:59 |显示全部楼层
也来瞧瞧,呵呵

使用道具 举报

Rank: 8Rank: 8

注册时间
2010-8-23
最后登录
2012-5-23
在线时间
397 小时
阅读权限
90
积分
35112
帖子
386
主题
17
精华
0
UID
10188
发表于 2011-2-14 04:47:00 |显示全部楼层
好东西,顶一下!
技术交流群:110158166 小道消息
点击这里加入此群

使用道具 举报

Rank: 8Rank: 8

注册时间
2009-1-22
最后登录
2012-5-16
在线时间
186 小时
阅读权限
90
积分
3039
帖子
29
主题
3
精华
0
UID
1145
发表于 2011-2-14 09:02:38 |显示全部楼层
关心check脚本!

使用道具 举报

Rank: 8Rank: 8

注册时间
2009-5-15
最后登录
2012-4-23
在线时间
380 小时
阅读权限
90
积分
20236
帖子
96
主题
2
精华
0
UID
3082
发表于 2011-2-14 09:15:21 |显示全部楼层
下来测试下,看效果如何。

使用道具 举报

LT管理团队

守住每一天

Rank: 9Rank: 9Rank: 9

注册时间
2008-5-30
最后登录
2012-5-23
在线时间
641 小时
阅读权限
200
积分
16234
帖子
1273
主题
176
精华
11
UID
31
发表于 2011-2-14 09:18:06 |显示全部楼层
支持,感谢作者分享
<-sina_sign,1054764633,7->

使用道具 举报

高级会员

青年近卫军

Rank: 4

注册时间
2009-5-14
最后登录
2012-3-26
在线时间
85 小时
阅读权限
50
积分
943
帖子
188
主题
40
精华
0
UID
3071
发表于 2011-2-14 09:21:23 |显示全部楼层
查看还得回复!

使用道具 举报

Rank: 8Rank: 8

注册时间
2009-7-22
最后登录
2012-5-21
在线时间
140 小时
阅读权限
90
积分
4289
帖子
127
主题
7
精华
0
UID
4353
发表于 2011-2-14 09:25:01 |显示全部楼层
先测试是否可行

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

IT运维专家网感谢红之盟网络提供带宽支持

合作联系: QQ:67888954/MSN:cnseek@msn.com/mail:netseek@linuxtone.org

Archiver|手机版|感谢所有关心和支持过LinuxTone的朋友们 转载本站内容请注明原作者名及出处 ( 京ICP备08103151 )   |

GMT+8, 2012-5-23 11:23 , Processed in 0.174415 second(s), 15 queries , Memcache On.

Powered by Discuz! X2

© 2001-2011 Comsenz Inc.

回顶部