返回列表 发帖

Keepalived+LVS(二)

笺注:这是在 Keepalived+LVS 的基础上进行的。

以下是做MySQL/MariaDB的集群,使用TCP 3306端口。

图片1.png


master和 slave在服务器池的配置是一样的:

cat >>/etc/keepalived/keepalived.conf<< EOF
virtual_server 192.168.168.180 3306 {
        protocol TCP  ## 用TCP协议检查realserver的状态        
        delay_loop 10  ## 每隔10秒检查realserver的状态
        lb_algo wlc  ## LVS算法
        lb_kind DR  ## LVS模式
        persistence_timeout 60  

        real_server 192.168.168.135 3306 {
                weight 100  ## 权重
                TCP_CHECK {
                connect_timeout 10  ## 10秒无响应视为超时
                connect_port 3306
                        nb_get_retry 3
                        delay_before_retry 4
                        }
}

        real_server 192.168.168.154 3306 {
                weight 100  ## 权重
                TCP_CHECK {
                connect_timeout 10  ## 10秒无响应视为超时
                connect_port 3306
                        nb_get_retry 3
                        delay_before_retry 4
                        }
}
}     
EOF

## 注释:可以使用同一个VIP,但不同端口。


重启Keepalived:
service keepalived restart






创建虚拟服务器:
ipvsadm -A -t 192.168.168.180:3306 -s wlc

添加服务器节点:
ipvsadm -a -t 192.168.168.180:3306 -r 192.168.168.135:3306 -g -w 100
ipvsadm -a -t 192.168.168.180:3306 -r 192.168.168.154:3306 -g -w 100

查看节点状态:( ipvsadm -ln )
图片2.png


保存负载分配策略:
[root@master ~]# service ipvsadm save
ipvsadm: Saving IPVS table to /etc/sysconfig/ipvsadm: [确定]


确定保存结果:
[root@master ~]# cat /etc/sysconfig/ipvsadm
-A -t 192.168.168.180:80 -s wlc
-a -t 192.168.168.180:80 -r 192.168.168.135:80 -g -w 100
-a -t 192.168.168.180:80 -r 192.168.168.154:80 -g -w 100
-A -t 192.168.168.180:3306 -s wlc
-a -t 192.168.168.180:3306 -r 192.168.168.135:3306 -g -w 100
-a -t 192.168.168.180:3306 -r 192.168.168.154:3306 -g -w 100


服务器的防火墙都要开启 TCP 3306 端口:
iptables -I INPUT -p tcp --dport 3306 -j ACCEPT
iptables-save > /etc/sysconfig/iptables











web-1:
mysql> grant all on *.* to zhuohua@'%' identified by '888';
Query OK, 0 rows affected (0.00 sec)

mysql> create database db1;
Query OK, 1 row affected (0.05 sec)

注释:服务器的防火墙都要开启 TCP 3306 端口。




web-2:
MariaDB [(none)]> grant all on *.* to zhuohua@'%' identified by '888';
Query OK, 0 rows affected (0.090 sec)

MariaDB [(none)]> create database db2;
Query OK, 1 row affected (0.048 sec)

注释:服务器的防火墙都要开启 TCP 3306 端口。







远程客户端测试:(要访问漂移IP地址)
图片3.png


图片4.png


web-1:
[root@oracle-linux6 ~]# ifdown eth0


图片5.png







web-1:
[root@oracle-linux6 ~]# ifup eth0

web-2:
[root@centos8 ~]# ifdown ens160


图片6.png





相关文章:
Mycat实现MySQL的读写分离

返回列表