当前位置: 首页 > news >正文

【LVS高可用】Keepalived配置详解

keepalived

1. keepalived概念

Keepalived是一个用于实现高可用性负载均衡的软件。它基于VRRP协议,可以用于管理多个服务器的故障转移

2. 功能

  • 负载均衡:通过集成LVS(Linux Virtual Server)实现。
  • 高可用性:通过VRRP协议实现故障转移。
  • 健康检查:对真实服务器进行健康检查,自动移除或恢复节点。

3. VRRP 选举机制

  • 优先级:0-255,值越大优先级越高
  • 抢占模式:高优先级节点恢复后自动成为Master
  • 通告间隔:默认1秒发送一次心跳

4. Nginx + keepalived 高可用配置

一、基础环境
# 共两台服务器  ng-master *1  ng-backup *1ng-master ng-backupvip : 192.168.65.100
# 安装nginx和keepalived
yum install -y nginx keepalived 
二、ng-master服务器配置
# 修改ng-master服务器中的keeplaived 配置文件:
vi /etc/keepalived/keepalived.conf
global_defs {# 检测脚本运行的用户script_user root		enable_script_security
}
vrrp_script check_nginx {# 检测本机nginx进程是否开启script "/data/keepalived/etc/keepalived/script/chk_nginx_pid.sh" #检测间隔5秒interval 5		 # 检测两次失败将实例定义为故障,移除vipfall 2		     # 检测一次成功后将状态改为正常(设置不抢占后不会抢占vip)rise 1			# 权重#weig
}
vrrp_instance NGINX {# 主节点为MASTER,备节点BACKUP state MASTER		# 需要绑定的网卡,通常该主机的通信网卡interface ens33		# 同一个网络不能和其它vip重复,同一组vip必须相同,可自定义数值virtual_router_id 42# 数值越大优先级越高priority 90			 # 设置不抢占模式#nopreempt advert_int 1authentication {# 通过密码授权auth_type PASS	 auth_pass abc123}track_script {check_nginx}virtual_ipaddress {#VIP地址192.168.65.100		}
}
# 定义check_nginx检测脚本
mkdir -p/data/keepalived/etc/keepalived/script/vim chk_nginx_pid.sh#!/bin/bash
#判断 Nginx 是否存活
countng=`ps -C nginx --no-header | wc -l`
if [ $countng -eq 0 ]; then
#如果不存活则尝试启动 Nginx
#/data/nginx/sbin/nginx -c  /etc/nginx.conf
sleep 3
#等待 3 秒后再次获取一次 Nginx 状态
counter=`ps -C nginx --no-header | wc -l`
#再次进行判断,如 Nginx 还不存活则停止 Keepalived,让地址进行漂移
if [ $counter -eq 0 ]; then
systemctl stop keepalived  #停用keepalived服务
fi
fi# 添加权限
chmod +x chk_nginx_pid.sh
systemctl start nginx keepalived #使用ip a查看vip地址
ip a
# 配置/etc/hosts DNS映射,调整nginx 配置文件
vim /etc/hosts
# 指向VIP地址
192.168.65.100 www.cat.com		vi /usr/local/nginx/conf/nginx.conf
....server {listen       80;server_name  www.cat.com;	
.....location / {root html;index index.html index.htm;}
....#重启nginx 服务、curl 访问www.cat.com
三、ng-backup服务器配置
# 修改ng-backup服务器中的keeplaived 配置文件:
vi /etc/keepalived/keepalived.conf
global_defs {# 检测脚本运行的用户script_user root		enable_script_security
}
vrrp_script check_nginx {# 检测本机nginx进程是否开启script "/data/keepalived/etc/keepalived/script/chk_nginx_pid.sh" #检测间隔5秒interval 5		 # 检测两次失败将实例定义为故障,移除vipfall 2		     # 检测一次成功后将状态改为正常(设置不抢占后不会抢占vip)rise 1			# 权重#weig
}
vrrp_instance NGINX {# 主节点为MASTER,备节点BACKUP state BACKUP		# 需要绑定的网卡,通常该主机的通信网卡interface ens33		# 同一个网络不能和其它vip重复,同一组vip必须相同,可自定义数值virtual_router_id 42# 数值越大优先级越高priority 80			 # 设置不抢占模式#nopreempt advert_int 1authentication {# 通过密码授权auth_type PASS	 auth_pass abc123}track_script {check_nginx}virtual_ipaddress {#VIP地址192.168.65.100		}
}
# 定义check_nginx检测脚本
mkdir -p/data/keepalived/etc/keepalived/script/vim chk_nginx_pid.sh#!/bin/bash
#判断 Nginx 是否存活
countng=`ps -C nginx --no-header | wc -l`
if [ $countng -eq 0 ]; then
#如果不存活则尝试启动 Nginx
#/data/nginx/sbin/nginx -c  /etc/nginx.conf
sleep 3
#等待 3 秒后再次获取一次 Nginx 状态
counter=`ps -C nginx --no-header | wc -l`
#再次进行判断,如 Nginx 还不存活则停止 Keepalived,让地址进行漂移
if [ $counter -eq 0 ]; then
systemctl stop keepalived  #停用keepalived服务
fi
fi[root@nginx-server script]# chmod +x chk_nginx_pid.sh
# 启动nginx、keepalived服务
systemctl start nginx keepalived #使用ip a查看vip地址
ip a
# 配置/etc/hosts DNS映射,调整nginx 配置文件
vim /etc/hosts
# 指向VIP地址
192.168.65.100 www.cat.com		vi /usr/local/nginx/conf/nginx.conf
....server {listen       80;server_name  www.cat.com;	
.....location / {root html;index index.html index.htm;}
....#重启nginx 服务、curl 访问www.cat.com
四、故障模拟测试
# 关闭nginx-master的nginx 服务,等待keepalived 进行故障切换、vip飘逸
systemctl stop nginx # 查看到vip消失了 
ip a #在另一个节点查看ip a,发现vip出现了
ip a#重新curl www.cat.com 发现可以正常访问

在这里插入图片描述

http://www.dtcms.com/a/602854.html

相关文章:

  • 岳阳网站建设公司西安网页设计培训班价格
  • 加快网站访问速度上海新闻报道
  • 二 网站建设的重要性微信小程序推广方法
  • Flutter核心技术目录
  • 网站备案中心肇庆网站建设制作公司
  • 在中国建设银行的网站上可以转账吗江苏镇江
  • 【免费】MySQL自动化巡检工具,一键生成WORD巡检报告
  • 网站的目标网站建设分析方法
  • Linux 服务器 Mysql 8.4.6 安装
  • 泸州本地网站建设文化建设的名言警句
  • 网站版权信息模板网易邮箱163登录
  • 建站公司用的服务器广东省建设工程安全协会网站
  • 做家务的男人网站it项目网站开发的需求文档
  • 做化工外贸需要那些网站网站建设_制作_设计
  • 深入讲解C++ 智能指针:原理、使用与实践
  • 【OpenCV + VS】图像的像素位运算
  • 惠州最专业的网站建设公司wordpress七牛云图床
  • 小企业如何建网站北京建设网站官网
  • 模板建站是什么做团购网站怎样赚钱
  • 网站开发需要学什么语言网站设计联系方式
  • CVPR 2025|基于全客户端信息的联邦学习隐私泄露攻击方法
  • 精品成品网站入口h5页面制作平台
  • 频繁查找用哈希,顺序访问用列表
  • 模型蒸馏(Knowledge Distillation)
  • 电商网站合作网页设计图片主流尺寸
  • 投资网站建设及推广北京建设网服务大厅
  • 郑州建设网站的公司阳城seo排名
  • 宜春市城市建设网站苍南县住房和城乡规划建设局网站
  • 浅谈网站规划建设与管理维护企业站模板大全
  • 汕头网站建设维护网站建设的需要的工具