Keepalived+Redis是一种比较成熟的Redis高可用解决方案,通过keepalived实现虚拟ip(vip)的切换以及Reids进程监控,并控制Redis的主从同步状态。以下是架构图:
环境介绍:
Saltstack-master: 192.168.39.185
Master:192.168.39.100
Slave:192.168.39.101
VIP:192.168.39.23
高可用状态情况:
1)当Master端与Slave端都运行正常时,Master负责服务,Slave作为备用。
2)当Master端运行不正常时,slave接管服务,同时关闭主从复制功能。
3)当Master端恢复正常时,则从slave同步数据,作为Slave的从,不切换成主。
4)当slave端挂掉,master端恢复成主。
以下通过saltstack完成keepalived+redis的高可用架构部署:
首先,修改master配置文件指定top file文件路径:
[root@centos7 ~]# vim /etc/salt/master file_roots: base: - /srv/salt
修改salt配置文件需要重启服务。
整个状态文件目录结构如下: