(上接我们做的是在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
(3)有了,那我们ping一下
ping 172.18.0.201
(4)刚刚我们只是在容器里面ping了一下,我们现在到宿主机上在ping一下
能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在查看其状态
ok,运行成功
到这里我们就做完了双机热备。
到这里我们的5节点pxc集群就真正意义上的达到了高可用,有任何一个node挂掉都不影响客户访问其他数据库,就算有一个haproxy挂掉的话我们还有一个haproxy来实现负载均衡,还有keepalived来热备。之后我将更新搭载mycat实现高性能以及一些其它的方案。