keepalived使用与安装

2019阿里云全部产品优惠券(好东东,强烈推荐)
领取地址 https://promotion.aliyun.com/ntms/yunparter/invite.html

推荐:如何使用keepalived

[如果要使用keepalived,那么所有机器都需要在一个交换机,并且在一个网段吗?像下面这样的: {代码...} 另外,把虚拟IP绑定到域名上,外网能访问吗,晕晕的,不解。。。希

 

 

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

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

推荐:keepalived 使用

[ keepalived 一般用于实现双机热备,两台服务器提供服务,当其中一台挂掉后,平滑切换到另一个服务上。对外提供一个虚拟IP。   环境准备: 主机: 192.168.5.154  ---

需要人工做的只是修复故障的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

推荐:Keepalived的使用

[版权声明:本文遵循“署名非商业性使用相同方式共享2.5中国大陆”协议您可以自由复制、发行、展览、表演、放映、广播或通过信息网络传播本作品您可以根据本作品演义自己的

相关推荐