免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2051 | 回复: 1
打印 上一主题 下一主题

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

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2012-01-09 21:44 |只看该作者 |倒序浏览
Keepalived+mysql 自动切换





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
  7. 复制代码
复制代码
三 keepalived 主备配置文件
主备置文件不同处有 state  nopreempt priority 参考资料里有详细说明作用
192.168.20.37 主配置
  1. vim /etc/keepalived/keepalived.conf
  2. ! Configuration File for keepalived

  3. global_defs {

  4.    router_id 9ai9.net

  5. }

  6. vrrp_script check_run {

  7.    script "/root/keepalived_check_mysql.sh"

  8.    interval 5

  9. }

  10. vrrp_sync_group VG1 {

  11.     group {

  12.           VI_1

  13.     }

  14. }

  15. vrrp_instance VI_1 {

  16.     state MASTER

  17.     interface eth0

  18.     virtual_router_id 88

  19.     priority 100

  20.     advert_int 1

  21.     nopreempt

  22.     authentication {

  23.         auth_type PASS

  24.         auth_pass 9ai9.net

  25.     }

  26.     track_script {

  27.         check_run

  28.     }

  29.     virtual_ipaddress {

  30.         192.168.20.50

  31.     }

  32. }
  33. 复制代码192.168.20.38 备用配置文件

  34. vim /etc/keepalived/keepalived.conf
  35. ! Configuration File for keepalived

  36. global_defs {

  37.    router_id 9ai9.net

  38. }

  39. vrrp_script check_run {

  40.    script "/root/keepalived_check_mysql.sh"

  41.    interval 5

  42. }

  43. vrrp_sync_group VG1 {

  44.     group {

  45.           VI_1

  46.     }

  47. }

  48. vrrp_instance VI_1 {

  49.     state BACKUP

  50.     interface eth0

  51.     virtual_router_id 88

  52.     priority 80

  53.     advert_int 1

  54.     authentication {

  55.         auth_type PASS

  56.         auth_pass 9ai9.net

  57.     }

  58.     track_script {

  59.         check_run

  60.     }

  61.    

  62.     virtual_ipaddress {

  63.         192.168.20.50

  64.     }

  65. }
  66. 复制代码
复制代码
四 mysql状态检测脚本/root/bin/keepalived_check_mysql.sh
  1. vim  /root/keepalived_check_mysql.sh

  2. #!/bin/bash

  3. MYSQL=/usr/local/mysql/bin/mysql

  4. MYSQL_HOST=localhost

  5. MYSQL_USER=root

  6. MYSQL_PASSWORD=9ai9.net

  7. CHECK_TIME=3

  8. #mysql  is working MYSQL_OK is 1 , mysql down MYSQL_OK is 0

  9. MYSQL_OK=1

  10. function check_mysql_helth (){

  11.     $MYSQL -h $MYSQL_HOST -u $MYSQL_USER -p${MYSQL_PASSWORD} -e "show status;" >/dev/null 2>&1

  12.     if [ $? = 0 ] ;then

  13.     MYSQL_OK=1

  14.     else

  15.     MYSQL_OK=0

  16.     fi

  17.     return $MYSQL_OK

  18. }

  19. while [ $CHECK_TIME -ne 0 ]

  20. do

  21.     let "CHECK_TIME -= 1"

  22.    

  23.     check_mysql_helth

  24. if [ $MYSQL_OK = 1 ] ; then

  25.     CHECK_TIME=0

  26.     exit 0

  27. fi

  28. if [ $MYSQL_OK -eq 0 ] &&  [ $CHECK_TIME -eq 0 ]

  29. then

  30.     /etc/init.d/keepalived stop

  31.     exit 1

  32. fi

  33. sleep 1

  34. done
  35. 复制代码
复制代码
赋予执行权限

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 ... guide--FinalBSD.pdf
虚拟路由器冗余协议 http://baike.baidu.com/view/876125.htm
组播 http://baike.baidu.com/view/492256.htm

论坛徽章:
0
2 [报告]
发表于 2012-01-09 21:44 |只看该作者
谢谢分享
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP