keepalived在linux下的安装步骤
介绍
keepalived是一个轻量型的实现负载均衡的方案,本质上以一个vip代替实际的ip地址进行高可用方案。但要防止容易发生的脑裂现象。
安装部署
下载安装包
wget http://www.keepalived.org/software/keepalived-2.0.6.tar.gz
tar zxvf keepalived-2.0.6.tar.gz
cd keepalived-2.0.6
配置
./configure --prefix=/usr/local/keepalived
安装
make && make install
cp /usr/local/keepalived/sbin/keepalived /etc/init.d/
cp /usr/local/keepalived/sbin/keepalived /etc/sysconfig/
cp /usr/local/keepalived/sbin/keepalived /usr/sbin/
mkdir /etc/keepalived
cp /usr/local/keepalived/etc/keepalived/keepalived.conf /etc/keepalived/
启停
systemctl stop keepalived
配置文件添加
vrrp_script chk_maintainace { //检测机制的脚本名称为chk_maintainace
script "/bin/bash -c '[[ -f /etc/keepalived/down ]] && exit 1 || exit 0'" //可以是个脚本路径,也可以是脚本命令
interval 1 //每隔1秒中检测一次
weight -20 //优先级减80
}
实例中添加
track_script {
chk_maintainace
}
FAQ
问题1:
Please install libnl/libnl-3 dev libraries to support IPv6 with IPVS.
解决:
yum -y install libnl libnl-devel
问题2:
error: libnfnetlink headers missing
解决:
yum install -y libnfnetlink-devel
问题3:(vip同网段)
vip无法ping通
解决:
keepalived.conf中vip配置好后,通过ip addr可以看到vip已经顺利挂载,但是无法ping通,并且防火墙都已关闭,原因是keepalived.conf配置中默认vrrp_strict打开了,需要把它注释掉。重启keepalived即可ping通。
问题4:
!!! OpenSSL is not properly installed on your system. !!!
!!! Can not include OpenSSL headers files.
解决:
yum -y install openssl-devel
问题5:
vrrp_script不生效
解决:
systemd进程运行的时候,keepalived的运行是不能理解[[ -f /etc/keepalived/down ]]这段话的。必须是里bash运行,即 “/bin/bash -c ‘[[ -f /etc/keepalived/down ]] && exit 1 || exit 0’”