Keepalived+Mysql 高可用方案

标签: keepalived mysql | 发表时间:2015-04-20 11:59 | 作者:wen19851025
出处:http://www.iteye.com

Keepalived+Mysql 高可用方案

 

VIP:192.168.59.100

Real Mysql-1:192.168.59.230

Real Mysql-2:192.168.59.231

 

实现原理: 在每台Real Mysql上安装Keepalived,设定同样的VIP,Real_server设为各自本机的mysql, 自建一个脚本用于在检测到本机Mysql 挂了以后杀死keepalived服务, 一旦keepalived服务被杀死, 外部访问VIP时将自动由另一台SERVER接受, keepalived的VIP访问原理是,哪台机器先启动keepalived,客户就连哪一台, 

 

安装: 略  Keepalived可从CentOS系统安装包中获得

配置:

Real Mysql-1:

建立一个脚本用于在keepalived检测到mysql挂了的时候调用该脚本把keepalived杀死

vi /usr/local/script/keepalived_shutdown.sh

      #!/bin/bash

       pkill keepalived

 

当然,在这个文件你也可以加入邮件通知等功能,这里就不列举了.

配置keepalived.conf

cd /etc/keeplived/

先备份一下这个文件

cp keepalived.conf keepalived.conf.bak

vi keepalived.conf

! Configuration File for keepalived

global_defs {
   notification_email {
     acassen@firewall.loc
     failover@firewall.loc
     sysadmin@firewall.loc
   }
   notification_email_from Alexandre.Cassen@firewall.loc
   smtp_server 192.168.200.1
   smtp_connect_timeout 30
   router_id LVS_DEVEL
}

vrrp_instance VI_MYSQL {
    state BACKUP   ## 主备库都是BACKUP,防止主库重启后,抢夺VIP资源
    interface eth0  ## HA地址网卡
    virtual_router_id 55
    priority 100  ## 优先级,主库比备库高
    nopreempt ## 非抢夺,在主库上配置,表示不抢夺VIP
    advert_int 1  ## 主备心跳检查间隔
    authentication {
        auth_type PASS
        auth_pass 123456
    }
    virtual_ipaddress {  ## VIP,主备库一样
        192.168.59.100
    }
}

virtual_server 192.168.59.100 3306 {
    delay_loop 2
    lb_algo wrr
    lb_kind DR
    net_mask 255.255.255.0
    persistence_timeout 20
    protocol TCP

    real_server 192.168.59.230 3306 {
        weight 1
        notify_down "/usr/local/script/keepalived_shutdown.sh" ## 检测到realserver服务不可用时的动作
        TCP_CHECK {
           connect_timeout 3
           connect_port 3306
        }
    }
}

 

重启keepalived

service keepalived restart

 

再配另一台, 配置和上面一样,只需改一下keepalived.conf里面real_server的IP为192.168.59.231就行了

 

现在你可以在两台机器中做测试了,比如停了mysql看keepalive有没有被杀死,杀死后客户端有没有连到另一台SERVER上.

 

 

 

 

 

 



已有 0 人发表留言,猛击->> 这里<<-参与讨论


ITeye推荐



相关 [keepalived mysql] 推荐:

Keepalived+Mysql 高可用方案

- - 数据库 - ITeye博客
Keepalived+Mysql 高可用方案. 安装: 略  Keepalived可从CentOS系统安装包中获得. 建立一个脚本用于在keepalived检测到mysql挂了的时候调用该脚本把keepalived杀死. 当然,在这个文件你也可以加入邮件通知等功能,这里就不列举了.. 配置keepalived.conf.

MySQL 5.5 keepalived + haproxy + MHA 自动容灾

- - CSDN博客数据库推荐文章
keepalived安装:. } } 在83上配置 vim /usr/local/etc/keepalived/keepalived.conf global_defs {. 在81和83上安装mha node,在82上安装mha manager. vi /usr/local/share/perl5/MHA/ManagerConst.pm 89 my $msg = $args{message}; 90 $msg = "" unless($msg); <=插入一行 91 chomp $msg;.

[转][转]MySQL高可用性之Keepalived+Mysql(双主热备)

- - heiyeluren的blog(黑夜路人的开源世界)
1、配置两台Mysql主主同步. #backup这台设置2 log-bin = mysql-bin binlog-ignore-db = mysql,information_schema. #忽略写入binlog日志的库 auto-increment-increment = 2. #字段变化增量值 auto-increment-offset = 1.

atlas+lvs+keepalived mysql多主复制负载均衡搭建

- - x-marker的博客
1.1 mysql数据节点:. 三个节点为xtradb cluster节点. 1.2 keepalived节点:. 虚拟ip为192.168.1.201 . haproxy节点(仅为了对比lvs的性能才安装的):db169(部署在xtradb cluster的一个节点上). 1.3 atlas节点:和xtradb cluster节点部署在一起,也为三个节点.

利用keepalived构建高可用MySQL-HA(转)

- - 数据库 - ITeye博客
关于MySQL-HA,目前有多种解决方案,比如heartbeat、drbd、mmm、共享存储,但是它们各有优缺点. heartbeat、drbd配置较为复杂,需要自己写脚本才能实现MySQL自动切换,对于不会脚本语言的人来说,这无疑是一种脑裂问题;对于mmm,生产环境中很少有人用,且mmm 管理端需要单独运行一台服务器上,要是想实现高可用,就得对mmm管理端做HA,这样无疑又增加了硬件开支;对于共享存储,个人觉得MySQL数据还是放在本地较为安全,存储设备毕竟存在单点隐患.

Keepalived安装

- - CSDN博客架构设计推荐文章
Keepalived 是一种高性能的服务器高可用或热备解决方案,Keepalived可以用来防止服务器单点故障(单点故障是指一旦某一点出现故障就会导致整个系统架构的不可用)的发生,通过配合Nginx可以实现web前端服务的高可用. 安装Keeplived依赖. 安装 openssl. #通知email,根据实际情况配置 { admin@example.com } notification_email_from admin@example.com smtp_server 127.0.0.1 stmp_connect_timeout 30 router_id node1.

配置LVS+Keepalived

- -
lvs说明:目前有三种IP负载均衡技术(VS/NAT、VS/TUN和VS/DR);. 八种调度算法(rr,wrr,lc,wlc,lblc,lblcr,dh,sh). 在调度器的实现技术中,IP负载均衡技术是效率最高的. 在分析VS/NAT的缺点和网络服务的非对称性的基础上,我们提出通过IP隧道实现虚拟服务器的方法VS/TUN (Virtual Server via IP Tunneling),和通过直接路由实现虚拟服务器的方法VS/DR(Virtual Server via Direct Routing),它们可以极大地提高系统的伸缩性.

Haproxy+KeepAlived 负载均衡

- - CSDN博客系统运维推荐文章
软件负载均衡一般通过两种方式来实现:基于操作系统的软负载实现和基于第三方应用的软负载实现. LVS就是基于Linux操作系统实现的一种软负载,HAProxy就是开源的并且基于第三应用实现的软负载. 还可以使用nginx来实现,不过nginx只工作在7层网络之上. 详细请参考 抚琴煮酒写的“ 软件级负载均衡器(LVS/HAProxy/Nginx)的特点简介和对比”这篇文章,简单很详细,很好.

lvs+keepalived 负载均衡

- - CSDN博客系统运维推荐文章
LVS是一个开源的软件,可以实现LINUX平台下的简单负载均衡. LVS是Linux Virtual Server的缩写,意思是Linux虚拟服务器. 目前有三种IP负 载均衡技术(VS/NAT、VS/TUN和VS/DR);八种调度算法(rr,wrr,lc,wlc,lblc,lblcr,dh,sh).

Keepalived避免无用的failover

- - 小火箭
通常情况下,当主挂掉时,从会自动切换为主. 当主上的服务恢复时,则会再次抢占成为主,这里就发生了一次不必要的failover. 为了解决上述情况,可以在主的配置中vrrp_instance增加nopreempt. 注意:确保实验机器防火墙不会过滤掉vrrp协议的数据包. 以下是 sudo tcpdump vrrp -i eno16777736命令输出.