Linux系统中Keepalived部署方案

1、概述

Nginx 作为反向代理服务器,来提供负载均衡的能力,当反向代理服务器挂了,应用 服务器就不能被外界访问到,所以我们必须要保证反向代理服务器的高可用,此处以Keepalived 来进行部署,通过配合 Nginx 可以实现 应用服务的高可用。

2、部署规划

服务器规划

虚拟IP服务器IP默认主从
192.168.5.5192.168.5.1MASTER
192.168.5.5192.168.5.2BACKUP

3、Keepalived安装

3.1在线安装Keepalived

两台Nginx服务器中执行在线安装Keepalived:

yum -y install keepalived  #在线安装keepalived

chkconfig keepalived on # 设计开机自启动

3.2配置文件

修改keepalived配置文件:vi /etc/keepalived/keepalived.conf

MASTER节点配置内容:

! Configuration File for keepalived

global_defs {

    router_id nginx1  #本机名,使用hostname即可查询

}

vrrp_script chk_nginx {

   script "/etc/keepalived/nginx_check.sh"

   interval 2

   weight -20

}

vrrp_instance VI_1 {

 state MASTER

 interface ens192  #使用ip a即可得出

 virtual_router_id 30

 mcast_src_ip 192.168.5.1

 priority 100 # 节点优先级, 值范围 0-254, MASTER 要比 BACKUP 高

 advert_int 1

 authentication {

  auth_type PASS

  auth_pass 12345

 }

 track_script {

  chk_nginx

 }

 virtual_ipaddress {

  192.168.5.5

 }

}

BACKUP节点配置内容:

! Configuration File for keepalived

global_defs {

    router_id nginx2  #本机名,使用hostname即可查询

}

vrrp_script chk_nginx {

   script "/etc/keepalived/nginx_check.sh"

   interval 2

   weight -20

}

vrrp_instance VI_1 {

 state BACKUP

 interface ens192  #使用ip a即可得出

 virtual_router_id 30

 mcast_src_ip 192.168.5.2

 priority 90  # 节点优先级, 值范围 0-254, BACKUP 要比 MASTER 低

 advert_int 1

 authentication {

  auth_type PASS

  auth_pass 12345

 }

 track_script {

  chk_nginx

 }

 virtual_ipaddress {

  192.168.5.5

 }

}

3.3编写Nginx自启脚本

修改文件/etc/keepalived/nginx_check.sh ,添加语句如下:

#!/bin/bash

A=`ps -C nginx --no-header | wc -l`

if [ $A -eq 0 ];then

/home/fanruan/sbin/nginx

sleep 2

if [ `ps -C nginx --no-header | wc -l` -eq 0 ];then

 killall keepalived

fi

fi

赋予文件权限:chmod +x /etc/keepalived/nginx_check.sh 

4、问题释义:

4.1启动主机和备份机的keepalived服务后,主机和备份机器都会绑定虚拟IP。

解释:

1、因为主机和备份机之间的通信异常,条件允许的话可以关闭防火墙;

2、防火墙开启状态时,需要添加VRRP协议。

firewall-cmd --permanent --add-protocol=vrrp

firewall-cmd --reload #立即生效

4.2nginx服务断掉后,编写的nginx状态启动脚本没有自动拉起nginx服务。

解释:

因为selinux原因,自启脚本没有执行;

临时关闭selinux命令:setenforce 0;

永久关闭selinux命令:sed -i "s/^SELINUX=.*/SELINUX=disabled/g" /etc/selinux/config

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值