基于docker搭建mysql的pxc集群+haproxy+keepalived的高可用(3️⃣)

(上接我们做的是在pxc中加入了haproxy使其达到负载均衡,做两个haproxy是为了以防万一)

现在我们加入keepalived实现双击热备

1️⃣在h1内创建keepalived
(1)先进入容器内

docker -exec -it  h1 bash 

(2) 先更新

apt-get update

(3) 安装一些小部件,为了一会儿配置文件和做测试做准备

apt-get install vim
apt-get install net-tools
apt-get install inetuils-ping

(4)现在安装keepalived

apt-get install keepalived

2️⃣现在编辑配置文件

vim /etc/keepalived/keepalived.conf
vrrp_instance  VI_1 {
    state  MASTER
    interface  eth0
    virtual_router_id  51
    priority  100
    advert_int  1
    authentication {
        auth_type  PASS
        auth_pass  123456
    }
    virtual_ipaddress {
        172.18.0.201
    }
}

(1)现在你启动你的keepalived

service keepalived  start

在这里插入图片描述
(2) 现在你查看你刚刚添加的虚拟网络172.168.0.201是否出现

ip a

基于docker搭建mysql的pxc集群+haproxy+keepalived的高可用(3️⃣)_第1张图片
(3)有了,那我们ping一下

ping 172.18.0.201

基于docker搭建mysql的pxc集群+haproxy+keepalived的高可用(3️⃣)_第2张图片
(4)刚刚我们只是在容器里面ping了一下,我们现在到宿主机上在ping一下
基于docker搭建mysql的pxc集群+haproxy+keepalived的高可用(3️⃣)_第3张图片
能ping通就说明搭建成功了。
ok,到到现在为止我们在h1 里面装好了keepalived
我们还要在h2连装keepalived,操作更上面的一样;在这里我就不在展示了
在h2中搭建完后,我们在宿主机中再安装一个keepalived

		yum install -y keepalived

(更在容器里面步骤一样编辑配置文件)

vim /etc/keepalived/keepalived.conf
! Configuration File for keepalived
vrrp_instance VI_1 {
    state MASTER
    interface eth0
    virtual_router_id 51
    priority 100
    advert_int 1
    authentication {
        auth_type PASS
        auth_pass 1111
    }
    virtual_ipaddress {
        192.168.33.20
    }
}

virtual_server 192.168.33.20 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.33.20 3306 {
    delay_loop 3
    lb_algo rr
    lb_kind NAT
    persistence_timeout 50
    protocol TCP
    real_server 172.18.0.201 3306 {
        weight 1
    }
}

3️⃣我们现在运行keepalived在查看其状态
基于docker搭建mysql的pxc集群+haproxy+keepalived的高可用(3️⃣)_第4张图片
ok,运行成功
到这里我们就做完了双机热备。
到这里我们的5节点pxc集群就真正意义上的达到了高可用,有任何一个node挂掉都不影响客户访问其他数据库,就算有一个haproxy挂掉的话我们还有一个haproxy来实现负载均衡,还有keepalived来热备。之后我将更新搭载mycat实现高性能以及一些其它的方案。

你可能感兴趣的:(环境搭建,docker,mysql)