CentOS 6.0系统LVS+Keepalived+MySQL实现MySQL数据库热备主(2)

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.152.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.152.128 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,让备机顶替

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:http://www.heiqu.com/68fd85bf3e9a4cb4db5cd5be631267b9.html