centos7安装部署keepalived,nginx+keepalived 主备高可用

一、安装keepalived

准备好两台机器
使用 yum 安装

yum install -y keepalived

二、主机配置

使用 yum 安装后的 keepalived 配置文件路径为

/etc/keepalived/keepalived.conf

编辑主机的配置文件

vim /etc/keepalived/keepalived.conf

keepalived 的配置文件中原有的内容很多,删掉 vrrp_instance VI_1 {} 内容块之后的所有内容
在这里插入图片描述

  • global_defs
    • router_id 随便起一个
  • vrrp_instance ***
    • *** 起一个实例名称,主备机器上需要一致
    • state 主机设置为 MASTER
    • interface 与机器的网卡一致,使用 ip addr 查看机器网卡
    • virtual_router_id 主备需要一致
    • priority 竞选主机的优先级,MASTER 的大于 BACKUP的
    • advert_int 1 主备沟通时间间隔
    • authentication {} 用于同组验证。
    • virtual_ipaddress {} 虚拟ip地址,可以设置多个

主机配置完成后启动 keepalived

systemctl start keepalived.service

查看启动是否成功

systemctl status keepalived.service		# 查看状态是否为 active
ip a  	# 查看网卡下的 ip 中是否有配置文件中的虚拟 ip

在这里插入图片描述

三、备机配置

在这里插入图片描述

  • 修改 router_id
  • vrrp_instance 实例名称和主机一致
    • state 修改为 BACKUP
    • virtual_router_id 和主机一致
    • priority 比主机小
    • authentication {} 和主机一致
    • virtual_ipaddress {} 和主机一致

启动备机 keepalived。

四、测试

经过上面的配置,两台机器上的 keepalived 形成一组主备,现在测试主备功能。

  1. 打开windows控制台
  2. ping 配置的虚拟地址
ping 192.168.40.200 -t
  1. 停止主机的 keepalived 服务
systemctl stop keepalived.service
或
poweroff 
  1. 观察windows的控制台,出现连接超时,之后会恢复正常。说明主备配置起作用了,当主机宕机后,备机上的服务生效。
    在这里插入图片描述

keepalived 主备之间通过监测主机上的 keepalived 服务是否正常运行来判断主机是否宕机的,所以直接停止主机keepalived 服务,备机就会顶上去。

五、nginx + keepalived 高可用

用 nginx 做负载均衡时,一般只会在一台机器上部署 nginx,容易出现单点故障。如果要增加 nginx 机器,那么两台 nginx 需要对同样的服务进行负载均衡,要求 nginx 的 IP 也是一致的,故此需要通过 keepalived 来实现。
首先需要由一个 shell 脚本来检测 nginx 的运行情况。

cd /etc/keepalived/
vim nginx_check.sh

脚本内容

#! /bin/bash
A=`ps -C nginx --no-header |wc -l`
#echo $A
if [ $A -eq 0 ];then
    echo 'nginx not running, stop keepalived!'
    systemctl stop keepalived
fi

将该脚本文件修改为可执行文件

chmod +x nginx_check.sh

编辑 keepalived 配置文件
在这里插入图片描述

# 调用自定义监控脚本(放在 vrrp_instance 块内)
track_script {
    check_nginx
}

# 自定义监控脚本
vrrp_script check_nginx {
    # 脚本位置
    script "/etc/keepalived/check_nginx.sh"
    # 脚本执行间隔
    interval 1
    weight 0
}

先启动 nginx,再启动 keepalived。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

yax1n9

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值