码迷,mamicode.com
首页 > 数据库 > 详细

MySQL高可用HA——keepalived配置

时间:2020-01-29 00:57:59      阅读:86      评论:0      收藏:0      [点我收藏+]

标签:grep   配置   备份服务器   type   priority   调用   backup   init   虚拟路由器   

0、 Keepalived介绍

? Keepalived是基于VRRP(Virtual Router Redundancy Protocol,虚拟路由器冗余协议)协议的一款高可用软件。Keepailived有一台主服务器(master)和多台备份服务器(backup),在主服务器和备份服务器上面部署相同的服务配置,使用一个虚拟IP地址对外提供服务,当主服务器出现故障时,虚拟IP地址会自动漂移到备份服务器。

? 首先需要配置MySQL的双主配置,传送门https://www.cnblogs.com/zhqin/p/12239225.html

1、hadoop106、hadoop107
? 通过yum方式安装

[crazycat@hadoop106 ~]$ sudo yum install -y keepalived
[crazycat@hadoop107 ~]$ sudo yum install -y keepalived

2、修改hadoop06的Keepalived配置文件/etc/keepalived/keepalived.conf

! Configuration File for keepalived
global_defs {
    router_id MySQL-ha
}
vrrp_instance VI_1 {
    state master #初始状态
    interface eth0 #网卡
    virtual_router_id 51 #虚拟路由id
    priority 100 #优先级
    advert_int 1 #Keepalived心跳间隔
    nopreempt #只在高优先级配置,原master恢复之后不重新上位
    authentication {
        auth_type PASS #认证相关
        auth_pass 1111
    }
    virtual_ipaddress {
        192.168.1.100 #虚拟ip
    }
}
#声明虚拟服务器
virtual_server 192.168.1.100 3306 {
    delay_loop 6
    persistence_timeout 30
    protocol TCP
    #声明真实服务器
    real_server 192.168.1.106 3306 {
        notify_down /var/lib/mysql/killkeepalived.sh #真实服务故障后调用脚本
        TCP_CHECK {
            connect_timeout 3 #超时时间
            nb_get_retry 1 #重试次数
            delay_before_retry 1 #重试时间间隔
        }
    }
}

3、修改hadoop107的Keepalived配置文件/etc/keepalived/keepalived.conf

! Configuration File for keepalived
global_defs {
    router_id MySQL-ha
}
vrrp_instance VI_1 {
    state backup #初始状态
    interface eth0 #网卡
    virtual_router_id 51 #虚拟路由id
    priority 50 #优先级
    advert_int 1 #Keepalived心跳间隔
    authentication {
        auth_type PASS #认证相关
        auth_pass 1111
    }
    virtual_ipaddress {
        192.168.1.100 #虚拟ip
    }
}
#声明虚拟服务器
virtual_server 192.168.1.100 3306 {
    delay_loop 6
    persistence_timeout 30
    protocol TCP
    #声明真实服务器
    real_server 192.168.1.107 3306 {
        notify_down /var/lib/mysql/killkeepalived.sh #真实服务故障后调用脚本
        TCP_CHECK {
            connect_timeout 3 #超时时间
            nb_get_retry 1 #重试次数
            delay_before_retry 1 #重试时间间隔
        }
    }
}

4、在hadoop106、hadoop107 编辑脚本文件/var/lib/mysql/killkeepalived.sh

[crazycat@hadoop106 ~]$ sudo vim /var/lib/mysql/killkeepalived.sh
#! /bin/bash
sudo service keepalived stop

5、给两台机器的killkeepalived.sh脚本加执行权限

sudo chmod +x /var/lib/mysql/killkeepalived.sh

6、在两台机器上设置开机自启

sudo chkconfig keepalived on

7、在两台机器上检查开机自启状态

sudo chkconfig --list | grep keepalived

技术图片

技术图片

8、确保MySQL先于Keepalived启动
第一步:查看MySQL启动次序

[crazycat@hadoop106 ~]$ sudo vim /etc/init.d/mysql

技术图片

第二步:查看Keepalived启动次序

sudo vim /etc/init.d/keepalived

技术图片

保证64<86即可,如果keepalived中的启动顺序在MySQL的前面,将这两个数值交换即可。(为了避免和其他的进程造成冲突)

9、在两台机器上分别启动keepalived

sudo service keepalived start

10、在其他机器上通过配置的虚拟ip:192.168.1.100是否可以连接mysql数据库

技术图片

11、将hadoop106的MySQL服务停掉,看是否会自动切换到hadoop107上

[crazycat@hadoop106 ~]$ sudo service mysql stop

12、再将MySQL服务启动

[crazycat@hadoop106 ~]$ sudo service mysql start

13、再将keepalived服务启动

[crazycat@hadoop106 ~]$ sudo service keepalived start

MySQL高可用HA——keepalived配置

标签:grep   配置   备份服务器   type   priority   调用   backup   init   虚拟路由器   

原文地址:https://www.cnblogs.com/zhqin/p/12239303.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!