首先安装依赖版权声明:本文遵循 CC 4.0 BY-SA 版权协议,若要转载请务必附上原文出处链接及本声明,谢谢合作! 包
yum install -y libnfnetlink-devel zlib zlib-devel gcc gcc-c++ openssl openssl-devel openssh libnl*
下载并解压安装Keepalived
wget https://www.keepalived.org/software/keepalived-2.0.15.tar.gz && tar -zxvf keepalived-2.0.15.tar.gz && cd keepalived-2.0.15 && ././configure --prefix=/usr/local/keepalived && make && make install
配置
1、 keepalived安装完成后默认不会注册为系统服务,所以需要手工添加系统服务脚本。在/etc/init.d目录下新建keepalived文件,并更改权限其即可。
cp /root/keepalived-2.0.15/keepalived/etc/init.d/keepalived /etc/init.d/ && chmod 755 /etc/init.d/keepalived && chkconfig --add keepalived && chkconfig keepalived on
cp /usr/local/keepalived/sbin/keepalived /usr/sbin
2、调整启动配置文件如下:
#!/bin/bash
#
# Startup script for the Keepalived daemon
#
# processname: keepalived
# pidfile: /var/run/keepalived.pid
# config: /etc/keepalived/keepalived.conf
# chkconfig: - 21 79
# description: Start and stop Keepalived
# Source function library
. /etc/rc.d/init.d/functions
# Source configuration file (we set KEEPALIVED_OPTIONS there)
. /usr/local/keepalived/etc/sysconfig/keepalived
keepalived=/usr/local/keepalived/sbin/keepalived
keepalived_config=/usr/local/keepalived/etc/keepalived/keepalived.conf
keepalived_pid=/usr/local/keepalived/run/keepalived.pid
RETVAL=0
prog="keepalived"
start() {
echo -n $"Starting $prog: "
daemon $keepalived -f ${keepalived_config} ${KEEPALIVED_OPTIONS}
RETVAL=$?
echo
[ $RETVAL -eq 0 ] && touch /var/lock/subsys/$prog
}
stop() {
echo -n $"Stopping $prog: "
killproc keepalived
RETVAL=$?
echo
[ $RETVAL -eq 0 ] && rm -f /var/lock/subsys/$prog
}
reload() {
echo -n $"Reloading $prog: "
killproc keepalived -1
RETVAL=$?
echo
}
# See how we were called.
case "$1" in
start)
start
;;
stop)
stop
;;
reload)
reload
;;
restart)
stop
start
;;
condrestart)
if [ -f /var/lock/subsys/$prog ]; then
stop
start
fi
;;
status)
status keepalived
RETVAL=$?
;;
*)
echo "Usage: $0 {start|stop|reload|restart|condrestart|status}"
RETVAL=1
esac
exit $RETVAL
3、自定义日志输出
由于在默认状态下keepalived的日志会写入到/var/log/message中,我们需要将此剥离出来;在centos 6下可以:
(1)首先修改/etc/sysco
#KEEPALIVED_OPTIONS="-D"
KEEPALIVED_OPTIONS="-D -d -S 0"
(2)其次修改 /etc/rsyslog.conf 文件,添加如下:
local0.* /var/log/keepalived.log
在centos 7 下,还需要
centos 7使用。因为centos 7使用systemctl,通过systemctl调用service,所以需要修改/lib/systemd/system/keepalived.serv
将里面的:
EnvironmentFile=-/usr/local/keepalived/etc/sysconfig/keepalived
ExecStart=/usr/local/keepalived/sbin/keepalived $KEEPALIVED_OPTIONS
修改成:
EnvironmentFile=/etc/sysconfig/keepalived
ExecStart=/sbin/keepalived $KEEPALIVED_OPTIONS
然后重新加载service,使其生效:
systemctl daemon-reload
4、 使用配置文件简介
vim keepalived.conf
global_defs {
router_id lb01
}
vrrp_instance VI_1 { 定义的VRRP热备实例
state MASTER 热备状态,MASTER表示主服务器
interface eth0 承载VIP地址的物理接口
virtual_router_id 51 虚拟路由器的id号,每个热备组保持一致
priority 100 优先级,数值越大优先级越高
advert_int 1 通告间隔秒数,(心跳频率) 注意通告的组播地址224.0.0.18
authentication { 认证类型,每个热备组保持一致
auth_type PASS 认证类型
auth_pass 1111 认证字串
}
virtual_ipaddress {
192.168.31.2 指定的漂移地址(VIP),可以有多个啊
}
}