设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

#公告#抱歉,网站将关闭,不再开放。由于PC时代已远逝 。在这个后移动互联网时代,我们继续携手前行,保持对技术的热情。共同构建linuxtone知识星球欢迎加入,一起讨论技术、招聘人才、分享资源。请新老linuxtone人 扫码移步到 知识星球:linuxtone

学习是一种信仰!分享是一种快乐!能力= 心态 * 沟通 * 知识 (你的每一天需要正能量!)

 网站的发展需要你贡献一份力量!希望你能每天坚持看贴1小时,并回答网友的问题!祝你在浏览论坛的过程中取得进步!谢谢!linuxtone加油!大家加油! 友情提示: 你今天学习了吗?你今天进步了吗?少一点抱怨!多一点进步!Life is short ! Why not linuxtone ?  

网站的发展、感谢每位坛友的努力!

查看: 56985|回复: 276

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

Rank: 6Rank: 6

签到
35
注册时间
2009-12-27
最后登录
2019-1-16
在线时间
65 小时
阅读权限
70
积分
3379
帖子
32
主题
6
精华
1
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
最后登录
2019-1-16
在线时间
65 小时
阅读权限
70
积分
3379
帖子
32
主题
6
精华
1
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
最后登录
2015-10-22
在线时间
391 小时
阅读权限
90
积分
53498
帖子
43
主题
8
精华
0
UID
2628
发表于 2011-2-13 16:14:27 |显示全部楼层
支持下。。。。

使用道具 举报

Rank: 6Rank: 6

注册时间
2009-12-27
最后登录
2019-1-16
在线时间
65 小时
阅读权限
70
积分
3379
帖子
32
主题
6
精华
1
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
最后登录
2018-3-22
在线时间
230 小时
阅读权限
90
积分
28559
帖子
77
主题
2
精华
0
UID
548
发表于 2011-2-13 16:59:55 |显示全部楼层
好啊,顶起!

使用道具 举报

Rank: 8Rank: 8

注册时间
2009-10-16
最后登录
2016-3-8
在线时间
274 小时
阅读权限
90
积分
32641
帖子
183
主题
25
精华
0
UID
5949
发表于 2011-2-13 17:12:22 |显示全部楼层
看看是什么?

使用道具 举报

Rank: 1

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

使用道具 举报

Rank: 8Rank: 8

注册时间
2010-4-12
最后登录
2019-1-10
在线时间
3165 小时
阅读权限
90
积分
20738
帖子
1197
主题
1174
精华
0
UID
8872
发表于 2011-2-13 20:12:59 |显示全部楼层
也来瞧瞧,呵呵

使用道具 举报

Rank: 6Rank: 6

注册时间
2009-1-22
最后登录
2019-1-17
在线时间
1660 小时
阅读权限
70
积分
4569
帖子
794
主题
767
精华
0
UID
1145
发表于 2011-2-14 09:02:38 |显示全部楼层
关心check脚本!

使用道具 举报

注册时间
2009-5-15
最后登录
2019-1-10
在线时间
1823 小时
阅读权限
0
积分
26865
帖子
1106
主题
1011
精华
0
UID
3082
发表于 2011-2-14 09:15:21 |显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽

使用道具 举报

LT管理团队

守住每一天

Rank: 9Rank: 9Rank: 9

注册时间
2008-5-30
最后登录
2017-3-31
在线时间
790 小时
阅读权限
200
积分
68279
帖子
1398
主题
190
精华
10
UID
31
发表于 2011-2-14 09:18:06 |显示全部楼层
支持,感谢作者分享
<-sina_sign,1054764633,8fd6ea04,4-><-sina_sign,1054764633,7->

使用道具 举报

金牌会员

青年近卫军

Rank: 6Rank: 6

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

使用道具 举报

Rank: 6Rank: 6

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

使用道具 举报

Rank: 4

注册时间
2009-8-13
最后登录
2019-1-10
在线时间
820 小时
阅读权限
50
积分
810
帖子
328
主题
316
精华
0
UID
4760
发表于 2011-2-14 10:02:55 |显示全部楼层
好东西 支持

使用道具 举报

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

IT运维专家网感谢您的支持

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

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

GMT+8, 2019-1-19 20:10 , Processed in 0.068481 second(s), 17 queries , Apc On.

Powered by Discuz! X2 Licensed

© 2001-2011 Comsenz Inc.

回顶部