请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

宿主机上安装的keepalived是否也需要安装双击,抢占一个宿主机之间的一个虚拟IP

你好,

  1. 在单击的情况,我们是在宿主机上安装了一个节点的keepalived,但是如果是集群,我的所有应用可能不和这个mysql集群在一个网络中,那安装单节点的keepalived,是不是高可用也没法保证,需要安装双节点的keepalived来保证数据库的高可用?

  2. 如果是安装双机的keepalived节点,ha中的keepalived是不是可以不用了安装了,直接在宿主机上对keepalived
    进行配置,我设想的配置是如下,不知道是否正确:

    第一台宿主机上安装的keepalived的配置文件如:

    vrrp_instance VI_1 {
       state MASTER
       interface ens33
       virtual_router_id 51
       priority 100
       advert_int 1
       authentication {
           auth_type PASS
           auth_pass 1111
       }
       virtual_ipaddress {
          192.168.99.150
       }
    }

    virtual_server 192.168.99.150 8888 {
       delay_loop 3
       lb_algo rr
       lb_kind NAT
       persistence_timeout 50
       protocol TCP

       real_server 172.18.0.201 8888 {
           weight 1
       }
    }

    virtual_server 192.168.99.150 3306 {
       delay_loop 3
       lb_algo rr
       lb_kind NAT
       persistence_timeout 50
       protocol TCP

       real_server 172.18.0.201 3306 {
           weight 1
       }
    }
    第二台宿主机上keepalived的配置文件如下:

    vrrp_instance VI_1 {
       state MASTER
       interface ens33
       virtual_router_id 51
       priority 100
       advert_int 1
       authentication {
           auth_type PASS
           auth_pass 1111
       }
       virtual_ipaddress {
          192.168.99.150
       }
    }

    virtual_server 192.168.99.150 8888 {
       delay_loop 3
       lb_algo rr
       lb_kind NAT
       persistence_timeout 50
       protocol TCP

       real_server 172.18.0.202 8888 {
           weight 1
       }
    }

    virtual_server 192.168.99.150 3306 {
       delay_loop 3
       lb_algo rr
       lb_kind NAT
       persistence_timeout 50
       protocol TCP

       real_server 172.18.0.202 3306 {
           weight 1
       }
    }

    配置大体的意思,第一个宿主机上的keepalived,转发第一台上的haproxy(docker-swarm中的ip172.18.0.201)的负载,第二个宿主机上的keepalived转发第二台上的haproxy(docker-swarm中的ip172.18.0.202)的负载,然后两个keepalived抢占一个宿主机网段的一个“192.168.99.150”IP

    不知以上配置是否合适,非常期待老师的解答。

正在回答

1回答

同学你好。你可以用docker swarm把pxc集群组建起来,haproxy是对docker swarm中的pxc节点做负载均衡,另外keepalived是帮助haproxy抢占docker swarm里面的虚拟IP,本身keepalived也是在docker swarm 里面,至于宿主机上的keepalived是把docker swarm中的虚拟IP映射到真实网络里,相当于转发而已。宿主机的keepalived可不可以也配置双机热备,当然也是可以的

0 回复 有任何疑惑可以回复我~
  • 提问者 troylc #1
    如果相关的应用不在pxc集群的同一个swarm网络里,应用访问一次数据库,需要经过两个keepalived(一个物理网络中的,一个swarm网络中的)、一个ha、5个数据库的同步事务,这样感觉是不是性能会有瓶颈,不知道这种方式是否适合生产。
    回复 有任何疑惑可以回复我~ 2018-07-24 09:14:05
  • 神思者 回复 提问者 troylc #2
    同学你好,一个日访问量500万的中型网站,每秒钟平均58次请求。keepalived和haproxy,经过优化每秒可以提供8万次的请求转发。58次请求,每次执行10条sql,还不到8万次的1%,不会出现性能的瓶颈
    回复 有任何疑惑可以回复我~ 2018-07-24 09:42:19
  • 提问者 troylc #3
    非常感谢!
    回复 有任何疑惑可以回复我~ 2018-07-24 11:37:28
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信