MySQL&Redis+keepalived高可用环境搭建

在两台服务器上,分别搭建MySQL主从和Redis主从,MySQL和Redis各用一个VRRP实例,共用一个keepalived。所以需要两个VIP,MySQL和Redis各用一个。

MySQL、Redis主从搭建和keepalived安装在此不表。主从搭建好后,默认DB1为主,DB2为从。

keepalived配置文件以及主从切换相关脚本见Git:

有两个目录db1和db2,分别部署在两台服务器,两个目录中keepalived.conf和notify_backup_redis.sh有区别,其他一致。

 

 

注:此结构和MySQL+keepalived的配置文件、脚本(路径为:/opt/bxix/mysql/scripts/mysql_keepalived)不一样。

搭建步骤:

  • 两台服务器上,各自创建工作目录:/opt/xix/keepalived,并分别把db1和db2两个目录的文件上传到对应两台服务器的该目录,确保所有脚本有可执行权限
  • 两台服务器上,修改keepalived.conf文件中的两处VIP为实际VIP,以及网卡名称为实际网卡名称
  • 两台服务器上,修改notify_backup_redis.sh脚本中的MASTER_IP为对方的IP
  • 两台服务器上,软链接keepalived配置文件:ln -s  /opt/xix/keepalived/keepalived.conf /etc/keepalived/keepalived.conf
  • 两台服务器上,启动keepalived,先启动主库(默认为DB1)

启动后,可把DB1的Redis停止,使得Redis发生切换,再重新启动,DB1上的Redis切换为从。

此时:DB1上:MySQL主、Redis从;DB2上:MySQL从,Redis主。此为理想状态,MySQL和Redis的主库各自在一台服务器上。

为保证发生故障可切换,两台服务器上的keepalived必须一直运行。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
RedisKeepalived 集群中,通常会使用以下 5 个脚本: 1. 启动脚本 `redis-server-startup` Redis 启动脚本 `redis-server-startup` 负责在服务器启动时启动 Redis 服务。该脚本会根据配置文件中的 `redis.conf` 启动 Redis 服务,并将输出日志写入日志文件。如果 Redis 服务已经在运行,则该脚本不会做任何操作。 2. 停止脚本 `redis-server-shutdown` Redis 停止脚本 `redis-server-shutdown` 负责在服务器关闭时关闭 Redis 服务。该脚本会发送 SHUTDOWN 命令给 Redis 服务,并等待 Redis 服务正常关闭。如果 Redis 服务无法正常关闭,则该脚本会强制关闭 Redis 服务。 3. 状态检查脚本 `redis-server-check` Redis 状态检查脚本 `redis-server-check` 负责检查 Redis 服务的状态。该脚本通常会被 Keepalived 的监控工具调用,例如 monit。如果 Redis 服务没有运行,则该脚本会返回非零值,否则返回零值。 4. 故障转移脚本 `redis-server-switch` Redis 故障转移脚本 `redis-server-switch` 负责在主服务器宕机时,将备份服务器切换为主服务器。该脚本通常会在 Keepalived 配置文件中的 `vrrp_script` 中被调用。该脚本会向 Redis 服务发送 `SLAVEOF` 命令,将备份服务器切换为主服务器。 5. 通知脚本 `redis-server-notify` Redis 通知脚本 `redis-server-notify` 负责在切换服务器后通知管理员。该脚本通常会在 Keepalived 配置文件中的 `vrrp_script` 中被调用。该脚本可以通过邮件、短信等方式通知管理员服务器的变更。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值