免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 3848 | 回复: 1

LVS+Keepalived+mysql高可用性的配置,只能访问固定的realserver节点,请高手帮忙! [复制链接]

论坛徽章:
0
发表于 2011-07-05 11:29 |显示全部楼层
VIP(虚拟ip地址):192.168.11.129
director server :192.168.11.131(master),192.168.11.132(backup)
real server(3个sql节点):192.168.11.130/131/132

我用的 debian 507 ,mysql和keepalived以及ipvsadm都是更新软件包后直接apt-get安装的。
现在集群运行正常,但是高可用性却只能访问固定的一个real server,例如我的ip为130,131,132三个
real server,开启keepalived时候通过虚拟ip 129多次只能访问132的mysql,然后停掉132上的mysql,多次只能访问131,
继续停掉131上的mysql,才能访问130上的mysql,我访问方式为在其他机器例如ip为137的酱油机上通过 mysql -h 192.168.11.129 -uroot -p123访问的。
keepalived配置文件代码为:
  1. global_defs {
  2.    notification_email {
  3.      duzqa@126.com
  4.    }
  5.    notification_email_from duzqa@163.com
  6.    smtp_server 127.0.0.1
  7.    smtp_connect_timeout 30
  8.    router_id LVS_DEVEL
  9. }
  10. vrrp_instance VI_1 {
  11.     state MASTER    # 132 机器为 BACKUP
  12.     interface eth0
  13.     virtual_router_id 51
  14.     priority 102        # 132 机器为 101
  15.     advert_int 1
  16.     authentication {
  17.         auth_type PASS
  18.         auth_pass 1111
  19.     }
  20.     virtual_ipaddress {
  21.        192.168.11.129
  22.     }
  23. }
  24. virtual_server 192.168.11.129 3306 {
  25.     delay_loop 6
  26.     lb_algo rr
  27.     lb_kind DR
  28.     persistence_timeout 50   # 默认50秒钟都访问同一台机器
  29.     protocol TCP
  30.     real_server 192.168.11.130 3306 {
  31.         weight 1
  32.         TCP_CHECK {
  33.             connect_timeout 10     #10秒无响应超时
  34.             nb_get_retry 3              #重试次数
  35.             delay_before_retry 3    #重试间隔
  36.         }
  37.     }
  38.     real_server 192.168.11.131 3306 {
  39.         weight 1
  40.         TCP_CHECK {
  41.             connect_timeout 10
  42.             nb_get_retry 3
  43.             delay_before_retry 3
  44.         }
  45.     }
  46.     real_server 192.168.11.132 3306 {
  47.         weight 1
  48.         TCP_CHECK {
  49.             connect_timeout 10
  50.             nb_get_retry 3
  51.             delay_before_retry 3
  52.         }
  53.     }
  54. }
复制代码
分别在三个real server 上运行的禁止arp转发和绑定虚拟ip的脚本lvsrs的代码为:
  1. #!/bin/bash
  2. VIP=192.168.11.129
  3. case "$1" in
  4. stop)
  5.         # close lo:0 interface
  6.         echo $"Close lo:0 interface"
  7.         /sbin/route del -host $VIP dev lo:0
  8.         /sbin/ifconfig lo:0 down
  9.         echo "0">/proc/sys/net/ipv4/conf/all/arp_announce
  10.         echo "0">/proc/sys/net/ipv4/conf/all/arp_ignore
  11.         echo "0">/proc/sys/net/ipv4/conf/lo/arp_announce
  12.         echo "0">/proc/sys/net/ipv4/conf/lo/arp_ignore
  13. ;;
  14. start)
  15.         # start lo:0 interface
  16.         echo $"Start lo:0 interface"
  17.         /sbin/ifconfig lo:0 $VIP netmask 255.255.255.255 broadcast $VIP up
  18.         /sbin/route add -host $VIP dev lo:0
  19.         echo "2">/proc/sys/net/ipv4/conf/all/arp_announce
  20.         echo "1">/proc/sys/net/ipv4/conf/all/arp_ignore
  21.         echo "2">/proc/sys/net/ipv4/conf/lo/arp_announce
  22.         echo "1">/proc/sys/net/ipv4/conf/lo/arp_ignore
  23. ;;
  24. *)
  25.         echo $"Usage: $0 (start|stop)"
  26.         exit 1
  27. ;;
  28. esac
复制代码
keepalived的启动日志内容如下:

  1. Jul  5 10:59:48 debian Keepalived_vrrp: Using MII-BMSR NIC polling thread...
  2. Jul  5 10:59:48 debian Keepalived_vrrp: Registering Kernel netlink reflector
  3. Jul  5 10:59:48 debian Keepalived_vrrp: Registering Kernel netlink command channel
  4. Jul  5 10:59:48 debian Keepalived_vrrp: Registering gratutious ARP shared channel
  5. Jul  5 10:59:48 debian Keepalived_vrrp: Opening file '/etc/keepalived/keepalived.conf'.
  6. Jul  5 10:59:48 debian Keepalived_vrrp: Configuration is using : 36282 Bytes
  7. Jul  5 10:59:48 debian Keepalived_healthcheckers: Using MII-BMSR NIC polling thread...
  8. Jul  5 10:59:48 debian Keepalived_healthcheckers: Registering Kernel netlink reflector
  9. Jul  5 10:59:48 debian Keepalived_healthcheckers: Registering Kernel netlink command channel
  10. Jul  5 10:59:48 debian Keepalived_healthcheckers: Opening file '/etc/keepalived/keepalived.conf'.
  11. Jul  5 10:59:48 debian Keepalived_healthcheckers: Configuration is using : 14079 Bytes
  12. Jul  5 10:59:48 debian Keepalived_healthcheckers: Activating healtchecker for service [192.168.11.130:3306]
  13. Jul  5 10:59:48 debian Keepalived_healthcheckers: Activating healtchecker for service [192.168.11.131:3306]
  14. Jul  5 10:59:48 debian Keepalived_healthcheckers: Activating healtchecker for service [192.168.11.132:3306]
  15. Jul  5 10:59:49 debian Keepalived_vrrp: VRRP_Instance(VI_1) Transition to MASTER STATE
  16. Jul  5 10:59:50 debian Keepalived_vrrp: VRRP_Instance(VI_1) Entering MASTER STATE
  17. Jul  5 10:59:50 debian Keepalived_vrrp: Netlink: skipping nl_cmd msg...
复制代码
本人学习高可用性配置没几天,望高手指点下问题出在哪里,这里先谢谢了。

论坛徽章:
0
发表于 2011-07-07 11:17 |显示全部楼层
up下。。。。。。。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP