首页 > 代码库 > haproxy高可用之非抢占keepalived(二)

haproxy高可用之非抢占keepalived(二)

1、安装keepalived

yum install keepalived


2、编辑配置文件 /etc/keepalived/keepalived.conf

主:

global_defs {
    notification_email {
        xiaocheng@qq.com  #可以添加多个邮箱接收报警
    }
    notification_email_from admin@163.com
    smtp_server smtp.qiye.163.com
    smtp_connect_timeout 30
    router_id keepalived_1
}
vrrp_script chk_haproxy {
        script "killall -0 haproxy"    #服务探测,返回0说明服务是正常的
        interval 1    #每隔1秒探测一次
        weight 2      #haproxy上线,权重加2;其他情况权重不变
}
#
vrrp_instance 192.168.1.50 {        #双主实例1
    state MASTER            #ha1(192.168.1.50)为主,ha2(192.168.1.60)为备
   # state BACKUP           #测试下来状态设置为MASTER/BACKUP皆可实现非抢占
    interface eth1
    virtual_router_id 88    #实例192.168.1.50的VRID为88 主备id需设为一致
    priority 101            #主(192.168.1.50)的优先级为101,备的(192.168.1.60)优先级为100
    smtp_alert
    advert_int 1
    authentication {
        auth_type PASS
        auth_pass 123456
    }
#
    virtual_ipaddress {
        192.168.1.99    #实例192.168.1.50的VIP
    }
    track_interface {
        eth1
    }
#
    track_script {        #脚本追踪
        chk_haproxy
    }
    #状态变化时你要触发的脚本
    notify_master "/etc/keepalived/notify.sh master" 
    notify_backup "/etc/keepalived/notify.sh backup"
    notify_stop "/etc/keepalived/notify.sh stop"
    notify_fault "/etc/keepalived/notify.sh fault"
}

备:

global_defs {
    notification_email {
        xiaocheng@qq.com
    }
    notification_email_from admin@163.com
    smtp_server smtphz.qiye.163.com
    smtp_connect_timeout 30
    router_id keepalived_2
}
vrrp_script chk_haproxy {
        script "killall -0 haproxy"
        interval 1
        weight 3 #haproxy上线,权重加3;其他情况权重不变
}
vrrp_instance 192.168.1.60 {
    state BACKUP
    interface eth0
    virtual_router_id 88
    priority 100
    advert_int 1
    smtp_alert
    authentication {
        auth_type PASS
        auth_pass 123456
    }
#
    virtual_ipaddress {
        192.168.1.99
    }
    track_interface {
        eth0
    }
#
    track_script {
        chk_haproxy
    }
    notify_master "/etc/keepalived/notify.sh master"
    notify_backup "/etc/keepalived/notify.sh backup"
    notify_stop "/etc/keepalived/notify.sh stop"
    notify_fault "/etc/keepalived/notify.sh fault"
}


分别启动192.168.1.50、192.168.1.60上的haproxy、keepalived

这样的话haproxy的高可用就完成了。

本文出自 “linux_cheng” 博客,请务必保留此出处http://6764097.blog.51cto.com/6754097/1954173

haproxy高可用之非抢占keepalived(二)