HA之keepalived

简介:

用keepalived作HA(结合haproxy)真是爽呆了,漂移速度非常快,下面是编译安装配置过程

 
  1. #wget http://www.keepalived.org/software/keepalived-1.2.2.tar.gz 
  2. #cd keepalived-1.2.2
  3. #./configure
  4. # make && make install && make clean
稍作配置
  1. #cp /usr/local/etc/rc.d/init.d/keepalived /etc/rc.d/init.d/ 
  2. #cp /usr/local/etc/sysconfig/keepalived /etc/sysconfig/ 
  3. #mkdir /etc/keepalived 
  4. #cp /usr/local/etc/keepalived/keepalived.conf /etc/keepalived/ 
  5. #cp /usr/local/sbin/keepalived /usr/sbin/ 

修改keepalived.conf

以下是master上的

 
  1. ! Configuration File for keepalived 
  2.  
  3. #全局定义
  4. global_defs { 
  5.    notification_email { # 邮件通知
  6.         xxx@gmail.com #邮件地址
  7.    } 
  8.    notification_email_from xxx@163.com  #发件人地址
  9.    smtp_server smtp.163.com #smtp server
  10.    smtp_connect_timeout 5 #smtp 超时时间
  11.    router_id LVS_DEVEL 
  12. vrrp_script chk_haproxy { 
  13.      script "killall -0 haproxy" 
  14.      interval 2 
  15.      weight   2 
  16. vrrp_instance VI_1 { #实列名-可以自定义
  17.     state MASTER #角色
  18.     interface eth0 #HA检测的设备
  19.     virtual_router_id 50 #虚拟路由ID一组集群必须设置为同一个ID,tcpdump vrrp可获得
  20.     priority 200 #权重,backup不能高于master
  21.     advert_init 1 #检测时间间隔
  22.     smtp_alert #开启smtp通知
  23.     garp_master_delay 1 #主从切换时间,单位为秒。
  24.     mcast_src_ip xxx.xxx.xxx.xxx #master主机地址
  25.  
  26.     authentication { #认证设置
  27.         auth_type PASS #认证类型
  28.         auth_pass $RFV7ygv  #认证密码,设置为一致
  29.     } 
  30.     track_interface { 
  31.         eth0 
  32.         eth1 
  33.     } 
  34.     virtual_ipaddress { #虚拟IP定义,可以多个
  35.         xxx.xxx.xxx.xxx #vip定义
  36.     } 
  37. track_script {
    chk_haproxy #HA检测的定义
    }
    }

backup上的keepalived

 
  1. ! Configuration File for keepalived 
  2.  
  3. global_defs { 
  4.    notification_email { 
  5.         xxx@126.com 
  6.    } 
  7.    notification_email_from xxx@163.com 
  8.    smtp_server smtp.163.com 
  9.    smtp_connect_timeout 5 
  10.    router_id LVS_DEVEL 
  11. vrrp_script chk_haproxy { 
  12.      script "killall -0 haproxy" 
  13.      interval 2 
  14.      weight   2 
  15. vrrp_instance VI_1 { 
  16.     state BACKUP #角色
  17.     interface eth0 
  18.     virtual_router_id 50 #与master保持一致
  19.     priority 100 #权重低于master
  20.     advert_init 1 
  21.     smtp_alert 
  22.     garp_master_delay 1 
  23.     mcast_src_ip xxx.xxx.xxx.xxx #backup主机地址
  24.  
  25.     authentication { 
  26.         auth_type PASS 
  27.         auth_pass $RFV7ygv 
  28.     } 
  29.     track_interface { 
  30.         eth0 
  31.         eth1 
  32.     } 
  33.     virtual_ipaddress { 
  34.         xxx.xxx.xxx.xxx #vip address
  35.     } 
  36. track_script {
    chk_haproxy
    }
    }

PS:

配置完keepalived文件后 ,简单测试一下哈 ^_^

把master主机网卡停止, 可以瞬间切换到backup主机

启动master主机的网卡  master又抢占回vip

在业务应用十分频繁的系统上,如果master发生故障,切换回backup,master主机online后,又切换回到master,如此频繁的切换是无法容忍的,可以设置不抢占的方法

具体方法是将master主机的state也设置为BACKUP,在state BACKUP下面加入nopreempt

backup主机不需要加入,两个主机根据priority的高低进行抢占,高的为MASTER主机


本文转自dongfang_09859 51CTO博客,原文链接:http://blog.51cto.com/hellosa/530619,如需转载请自行联系原作者

相关文章
|
监控 负载均衡 网络协议
keepalived实现服务高可用
第1章 keepalived服务说明 1.1 keepalived是什么?   Keepalived软件起初是专为LVS负载均衡软件设计的,用来管理并监控LVS集群系统中各个服务节点的状态,后来又加入了可以实现高可用的VRRP功能。
2648 0
|
Web App开发 调度 开发工具
|
监控 负载均衡 网络协议
|
网络协议 开发工具
|
负载均衡 数据安全/隐私保护 网络协议
|
缓存 数据安全/隐私保护