keepalived+lvs集群

目录

一、环境

二、配置

1、master

1.在master上安装配置Keepalived

2.在master上修改配置文件

2、backup

1.在backup(192.168.229.12)上安装keepalived

2.在backup上修改配置文件

3、master和backup上启动服务

4、web服务器配置

1.web1和web2同配置

2.配置虚拟地址

3.配置路由

4.配置ARP

5、测试

1.观察lvs路由条目

2.观察vip地址在哪台机器上

3.客户端浏览器访问vip

4.关闭master上的keepalived服务,再次访问vip

5.关闭web1站点服务,再次访问VIP


一、环境

准备四台虚拟机

对四台虚拟机分别修改主机名

hostnamectl set-hostname 新主机名

192.168.229.11 dr1 负载均衡器 ----(master)

192.168.229.12 dr2 负载均衡器 ----(backup)

192.168.229.13 rs1                    ----(web1)

192.168.229.14 rs2                    ----(web2)

二、配置

1、master

1.在master上安装配置Keepalived

yum install keepalived  ipvsadm -y

ipvsadm安装并不启动

2.在master上修改配置文件

vim /etc/keepalived/keepalived.conf

配置文件内容示例:

! Configuration File for keepalived
global_defs {						router_id Director1    #两边不一样。}vrrp_instance VI_1 {				state MASTER				#另外一台机器是BACKUP	interface ens33				#心跳网卡	virtual_router_id 51			#虚拟路由编号,主备要一致priority 150				#优先级	advert_int 1				#检查间隔,单位秒	authentication {auth_type PASSauth_pass 1111}virtual_ipaddress {192.168.229.100/24       dev      ens33   	#VIP和工作接口}}virtual_server 192.168.229.100 80 {		#LVS 配置,VIP,就是keepalived配置的对外地址delay_loop 3				#服务论询的时间间隔,#每隔3秒检查一次real_server状态lb_algo rr				#LVS 调度算法lb_kind DR	 			#LVS 集群模式protocol TCPreal_server 192.168.229.13 80 {weight 1                    #权重TCP_CHECK {connect_timeout 3       #健康检查方式,连接超时时间}}real_server 192.168.229.14 80 {weight 1TCP_CHECK {connect_timeout 3    #设定连接超时时间为3秒 超过视为掉线}}
}

2、backup

1.在backup(192.168.229.12)上安装keepalived

yum install keepalived   ipvsadm -y

ipvsadm安装并不启动

2.在backup上修改配置文件

vim /etc/keepalived/keepalived.conf

修改master配置文件中的以下内容即可

router_id Director2state BACKUPpriority 100

配置文件内容示例:

! Configuration File for keepalived
global_defs {router_id Director2}vrrp_instance VI_1 {state BACKUP                            #另外一台机器是BACKUPinterface ens33                         #心跳网卡virtual_router_id 51priority 100                            #优先级advert_int 1                            #检查间隔,单位秒authentication {auth_type PASSauth_pass 1111}virtual_ipaddress {192.168.229.100/24 dev ens33       #VIP和工作端口}}virtual_server 192.168.229.100 80 {                #LVS 配置,VIPdelay_loop 3                            #服务论询的时间间隔lb_algo rr                              #LVS 调度算法lb_kind DR                              #LVS 集群模式protocol TCPreal_server 192.168.229.13 80 {weight 1TCP_CHECK {connect_timeout 3}}real_server 192.168.229.14 80 {weight 1TCP_CHECK {connect_timeout 3}}
}

3、master和backup上启动服务

添加开机自启动

systemctl enable keepalived

启动

systemctl start keepalived

4、web服务器配置

1.web1和web2同配置

安装web测试站点

yum install -y httpd && systemctl start httpd && systemctl enable httpd

排查 HTTP 服务器当前的连接状态,确认它是否正在正常工作。

netstat -antp | grep httpd

自定义web主页,以便观察负载均衡结果

vim /var/www/html/index.html

内容就不再展示,自行定义。

2.配置虚拟地址

cp /etc/sysconfig/network-scripts/{ifcfg-lo,ifcfg-lo:0}
vim /etc/sysconfig/network-scripts/ifcfg-lo:0

配置内容示例:

DEVICE=lo:0
IPADDR=192.168.229.100   #对外提供服务的地址
NETMASK=255.255.255.255
ONBOOT=yes
#其他行可注释掉

重新启动network

systemctl restart network

3.配置路由

route add 192.168.229.100 dev lo

在两台机器(RS)上,添加一个路由:route add -host 192.168.229.100 dev lo 确保如果请求的目标IP是$VIP,那么让出去的数据包的源地址也显示为$VIP

4.配置ARP

vim /etc/sysctl.conf

追加到文件内容最后

net.ipv4.conf.all.arp_ignore = 1
net.ipv4.conf.all.arp_announce = 2
net.ipv4.conf.default.arp_ignore = 1
net.ipv4.conf.default.arp_announce = 2
net.ipv4.conf.lo.arp_ignore = 1
net.ipv4.conf.lo.arp_announce = 2

5、测试

1.观察lvs路由条目

master上 查询 # ipvsadm -Ln

ipvsadm -Ln

2.观察vip地址在哪台机器上

master上 查询 # ip a

ens33: 
inet 192.168.229.11/24 brd 192.168.229.255 scope global noprefixroute ens33
inet 192.168.229.100/24 scope global secondary ens33

3.客户端浏览器访问vip

4.关闭master上的keepalived服务,再次访问vip

systemctl stop keepalived.service 

5.关闭web1站点服务,再次访问VIP

systemctl stop httpd

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.xdnf.cn/news/149242.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

一键搞定!这4款在线音频剪辑神器,你值得拥有!

嘿,小伙伴们,是不是有时候感觉手中的音乐或者语音素材需要经过一番精雕细琢才能完美呈现呢?今天,我就来给大家分享几款超好用的在线音频剪辑工具,让你在轻松愉快的氛围中,享受剪辑的乐趣,体验到…

MySQL函数:流程函数

1.IF函数 基本语法:IF(expr1,expr2,expr3) 功能:如果value为true,返回t, 否则返回f 例如:这个里面expr1里面是false,返回的是Error,如果是true,返回OK select if(false, OK, Err…

OAuth 2.0第三方授权登录

认证和授权的概念和区别 认证 (Authentication[ɔːˌθentɪˈkeɪʃn] ): 你是谁。授权 (Authorization[ˌɔːθəraɪˈzeɪʃ(ə)n]): 你有权限干什么。 概念: Authentication(认证) 是验证您的身份的凭据&…

利用大型语言模型轻松打造浪漫时刻

当情人节年年如约而至,每每都需费尽心思为对方营造一场令人难忘的仪式,却因缺乏创意与思路而倍感困扰。今天,我决定让大型语言模型为我们提供一些灵感和建议,让我们能够轻松实现这一目标。让我们开始行动吧!此前&#…

Paper 0 | Visual Instruction Tuning

使用机器生成的指令跟踪数据对大型语言模型 (LLM) 进行指令调整已被证明可以提高新任务的零样本能力,但这个想法在多模态领域的探索较少。我们首次尝试使用纯语言 GPT-4 生成多模态语言图像指令跟踪数据。通过对此类生成的数据进行指令调整,我们引入了 L…

手语手势识别系统源码分享

手语手势识别检测系统源码分享 [一条龙教学YOLOV8标注好的数据集一键训练_70全套改进创新点发刊_Web前端展示] 1.研究背景与意义 项目参考AAAI Association for the Advancement of Artificial Intelligence 项目来源AACV Association for the Advancement of Computer Vis…

Python_面向对象属性与方法

Python完全采用了面向对象的思想,是真正面向对象的编程语言,完全支持面向对象的基本功能,例如:继承、多态、封装等。Python中,一切皆对象。我们在前面学习的数据类型、函数等,都是对象。 面向过程和面向对象…

DataGemma:谷歌大模型

诸神缄默不语-个人CSDN博文目录 DataGemma是谷歌出的大模型,是gemma 2的升级版,主要亮点是基于检索解决幻觉问题。 在huggingface和kaggle上均可下载模型权重。 检索数据源是Google’s Data Commons知识图谱。 官方博客:https://blog.googl…

frp内网穿透服务器+客户端详细配置

当我们拥有一台云服务器时,可以将局域网服务器的服务通过内网穿透发布到公网上。frp是一个主流的内网穿透软件,本文讲解frp内网穿透服务器客户端详细配置。 一、需要准备的内容: 腾讯云服务器:https://curl.qcloud.com/Sjy0zKjy 2…

红外图像绝缘子识别数据集

红外图像绝缘子识别数据集,数据集一共919张图片,标注为voc格式,可以转yolo格式 数据集名称 红外图像绝缘子识别数据集 (Infrared Insulator Recognition Dataset, IIRD) 数据集描述 IIRD是一个专为电气工程领域设计的小规模红外图像数据集…

发文章到arXiv的处理

版权问题: IEEE会议,刊物可以发arXiv 官方说明: Post-Publication Policies - IEEE Author Center Journals 上传时加上一句说明就行 “This work has been submitted to the IEEE for possible publication. Copyright may be transferr…

前缀和(1)_【模板】前缀和_模板

个人主页:C忠实粉丝 欢迎 点赞👍 收藏✨ 留言✉ 加关注💓本文由 C忠实粉丝 原创 前缀和(1)_【模板】前缀和_模板 收录于专栏【经典算法练习】 本专栏旨在分享学习算法的一点学习笔记,欢迎大家在评论区交流讨论💌 目录 …

VM ware的安装——个人使用

VM ware的安装 Workstation 和 Fusion 对个人使用完全免费,企业许可转向订阅 如果没有官方账号需要注册一个 选择个人下载,会跳转到下一个页面 要勾选同意,才能下载 点击下载之后还会跳转到填写地址的页面,填写完同意后&#x…

免费与付费代理IP工具的优缺点分析

面对市场上众多的代理IP工具,选择合适的工具成为一项挑战。本文将深入分析免费与付费代理IP工具的优缺点,协助您做出明智的选择。 一、免费代理IP工具的优缺点 优点: 零成本:最大的优点在于无需任何费用。对于预算有限的用户&a…

Cortex-M7核心寄存器

参考内容:Cortex-M7编程手册 文章目录 软件执行的处理器模式和权限级别处理器模式软件执行的权限级别 栈Stacks核心寄存器Core registers通用寄存器General-purpose registers链接寄存器Link register程序计数器 Program counter程序状态寄存器Program status regis…

18.1 k8s服务组件之4大黄金指标讲解

本节重点介绍 : 监控4大黄金指标 Latency:延时Utilization:使用率Saturation:饱和度Errors:错误数或错误率 apiserver指标 400、500错误qps访问延迟队列深度 etcd指标kube-scheduler和kube-controller-manager 监控4大黄金指标 …

PHPMailer在PHP5.3.3以下版本的使用详解

《PHPMailer在PHP5.3.3以下版本的使用详解》 PHPMailer是一款广泛使用的PHP邮件发送类库,它提供了一套完整的邮件发送解决方案,包括SMTP验证、HTML邮件支持等功能。在PHP5.3.3及以下版本的环境中,由于语言特性和库的限制,选择适合…

【学习笔记】TLS/SSL握手

前言:本篇将介绍TLS握手的实际握手过程,TLS握手创建了Client和Server之间“被保护的通道”,2个单向通道用来保护批量数据的传输(通过Confidentiality、Integrity和Authentication),一个通道是从Client到Ser…

辞职后你说你想去外面玩玩,我看你寸步未行,原来你是去了JDK以外的方面玩玩

按需阅读 兄弟们!我被面试官吊打了Java面试Question A:如果距离世界末日只剩一天你能干什么?面试官:世界末日前我想看视频面试官:给点创意好不好?面试官:如果有一天我想换个姿势看图片 Java面试…

C++基础:第一个C++程序

初学C #include<iostream> int main() {std::cout << "Enter two numbers:" << std::endl;int v1 0, v2 0;std::cin >> v1 >> v2;std::cout << "The sum of "<< v1 << " and " << v2&…