Ubuntu使用keepalived自动切换mysql,实现高可用

本文详细介绍了如何安装并配置Keepalived以实现MySQL的主从双备,包括创建配置文件、设置虚拟IP以及监控脚本。在主库出现问题时,虚拟IP会自动转移到从库,确保服务不间断。同时,文章还提及了因OpenStack导致的虚拟IP访问限制问题,并提供了解决方案。
摘要由CSDN通过智能技术生成

上文中已经谈到如何安装MySQL进行主从双备了,本文就专对于keepalived的安装及配置做说明

1、安装keepalived

sudo apt install keepalived -y

2、配置keepalived

查看keepalived的运行状态

systemctl status keepalived.service

发现由于缺少配置文件,启动失败

我们在 /etc/keepalived 创建一个配置文件,命名 keepalived.conf

! Configuration File forkeepalived

global_defs  {

    notification_email  {

        xxx@qq.com   #接收报警邮箱地址

    }

    notification_email_from   xxxx@qq.com

    smtp_server  127.0.0.1

    smtp_connect_timeout  30

    router_id  MYSQL_HA        #标识,双主相同

    script_user root  # 执行脚本使用的用户

    enable_script_security  # 启用脚本

}

vrrp_script check_httpd {

    script "killall -0 mysqld"  # 执行此命令,如果运行失败的话就会故障转移

    interval 2  # 时间间隔

}

vrrp_instance VI_1  {

    state MASTER           # 主:MASTER,从:BACKUP

    interface  ens3          # 主机的网卡类型,可以ip addr查看

    virtual_router_id  80         #主备相同

    priority  100             #优先级,backup设置90

    advert_int  2

    mcast_src_ip 192.168.11.220  # 本机ip

    nopreempt               #不主动抢占资源,只在master这台优先级高的设置,backup不设置

    authentication  {

        auth_type  PASS

        auth_pass  qwaszx

    }

    virtual_ipaddress  {

        192.168.11.222/24 dev ens3  # 虚拟ip

    }

    track_script {

        check_httpd

    }

}

3、重启keepalived

sudo systemctl restart keepalived.service

systemctl status keepalived.service

已经启动成功 

4、在主库查看是否生成虚拟ip,此时从库是查不到的,只有当主库MySQL出现异常时,虚拟ip会自动的转移到从库

5、使用虚拟ip连接数据库确定是否能连接成功

# 查看所连接的主机

show variables like '%hostname';

连接成功(期间出现了一个小问题,是由OpenStack引起的,在底下说)

6、关闭服务,查看虚拟ip会不会转移

主库状态:发现虚拟ip已经没有了

 从库状态:发现虚拟ip已经转移过来

7、因为我们主库配置中设置了 nopreempt,所以主库启动MySQL之后,虚拟ip会再次转移过来,查看是否与想法一致

主库状态:

从库状态:

8、中间出现一个问题: 这个虚拟ip只能被本机连接,局域网内页访问不到该虚拟ip

当时在网上找了许多文档也都不对,最后找到了一篇里面提了句说是因为OpenStack的问题,要把该虚拟ip加到服务器的可用地址对中

liudongyang123的博客

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值