mysql使用keepalived搭建双master

这里的双master并不是2个都同时对应用开放写,只是同一个时刻只有1个mysql对外开放写,另一个作为slave接受从master同步过来的数据,当master挂掉后,通过keepalived的VIP转移,使slave变成master,从而形成高可用的环境

keepalived的master配置如下

vrrp_script mycheck {
       script "/usr/local/keepalived/shutdown.sh"
       interval 2                      # check every 2 seconds
       weight 2                        # default prio: +2 if connect ok
}

global_defs {
        router_id NodeA
}

vrrp_instance VI_1 {
    state BACKUP
    interface eth1
    virtual_router_id 151
    priority 201
    advert_int 1
    nopreempt
    authentication {
        auth_type PASS
        auth_pass pass
    }
    virtual_ipaddress {
        192.168.0.100
    }
    track_script {
        mycheck
    }
}

slave配置如下:

vrrp_script mycheck {
       script "/usr/local/keepalived/shutdown.sh"
       interval 2                      # check every 2 seconds
       weight 2                        # default prio: +2 if connect ok
}

global_defs {
        router_id NodeB
}

vrrp_instance VI_1 {
    state BACKUP
    interface eth1
    virtual_router_id 151
    priority 100
    advert_int 1
    nopreempt
    authentication {
        auth_type PASS
        auth_pass pass
    }
    virtual_ipaddress {
        192.168.0.100
    }
    track_script {
        mycheck
    }
}

几点要说明的:

1.配置成nopreempt表示非抢占,即master由挂掉的状态恢复后,并不抢占VIP,slave端继续提供服务

2.由于nopreempt只有BACKUP中支持,所以上面master和slave都配置成了BACKUP

3.VIP转移只有在keepalived挂掉的情况下才会出现(不一定,等会说明),也就是说机器宕机是可以的,但是mysql本身挂掉了并不能导致keepalived挂掉,所以要检测mysql是否挂掉

4.通过检测mysql占用端口,比如3306并不难严谨,检测mysql进程是否存在也不是很严谨,最好的办法应该是执行mysql的命令如下:

mysql -uroot -proot -h 192.168.0.47 --connect_timeout=5 -e "select 1;"

5.有时候即使keepalived进程不在了,但是VIP还存在,通过ipconfig可能看不到VIP,可以通过

ip -o -f inet addr show

就可以看到VIP还是存在的

所以为了保险起见最好加上:

ip addr del 192.168.0.100 dev eth1


删除VIP

6.数据同步那块可以依赖mysql自己,也可以使用ali的otter来进行同步

http://my.oschina.net/dxqr/blog/524795

https://github.com/alibaba/otter

时间: 2024-08-13 11:36:08

mysql使用keepalived搭建双master的相关文章

RocketMQ 集群搭建--双Master方案

安装环境 jdk1.7 alibaba-rocketmq-3.2.6.tar.gz VM虚拟机redhat6.5-x64:192.168.1.201  192.168.1.202 Xshell4 部署方案 序号 IP 角色 模式 1 192.168.1.201 nameServer1,brokerServer1 Master1 2 192.168.1.202 nameServer2,brokerServer2 Master2 安装步骤:[两台机器同样操作  以201为例] 步骤一:解压安装文件a

基于keepalived搭建mysql双主高可用

目录 概述 环境准备 keepalived搭建 mysql搭建 mysql双主搭建 mysql双主高可用搭建 概述 传统(不借助中间件)的数据库主从搭建,如果主节点挂掉了,从节点只能读取无法写入,只能把人肉去恢复故障,既不想引用中间件也不想人肉恢复故障,可以折中选择双主方案,本文将介绍通过keepalived搭建mysql双主方案. 本例中vip为:172.16.0.169,  两台mysql实例服务器ip分别为:172.16.0.1和172.16.0.2 转帖请注明来源: https://my

基于keepalived搭建MySQL的高可用集群

http://www.cnblogs.com/ivictor/p/5522383.html 基于keepalived搭建MySQL的高可用集群 MySQL的高可用方案一般有如下几种: keepalived+双主,MHA,MMM,Heartbeat+DRBD,PXC,Galera Cluster 比较常用的是keepalived+双主,MHA和PXC. 对于小公司,一般推荐使用keepalived+双主,简单. 下面来部署一下 配置环境: 角色                          

Keepalived+Haproxy双主高可用负载均衡web和mysql综合实验

日期及版本:2014.5.4v1.0 架构图 实验目的: 1.Haproxy+Keepalived双主双机高可用模型,keepalived为Haproxy主从提供高可用保证haproxy-master若挂掉haproxy-backup能无缝接管,haproxy为后端Web提供负载均衡,缓解并发压力,实现WEB站点负载均衡+高可用性: 2. Haproxy反代web做动静分离: 3. Haproxy反代mysql 算法leastconn和roundrobin的不同效果: 系统环境: OS:cent

使用KeepAlived搭建MySQL高可用环境

使用KeepAlived搭建MySQL的高可用环境.首先搭建MySQL的主从复制在Master开启binlog,创建复制帐号,然后在Slave输入命令 change master to master_host='192.168.1.70', master_port=3306, master_user='xx', master_password='xx'; 然后使用start slave开启复制. 然后编译安装KeepAlived进入keepalived-1.2.12目录然后使用./configu

Mysql HA-Install Keepalived+LVS+Mysql(双主) On Redhat 6.3

主机信息: 调度节点: Name:lvs OS:Redhat 6.3 IP:192.168.56.235 VIP:192.168.56.236 数据节点1: Name:zbdba1 OS:Redhat 6.3 IP:192.168.56.230 数据节点2: Name:zbdba2 OS:Redhat 6.3 IP:192.168.56.231 客户端: Name:ogg2 OS:Redhat 6.3 IP:192.168.56.231 描述:数据节点1跟数据节点2互为主从 ,应用从客户端访问调

Mysql + keepalived 实现双主热备读写分离【转】

Mysql + keepalived 实现双主热备读写分离 2013年6月16日frankwong发表评论阅读评论 架构图 系统:CentOS6.4_X86_64软件版本:Mysql-5.6.12,Keepalived-1.2.7环境简介:1.Master-A 192.168.1.168 (Mysql+Keepalived)2.Master-B 192.168.1.169 (Mysql+Keepalived)3.写入VIP 192.168.100 (168主,169从)4.读取VIP 192.1

14、高可用keepalived搭建及切换

keepalived主从切换试验: 1.先搭建192.168.1.20与192.168.1.21的主主架构     192.168.1.76为VIP 2.在2机都安装keepalived  tar -zxvf keepalived-1.2.13.tar.gz   cd keepalived-1.2.13  ./configure -prefix=/usr/local/keepalived  make make install  [[email protected] keepalived-1.2.

Nginx+Keepalived搭建高可用负载均衡集群

Nginx+Keepalived搭建高可用负载均衡集群   一. 环境说明 前端双Nginx+keepalived,nginx反向代理到后端的tomcat集群实现负载均衡,Keepalived实现集群高可用. 操作系统: Centos 6.6_X64 Nginx版本: nginx-1.9.5 Keepalived版本:keepalived-1.2.13 结构: Keepalived+nginx-MASTER:10.6.1.210         Keepalived+nginx-BACKUP: