加入收藏 | 设为首页 | 会员中心 | 我要投稿 济南站长网 (https://www.0531zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 服务器 > 搭建环境 > Linux > 正文

Centos 6.0系统lvs+keepalived+mysql实现mysql数据库热备主主复制

发布时间:2016-09-18 15:46:50 所属栏目:Linux 来源:站长网
导读:今天这篇文章接着昨天的相关知识,一样是为了前天刚做的mysql热备; 大家知道实现mysql_Ha的方案有很多,常见的heartbeat、keepalived,这里说的就是keepalived

test:现在在两台服务器上其中一台,修改下数据,看看另一台的状况是否也修改,比如:

Centos 6.0系统lvs+keepalived+mysql实现mysql数据库热备主主复制

在另一台发现已经同步过去了;

2、接下来配置keepalived

vim /etc/keepalived/keepalived.conf

! Configuration File for keepalived
全局定义(global definition)配置
global_defs {
   notification_email {
   coffee_lanshan@sina.com   故障联系人
    }
   notification_email_from admin@example.com  故障发送人
   smtp_server 127.0.0.1
   smtp_connect_timeout 30
   router_id Mysql_ha
}
global_defs全局配置标识
    notification_email
 
    {
 
    coffee_lanshan@sina.com
    lansgg@sina.com
 
    }
    VRRP实例(instance)
vrrp_instance mysql{
    state MASTER   state 指定instance(Initial)的初始状态,实质是经过优先级决定
    interface eth0    实例绑定的网卡,因为在配置虚拟IP的时候必须是在已有的网卡上添加的
    virtual_router_id 50  这里设置VRID,这里非常重要,相同的VRID为一个组,他将决定多播的MAC地址   
    priority 100   设置本节点的优先级,优先级高的为master
    advert_int 1   检查间隔,默认为1秒
    preempt  设置抢占,这里只能设置在state为master的节点上,而且这个节点的优先级必须别另外的高
    authentication {
        auth_type PASS   认证方式,可以是PASS或AH两种认证方式
        auth_pass 123456   认证密码
    }
    virtual_ipaddress {
        192.168.152.200   这里设置的就是VIP,也就是虚拟IP地址,他随着state的变化而增加删除,
    }
}
 
virtual_server 192.168.135.200 3306 {            设置一个virtual server: VIP:Vport
    delay_loop 2      service polling的delay时间,即服务轮询的时间间隔
    lb_algo wrr       LVS调度算法 rr|wrr|lc|wlc|lblc|sh|dh  
    lb_kind DR        LVS集群模式  NAT|DR|TUN  
    persistence_timeout 60  会话保持时间(秒为单位),即以用户在120秒内被分配到同一个后端realserver
    protocol TCP  健康检查用的是TCP还是UDP
 
    real_server 192.168.135.134 3306 {  后端真实节点主机的权重等设置,主要,后端有几台这里就要设置几个
        weight 3   给每台的权重,0表示失效(不知给他转发请求知道他恢复正常),默认是1
#   notify_up <STRING> | <QUOTED-STRING>  #检查服务器正常(UP)后,要执行的脚本
    notify_down /usr/local/Mysql/bin/mysql.sh   检查服务器失败(down)后,要执行的脚本
#下面是常用的健康检查方式,健康检查方式一共有HTTP_GET|SSL_GET|TCP_CHECK|SMTP_CHECK|MISC_CHECK这些方式
    TCP_CHECK {
    connect_timeout 10
    nb_get_retry 3
    delay_before_retry 3
    connect_port 3306
}
}
}

编写检测服务down后所要执行的脚本

#!/bin/sh pkill keepalived

简单吧,只要mysqld进程不见了,就杀掉keepalived,让备机顶替

3、在备机操作keepalived

(编辑:济南站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读