首页
找靠谱产品
找解决方案
找靠谱公司
找案例
找对的人
专家智库
悬赏任务
SAAS
ToB门户
了解全球最新的ToB事件
论坛
潜水/灌水快乐,沉淀知识,认识更多同行。
ToB圈子
加入IT圈,遇到更多同好之人。
微博
Follow
记录
Doing
博客
Blog
文库
业界最专业的IT文库,上传资料也可以赚钱
下载
分享
Share
排行榜
Ranklist
相册
Album
应用中心
qidao123.com ToB IT社区-企服评测·应用市场
»
论坛
›
数据库
›
Oracle
›
Keepalived高可用集群
返回列表
发新帖
Keepalived高可用集群
[复制链接]
发表于 2025-11-11 21:10:32
|
显示全部楼层
|
阅读模式
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要
登录
才可以下载或查看,没有账号?
立即注册
×
keepalived高可用集群
1 概述
署理
服务器
和调理器都是单点模式,keepalived就是用来实现调理器的高可用集群,防止出现单点故障标题。
1.1 keepalived的工作原理
keepalived是专门为了LVS集群开辟出来的,是基于vrrp协议(捏造路由的冗余协议)实现的调理器的高可用方案,但是实用场景不但仅范围于LVS。而且keepalived为背景的真实
服务器
做了一个康健查抄,当服务不可用时,会自动的移除ipvs的转发战略,服务规复时,会自动重新把战略参加到ipvs。
1.1.1 康健查抄
康健查抄,别名探针
1)发送心跳消息 ping/pang
2)TCP端口查抄 向一个主机的IP
ORT 发起TCP毗连
3) HTTP URL 查抄 向一个主机的 http://IP
ORT/URL路径 发送HTTP GET哀求方法,主机相应返回2XX、3XX状态码则以为康健查抄正常,如相应返回4XX、5XX状态码则以为康健查抄非常
查抄
服务器
作用节点服务器如果发现有故障的节点就会将其隔离大概剔除集群,待其规复后再重新参加到集群当中
负载
均衡器会定时查抄主服务器的状态(包罗主机和服务的状态),如果主服务器故障就自动切换到备服务器上,待主服务器规复后再重新让主服务器去承载业务哀求
1.1.2 keepalive
功能
按优先级举行主备切换,当主故障时,可以自动切换到备,主规复之后,如果主的优先级比备高,照旧会自动的切换到主。
故障检测和规复
功能
。
主备之间通过组播所在:224.0.0.18,相互发送康健查抄的报文,确定主和备之间的通讯(确定两边是否工作正常)。
通过设置vip来实现集群的入口,vrrp是一个冗余协议,主在工作时,备完全不加入集群的工作,只是监听主的状态。
1.1.3 Keepalived体系重要模块及其作用
Keepalived的重要模块作用core模块为Keepalived的焦点,负责主进程的启动、维护及全局设置文件的加载息争析vrrp模块是来实现VRRP协议的check模块负责康健查抄,常见的方式有端口查抄及URL查抄
1.2 脑裂
在HA体系,只要是通过vip这个机制实现的,都有大概会出现这个标题。
1.2.1 脑裂的界说
vip所在同时出现在了主和备上。
注:vip所在永世只能出现一台服务器上!
1.2.2 脑裂的缘故因由
1、
防火墙
屏蔽了主备的之间224.0.0.18的报文,导致相互收不到信息,就以为对方已经挂起,以是都以为自己是主。
2、网卡出现故障(硬件故障),设置出标题:ip所在辩论。
3、心跳线:网线之间毗连故障,断开,老化。
4、keepalived的设置文件有标题,设置的干系项出现标题(80%)
1.2.3 脑裂的办理方法
软件层面:
抓包举行定位,检察组播的报文是否正常。
设置文件举行排查(网卡设置,应用设置)。
硬件层面:
更换心跳线(网线)举行测试。
网卡硬件的标题。
内存和cpu,磁盘空间不敷,也会出现脑裂。
2 LVS高可用
2.1 架构
名称IP所在LVS-Master192.168.207.100LVS-Backup192.168.207.110Web-A192.168.207.200Web-B192.168.207.210VIP192.168.207.250Client192.168.207.10
2.2 步调
2.2.1 主备同一操纵
apt -y install ipvsadm keepalived
cp /usr/share/doc/keepalived/samples/keepalived.conf.sample /etc/keepalived/keepalived.conf
vim /etc/keepalived/keepalived.conf
systemctl restart keepalived.service
复制
代码
主设置如下:
备设置如下:
主备再同一操纵
vim /etc/sysctl.conf
sysctl -p
route add -host 192.168.207.250 dev ens33
复制
代码
2.2.2 查抄设置的转发战略是否收效
主备服务器同一查抄
ipvsadm -ln
复制
代码
2.2.3 查抄主的vip所在是否天生
主备服务器同一查抄
ip a
复制代码
2.2.4 模仿主服务器故障切换
看主的vip能否飘到备服务器
2.2.5 规复主服务器
看vip是否可以或许会到主服务器
3 nginx高可用
3.1 架构
名称IP所在Nginx-Master192.168.207.200Nginx-Backup192.168.207.210VIP192.168.207.150后端服务器1192.168.207.100后端服务器2192.168.207.110后端服务器3192.168.207.120
3.2 编写nginx查抄脚本
vim /opt/check_nginx.sh
#!/bin/bash
/usr/bin/curl -I http://localhost &> /dev/null
if [ $? -ne 0 ]
then
systemctl stop keepalived
fi
复制代码
3.3 主署理服务器keepalived设置
vim /etc/keepalived/keepalived.conf
global_defs {
router_id LVS_01
}
vrrp_script check_nginx {
script "/opt/check_nginx.sh"
#脚本必须能执行,位置一定要写绝对路径
interval 3
#每隔5秒钟通过脚本检查nginx的状态
}
vrrp_instance VI_1 {
state MASTER
interface ens33
virtual_router_id 50
priority 100
advert_int 1
virtual_ipaddress {
192.168.207.150
}
track_script {
check_nginx
}
}
复制代码
3.4 备署理服务器keepalived设置
vim /etc/keepalived/keepalived.conf
global_defs {
router_id Nginx_02
}
vrrp_instance VI_1 {
state BACKUP
interface ens33
virtual_router_id 50
priority 80
advert_int 1
virtual_ipaddress {
192.168.207.150
}
}
复制代码
3.5 主备署理服务器nginx七层反向署理设置
vim /usr/local/nginx/conf/nginx.conf
upstream kc {
server 192.168.207.100;
server 192.168.207.110;
server 192.168.207.120;
}
server {
listen 80;
proxy_pass http://kc;
}
复制代码
3.6 实验结果
3.6.1 正常情况
3.6.2 关闭nginx服务(主故障)
3.6.3 重启keepalived服务(主规复)
回复
使用道具
举报
返回列表
浏览过的版块
数据仓库与分析
小小小幸运
+ 我要发帖
登录后关闭弹窗
登录参与点评抽奖 加入IT实名职场社区
去登录
微信订阅号
微信服务号
微信客服(加群)
H5
小程序
快速回复
返回顶部
返回列表