官方网站
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
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