keepalived +mysql + mail 配置双主高可用


环境配置:
172.16.72.201
172.16.72.202
虚拟VIP 172.16.72.210

一、安装Keepalived、mysql、mail

安装Keepalived

参考:keepalived 部署高可用

安装mysql

参考mysql双主

安装mail

参考使用mail 发送163邮件

二、配置

创建监控mysql下线后的执行脚本

因为是给Keepalived监控mysql下线的执行脚本,执行效果为发送下线邮件到自己邮箱,然后关闭keepalived使路由下线,备份VIP起作用,所以创建在于Keepalived配置文件同一目录下

 vi /etc/keepalived/mysql_down.sh

脚本需要修改为自己的邮箱地址

#!/bin/bash
ip=`ifconfig -a|grep inet|grep -v 127.0.0.1|grep -v inet6|awk '{print $2}'|tr -d "addr:"`
echo $ip server mysql server is down datetime:$(date)  | /usr/bin/mail -s mysql  自己的邮箱地址@163.com
systemctl stop keepalived

赋予文件可执行权限

chmod a+x /etc/keepalived/mysql_down.sh

修改主备的keepalived.conf

Master:

! Configuration File for keepalived

global_defs {
   router_id 172.16.72.201
   script_user root
}

vrrp_instance VI_1 {
    state MASTER
    interface ens33
    virtual_router_id 50
    priority 101
    advert_int 1
    authentication {
        auth_type PASS
        auth_pass 1111
    }
    virtual_ipaddress {
	172.16.72.210
    }
}

virtual_server 172.16.72.210 3306 {
    delay_loop 6
    lb_algo rr
    lb_kind NAT
    persistence_timeout 50
    protocol TCP

    real_server 172.16.72.201 3306 {
       	weight 1
		notify_down /etc/keepalived/mysql_down.sh
	 	TCP_CHECK {
           connect_timeout 2
           retry 2
           delay_before_retry 1
       }
    }
}

Backup

! Configuration File for keepalived

global_defs {
   router_id LVS_DEVEL
   script_user root
}

vrrp_instance VI_1 {
    state BACKUP
    interface ens33
    virtual_router_id 51
    priority 100
    advert_int 1
    authentication {
        auth_type PASS
        auth_pass 1111
    }
    virtual_ipaddress {
	172.16.72.210
    }
}

virtual_server 172.16.72.210 3306 {
    delay_loop 6
    lb_algo rr
    lb_kind NAT
    persistence_timeout 50
    protocol TCP

    real_server 172.16.72.202 3306 {
        weight 1
		notify_down /etc/keepalived/mysql_down.sh
	 	TCP_CHECK {
           connect_timeout 2
           retry 2
           delay_before_retry 1
       }
    }
}

三、重启服务

  1. 重启keepalived
    systemctl restart keepalived
    

四、测试

  1. 停止mysql ,观测是否收到邮件及keepalived是否已被关闭
    systemctl stop mysql 
    systemctl status keepalived
    
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值