`
AILIKES
  • 浏览: 177974 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

keepalived使用与安装

阅读更多

 

 

 
官方网站
http://www.keepalived.org/

【简介】
keepalived是一个类似于layer3, 4 & 5交换机制的软件,也就是我们平时说的第3层、第4层和第5层交换。Keepalived的作用是检测web服务器的状态,如果有一台web服务器死机, 或工作出现故障,Keepalived将检测到,并将有故障的web服务器从系统中剔除,当web服务器工作正常后Keepalived自动将web服务 器加入到服务器群中,这些工作全部自动完成,不需要人工干涉,需要人工做的只是修复故障的web服务器。

【作用】
主要用作RealServer的健康状态检查以及LoadBalance主机和BackUP主机之间failover的实现。

【依赖库】
ubuntu
apt-get install gcc openssl libpopt-dev libssl-dev

centos
yum install popt-devel openssl-devel popt-devel

./configure --prefix=/application/search/usr/keepalived-1.2.12
make
make install
创建临时目录
mkdir -p /application/search/usr/keepalived-1.2.12

【配置文件】
#全局,邮件通知可选
global_defs {
   router_id app_dev
}

#检查,可选
# killall -0 haproxy
# 如果haproxy进程存在,则返回空
# 如果haproxy进程不存在,则返回haproxy: no process killed
vrrp_script chk_haproxy {          # Requires keepalived-1.1.13
    script "killall -0 haproxy"   
    interval 1    # check every 10 seconds
    weight -20    # if failed, decrease 40 of the priority
    fall   1      # require 2 failures for failures
    rise   1      # require 1 sucesses for ok
}

#主机配置(服务器1)
vrrp_instance VI_1 {
    state MASTER    #MASTER/BACKUP
    interface eth1
    virtual_router_id 51  #如果1个配置文件里,配置了多个virtual_ipaddress,则不能一样,例如vrrp_instance ip_253
    priority 150
    advert_int 1
    authentication {
        auth_type PASS
        auth_pass 1111
    }
    virtual_ipaddress {
        192.168.56.254
    }
#可选
    track_script {
        chk_haproxy
    }
}


vrrp_instance ip_253 {
    state BACKUP
    interface eth1
    virtual_router_id 52
    priority 70
    advert_int 1
    authentication {
        auth_type PASS
        auth_pass open
    }
    virtual_ipaddress {
        192.168.56.253
    }
}


#备机配置(服务器2)
vrrp_instance VI_1 {
    state BACKUP
    interface eth1
    virtual_router_id 51
    priority 50
    advert_int 1
    authentication {
        auth_type PASS
        auth_pass 1111
    }
    virtual_ipaddress {
        192.168.56.99
        192.168.56.100
    }
}

查看日志
tail -200f /var/log/messages | grep Keepalived_vrrp

附录
【centos增加日志输出】
首先关闭selinux,参考http://phl.iteye.com/blog/1981141
设置
/etc/rsyslog.conf
增加
local4.* /data0/search/keepalived/log/keepalived.log
重启                                                                                           
service rsyslog stop
service rsyslog start
测试日志输出
logger -p local4.info ‘test log print by piaohailin‘
查看日志
tail -200f /data0/search/keepalived/log/keepalived.log

启动
./sbin/keepalived -f /root/keepalived-1.2.12/etc/keepalived/keepalived.conf -D -S 4

-D是让keepalived详细记录log
-d是在日志里打出keepalived读到的配置信息
-S 4是到会将日志发送给syslog,且日志定为LOCAL4

【参考资料】
精品教程:运维天下,非常全面
http://bbs.ywlm.net/thread-845-1-1.html
安装错误调试参考
http://www.ttlsa.com/html/299.html
共享库解决参考
http://blog.sina.com.cn/s/blog_54f82cc201011ve4.html
keepalived安装
http://wenku.baidu.com/view/15b996cf08a1284ac8504373.html
keepalived检查
http://blog.sina.com.cn/s/blog_5374d6e30100sdne.html

【错误调试】
configure: error: Popt libraries is required
centos:yum install popt-devel
ubuntu:apt-get install libpopt-dev

设置库环境变量
LDFLAGS     linker flags, e.g. -L<lib dir> if you have libraries in a
              nonstandard directory <lib dir>
 
CPPFLAGS    (Objective) C/C++ preprocessor flags, e.g. -I<include dir> if
              you have headers in a nonstandard directory <include dir>


export LDFLAGS="-L/root/openssl-0.9.8x/lib"
export CPPFLAGS="-I/root/openssl-0.9.8x/include"
 
export LD_LIBRARY_PATH=/root/openssl-0.9.8x/lib:$LD_LIBRARY_PATH

包扫描
export PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/root/openssl-0.9.8x/lib/pkgconfig
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics