keepalived安装及配置

  • A+
所属分类:linux技术
摘要

配置文件内容如下:脚本内容:注:启动keepalived会执行nginx检测脚本,此时如果nginx未启动则会同时启动nginx。

1. 官网下载tar包

https://www.keepalived.org/ 

2. 上传到指定目录安装

./configure --prefix=/usr/local/keepalived --sysconf=/etc  *** WARNING - this build will not support IPVS with IPv6. Please install libnl/libnl-3 dev libraries to support IPv6 with IPVS.  如果出现上述提示,则执行下面命令安装libnl: yum install -y libnl  make && make install 

3. 配置文件

cd /etc/keepalived cp keepalived.conf keepalived.conf.bak vim keepalived.conf 

配置文件内容如下:

! Configuration File for keepalived  global_defs {    # 负载均衡标识,在局域网内应该是唯一的。一般为主机名。    router_id 主机名称 }  vrrp_script chk_http_port {     # 检测心跳执行的脚本     script "/usr/local/src/nginx_check.sh"     # 检测脚本执行间隔,单位:秒     interval 4     weight 2 }  vrrp_instance VI_1 {     # 指定keepalived的角色,MASTER为主,BACKUP为备     state MASTER     # 当前进行vrrp通讯的网络接口卡(当前centos的网卡)     interface ens33     # 指定VRRP实例ID(虚拟路由编号),范围是0-255,主从要一直     virtual_router_id 202     # 优先级,数值越大,获取处理请求的优先级越高, 优先级高的将成为MASTER。     priority 100     # 指定发送VRRP通告的间隔,默认为1s(vrrp组播周期秒数)     advert_int 1     # 设置验证类型和密码,MASTER和BACKUP必须使用相同的密码才能正常通信     authentication {         # 指定认证方式。PASS简单密码认证(推荐),AH:IPSEC认证(不推荐)。         auth_type PASS         # 指定认证所使用的密码。最多8位。         auth_pass 2020     }     # 调用检测脚本     track_script {         chk_http_port     }     # 定义虚拟ip(VIP),可多设,每行一个     virtual_ipaddress {         192.168.199.143     } } 

4. 配置nginx检测脚本文件

cd /usr/local/src vim nginx_check.sh 

脚本内容:

#!/bin/bash A=`ps -C nginx --no-header | wc -l` if [ $A -eq 0 ];then     /usr/local/nginx-1.18.0/sbin/nginx     sleep 4     if [ `ps -C nginx --no-header | wc -l` -eq 0 ];then         killall keepalived     fi fi 

5. keepalived 启动/重启/停止/查看状态

systemctl start/restart/stop/status keepalived 

注:启动keepalived会执行nginx检测脚本,此时如果nginx未启动则会同时启动nginx。

6. 查看日志

tail -f /var/log/messages 

7. 浏览器访问虚拟IP地址

192.168.199.143