安装
- 1、编辑 ./configure --prefix=/usr/local/keepalived --sysconf=/etc
Prefix 安装位置
Sysconf keepalived核心配置文件所在位置,固定位置,改成其他位置keepalived
启动不了,/var/log/message中会报错
安装过程如果报错
安装依赖 yum install -y libnl libnl-devel
重启configure
Make &&make install
核心文件在/etc/keepalived/下
配置
- 1、配置主节点
修改/etc/keepalived/keepalived.conf
Global_defs{
#路由id,当前安装keepalived的节点主机标识符,保证全局唯一
route_id keep_171
}
Vrrp_instance VI_1{
#表示状态是MASTER主机还是备用机BACKUP
State MASTER
#该实例绑定的网卡
Interface ens33
#保证主备节点一致即可
Virtual_router_id 51
#权重,master权重一般高于backup,如果有多个,那就是选举,谁的权重搞,谁就当选
Priority 100
#主备之间同步检查时间间隔,单位秒
advert_int 2
#认证权限密码,防止非法节点接入
Authentication{
auth_type pass
Auth_pass 1111
}
#虚拟出来的ip,可以有多个(vip)
Virtual_ipaddress{
192.168.1.1
}
}
查看网卡信息ip addr
启动keepalived 安装目录下sbin 下keepalived
查看进程 ps -ef | grep keepalived
再次查看网卡是否出现vip域名
注意:配置信息没有分号,换行就行了
有时使用systemctl 命令无效,就使用pkill 命令
- 2、配置备节点
其他配置基本和主节点一致
其中修改state为BACKUP,priority权重改小事主节点一般多久行
Keepalived配置nginx自动重启
- 新增/etc/keepalived/check_nginx_alive_or_not,sh脚本
#!/bin/bash
A=ps -C nginx --no-header | wc -l
#判断nginx是否宕机,如果宕机了,尝试重启
if [ $A -eq 0 ];
then /usr/local/nginx/sbin/nginx
#等待一小会再次检查nginx,如果没有启动成功,则停止keepalived,使其启动备用机
Sleep 3
If [ ps -C nginx --no-header | wc -l -eq 0 ];then
Killall keepalived
Fi
Fi
注意相对应的空格,否则运行失败
增加运行权限
配置keepalived监听nginx脚本
Vrrp_script check_nginx_alive {
Script “ /etc/keepalived/check_nginx_alive_or_not.sh”
Interval 2 #每隔两秒运行上一行脚本
Weight 10 #如果基本运行失败,则升级权重+10
}
在vrrp_instance中新增监控的脚本
Track_script {
Check_nginx_alive#追踪nginx脚本
}
}
重启keepalived ,systemctl restart keepalived
有时会无效,可以查看安装时的日志,tail messages 查看报错信息,常规错误是pid不存在,可重启(不推荐)
配置keepalived双主热备
- 意思就是把备机当主机配置,把主机当备机配置,调换相应的配置即可
然后就可以愉快的玩耍了