ubuntu下lvs+keepalived+mysql无法访问vip?

发布于 2021-11-29 15:03:28 字数 4930 浏览 804 评论 0

我在ubuntu下准备搭建一个mysql高可用服务组,但是无法访问vip,大家帮我看看,问题在哪?

高可用架构

mysql master:10.24.6.5:3306

mysql slave:10.24.6.6:3306

LB节点: 10.24.6.4

VIP : 10.24.6.2

LB 配置:


lvs

lvs采用ubuntu默认

配置以后的效果如下:

root@LogicServer2:/var/log# sudo ipvsadm
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
  -> RemoteAddress:Port           Forward Weight ActiveConn InActConn
TCP  10.24.6.2:mysql rr
  -> 10.24.6.5:mysql              Route   3      0          0         
  -> 10.24.6.6:mysql              Route   3      0          0  

keepalived配置


global_defs {
    router_id HaMySQL_1
}
vrrp_instance VI_MYSQL {
    state MASTER
    interface eth1
    virtual_router_id 100
    priority 100
    advert_int 1
    authentication {
        auth_type PASS
        auth_pass 1111
    }
    virtual_ipaddress {
        10.24.6.2
    }
}


virtual_server 10.24.6.2 3306 {
    delay_loop 6
    lb_algo rr
    lb_kind DR
    protocol TCP


    real_server 10.24.6.5 3306 {
        weight 3
        TCP_CHECK {
        connect_timeout 3
        nb_get_retry 3
        delay_before_retry 3
        connect_port 3306
        }
    }


    real_server 10.24.6.6 3306 {
        weight 3
        TCP_CHECK {
        connect_timeout 3
        nb_get_retry 3
        delay_before_retry 3
        connect_port 3306
        }
    }
}


mysql master 配置

/etc/init.d/realserver.sh

#!/bin/bash  
# description: Config realserver lo and apply noarp  
SNS_VIP=10.24.6.2
#/etc/rc.d/init.d/functions  
case "$1" in
start)
       ifconfig lo:0 $SNS_VIP netmask 255.255.255.255 broadcast $SNS_VIP
       /sbin/route add -host $SNS_VIP dev lo:0
       echo "1" >/proc/sys/net/ipv4/conf/lo/arp_ignore
       echo "2" >/proc/sys/net/ipv4/conf/lo/arp_announce
       echo "1" >/proc/sys/net/ipv4/conf/all/arp_ignore
       echo "2" >/proc/sys/net/ipv4/conf/all/arp_announce
       sysctl -p >/dev/null 2>&1
       echo "RealServer Start OK"  
       ;;
stop)
       ifconfig lo:0 down
       route del $SNS_VIP >/dev/null 2>&1
       echo "0" >/proc/sys/net/ipv4/conf/lo/arp_ignore
       echo "0" >/proc/sys/net/ipv4/conf/lo/arp_announce
       echo "0" >/proc/sys/net/ipv4/conf/all/arp_ignore
       echo "0" >/proc/sys/net/ipv4/conf/all/arp_announce
       echo "RealServer Stoped"  
       ;;
*)
       echo "Usage: $0 {start|stop}"  
       exit 1
esac
exit 0

ip映射

root@ubuntu :/home/ubuntu-server1# ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default 
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet 10.24.6.2/32 brd 10.24.6.2 scope global lo:0
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether 08:00:27:66

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文