MPP数据库实现管理节点负载均衡功能
前言
搭建完成MPP集群中测试分布式数据库是否满足负载均衡的要求。非集群节点客户端使用虚拟的lvs提供的ip 连接MPP数据库,lvs负责负载均衡与转发sql请求, keepalived负责装发的lvs的高可用与提供lvs服务。
实现功能
1.数据库状态正常情况下,lvs服务能否将sql请求均衡发送到2个管理节点。
2.测试业务正常运行情况下,数据库管理节点离线,keepalived能否响应,剔除异常节点,避免业务连接数据库失败。
3.测试业务正常运行情况下,MASTER节点keepalived中断,主备能否快速切换。
网络拓扑图
安装部署keepalived-lvs
yum install keepalived ipvsadm
lsmod |grep ip_vs
ipvsadm -Ln
修改keepalived配置
配置vip
管理节点配置回环网卡信息
启动keepalived并查询状态,查看路由信息
Systemctl start keepalived
Systemctl status keepalived
ipvsadm -Ln
执行之后会出现vip和轮询ip信息
测试
1、通过insert.sh脚本每5秒20并发连接数据库插入数据
通过ipvsadm -Ln观察inactiveconnection的值,在业务过程中,MASTER服务两个节点均持续增长
2、模拟集群某节点访问异常,keepalived能否快速响应过滤故障节点
手动杀掉24节点的coordinator服务,观察ipvsadm -Ln的路由结果,已经过滤掉24节点的链接,23节点的非活跃连接数依旧增加,仍然有数据插入。
24节点coordinator服务启动之后,观察ipvsadm -Ln的路由结果,24节点已经加入路由表,并且开始接入业务。
3、模拟集群keepalived异常,keepalived能否快速响应主备切换
手动杀掉22节点的keepalived服务,模拟MASTER服务中断,25节点的BACKUP keepalived服务迅速接管,而且数据插入不受影响。
启动22节点的keepalived服务,业务自动切换至22节点MASTER keepalived服务。
结论
本次lvs-keepalived负载均衡服务测试中,高并发sql负载均衡、异常访问节点的过滤以及keepalived高可用测试项都满足了测试需求和业务要求。