keepalived 安装-----------------------------------------------
1.下载解压到:/usr/keepalived1.2.12
cd /usr/keepalived1.2.12
./configure --prefix=/usr/local/keepalived
make && make install
此步骤如果遇到报错:!!! OpenSSL is not properly installed on your system. !!!
更新openssl:yum install -y openssl openssl-devel
2.复制keepalived服务脚本文件并赋予可执行权限:
cp /usr/local/keepalived/etc/rc.d/init.d/keepalived /etc/init.d/keepalived
chmod +x /etc/init.d/keepalived
3.修改keepalived服务脚本文件:
vi /etc/init.d/keepalived
将. /etc/sysconfig/keepalived 修改为 . /usr/local/keepalived/etc/sysconfig/keepalived
新增:PATH="$PATH:/usr/local/keepalived/sbin"
export PATH
4.修改/usr/lcoal/keepalived/etc/sysconfig/keepalived文件:
KEEPALIVED_OPTIONS="-D -f /usr/local/keepalived/etc/keepalived/keepalived.conf"
5.开机启动并重启keepalived服务:
chkconfig keepalived on
service keepalived restart
keepalived.conf 配置-----------------------------------------------
vi /usr/local/keepalived/etc/keepalived/keepalived.conf
! Configuration File for keepalived
vrrp_script nginx_pid { #检测脚本
script "/usr/local/keepalived/bin/nginx_pid.sh" #检测脚本所在路径
interval 2 #运行间隔
weight 3
}
global_defs {
notification_email {
root@localhost
}
notification_email_from Alexandre.Cassen@firewall.loc
smtp_server localhost
smtp_connect_timeout 30
router_id A #各节点区分开;备份节点设置: router_id B
}
vrrp_instance VI_1 {
state MASTER #表示为主节点;备份节点设置:state:BUCKUP
interface eth0 #网卡
virtual_router_id 51
priority 100 #优先级; 备份节点设置: priority 99
advert_int 1
authentication {
auth_type PASS
auth_pass 1111
}
virtual_ipaddress {
192.168.1.181/24 dev eth0 #虚拟路由ip地址,所有节点相同
}
track_script {
nginx_pid #检测脚本名
}
}
nginx_pid脚本:(如果不存在nginx pid,启动nginx,如等待3秒后不成功,关闭keepalived服务)
#!/bin/bash
A=`ps -C nginx --no-header |wc -l`
if [ $A -eq 0 ];then
service nginx start
sleep 3
if [ `ps -C nginx --no-header |wc -l` -eq 0 ];then
service keepalived stop
fi
fi
测试: 浏览器访问虚拟IP 192.168.1.181 指向主服务器,关闭主服务器nginx后,访问192.168.1.181,指向了备份服务器即为成功。