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 PASS
		auth_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 TCP
	real_server 192.168.229.13 80 {
		weight 1                    #权重
		TCP_CHECK {
			connect_timeout 3       #健康检查方式,连接超时时间
			}
		}
	real_server 192.168.229.14 80 {
		weight 1
		TCP_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 Director2

state BACKUP

priority 100

配置文件内容示例:

! Configuration File for keepalived
global_defs {
        router_id Director2
        }

vrrp_instance VI_1 {
        state BACKUP                            #另外一台机器是BACKUP
        interface ens33                         #心跳网卡
        virtual_router_id 51
        priority 100                            #优先级
        advert_int 1                            #检查间隔,单位秒
        authentication {
                auth_type PASS
                auth_pass 1111
                }
        virtual_ipaddress {
                192.168.229.100/24 dev ens33       #VIP和工作端口
                }
        }

virtual_server 192.168.229.100 80 {                #LVS 配置,VIP
        delay_loop 3                            #服务论询的时间间隔
        lb_algo rr                              #LVS 调度算法
        lb_kind DR                              #LVS 集群模式
        protocol TCP
        real_server 192.168.229.13 80 {
                weight 1
                TCP_CHECK {
                        connect_timeout 3
                        }
                }
        real_server 192.168.229.14 80 {
                weight 1
                TCP_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

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【计算机网络篇】物理层

本文主要介绍计算机网络第二章节的物理层,文中的内容是我认为的重点内容,并非所有。参考的教材是谢希仁老师编著的《计算机网络》第8版。跟学视频课为河南科技大学郑瑞娟老师所讲计网。 文章目录 🎯一.基本概念及公式 🎃基本概念…

Python编码系列—Python模板方法模式:定义算法骨架,让子类实现细节

🌟🌟 欢迎来到我的技术小筑,一个专为技术探索者打造的交流空间。在这里,我们不仅分享代码的智慧,还探讨技术的深度与广度。无论您是资深开发者还是技术新手,这里都有一片属于您的天空。让我们在知识的海洋中…

MySQL 主从复制部署与优化

文章目录 前言 在现代数据库管理中,MySQL 主从复制是一种关键技术,用于提高数据的可用性和性能。随着 Docker 容器技术的普及,利用 Docker 搭建 MySQL 主从复制环境已成为一种趋势,它提供了一种简便、高效且可扩展的解决方案。本…

【全网最全】2024年华为杯研赛A题成品论文获取入口(后续会更新)

您的点赞收藏是我继续更新的最大动力! 一定要点击如下的卡片,那是获取资料的入口! 【全网最全】2024年华为杯研赛A题保奖思路matlab/py代码成品论文等(后续会更新完整 点击链接加入【2024华为杯研赛资料汇总】:https:…

Leetcode尊享面试100题-252.会议室

给定一个会议时间安排的数组 intervals ,每个会议时间都会包括开始和结束的时间 intervals[i] [starti, endi] ,请你判断一个人是否能够参加这里面的全部会议。 示例 1: 输入:intervals [[0,30],[5,10],[15,20]] 输出&#xff…

代码随想录算法训练营第三十九天 | 198.打家劫舍 ,213.打家劫舍II,337.打家劫舍III

第三十九天打卡,今天解决打家劫舍系列问题,树形dp比较难。 198.打家劫舍 题目链接 解题过程 dp[i]:考虑下标i(包括i)以内的房屋,最多可以偷窃的金额为dp[i]。 要么不偷这一间,那就是前面那间…

SQL面试常见题目

SQL面试常见题目涉及多个方面,包括数据查询、数据操作、表的设计与优化等。以下列举一些经典的SQL面试题目,并附上解析答案: 1. 查询一张表中重复的数据 题目: 给定一个表 employees,包含 id, name, salary 列。如何…

Uniapp时间戳转时间显示/时间格式

使用uview2 time 时间格式 | uView 2.0 - 全面兼容 nvue 的 uni-app 生态框架 - uni-app UI 框架 <text class"cell-tit clamp1">{{item.create_time}} --- {{ $u.timeFormat(item.create_time, yyyy-mm-dd hh:MM:ss)}} </text>

【Java 问题】基础——基础语法

基础语法 7. Java 有哪些数据类型8.自动类型转换、强制类型转换&#xff1f;9.什么是自动拆箱/封箱&#xff1f;10.&和&&有什么区别&#xff1f;11.switch 是否能作用在 byte/long/String上&#xff1f;12.break ,continue ,return 的区别及作用&#xff1f;13.用最…

Java ----常用类

包装类 包装类的分类 1) 针对八种基本数据类型相应的引用类型—包装类2) 有了类的特点&#xff0c;就可以调用类中的方法。3) 如图 包装类和基本数据的转换 jdk5 前的手动装箱和拆箱方式&#xff0c;装箱&#xff1a;基本类型转包装类型&#xff0c;拆箱&#xff1a;包装类型…

Flutter 安装,配置,运行第一个app 1

起因&#xff0c; 目的: flutter, 其实几年前&#xff0c;我就写过。 当时纯属是个人兴趣&#xff0c;随意探索。 当时我也写了几篇笔记: 比如这一篇还有这个 flutter&#xff0c;其实不难&#xff0c;比较繁琐&#xff0c;小的知识点很多. flutter&#xff0c; 又是环境配…

树与图的深度优先遍历(dfs的图论中的应用)

模板题 846. 树的重心 给定一颗树&#xff0c;树中包含 n 个结点&#xff08;编号 1∼n&#xff09;和 n−1条无向边。 请你找到树的重心&#xff0c;并输出将重心删除后&#xff0c;剩余各个连通块中点数的最大值。 重心定义&#xff1a;重心是指树中的一个结点&#xff0…

7天速成前端 ------学习日志 (继苍穹外卖之后)

前端速成计划总结&#xff1a; 全26h课程&#xff0c;包含html&#xff0c;css&#xff0c;js&#xff0c;vue3&#xff0c;预计7天内学完。 起始日期&#xff1a;9.16 预计截止&#xff1a;9.22 每日更新&#xff0c;学完为止。 学前计划 课…

《粮油与饲料科技》是什么级别的期刊?是正规期刊吗?能评职称吗?

问题解答 问&#xff1a;《粮油与饲料科技》是不是核心期刊&#xff1f; 答&#xff1a;不是&#xff0c;是知网收录的第一批认定 学术期刊。 问&#xff1a;《粮油与饲料科技》级别&#xff1f; 答&#xff1a;省级。主管单位&#xff1a;中文天地出版传媒集团股份有限公司…

漏洞复现_永恒之蓝

1.概述 永恒之蓝&#xff08;EternalBlue&#xff09;是一个影响Windows操作系统的远程代码执行漏洞&#xff0c;编号为CVE-2017-0144&#xff0c;最初由美国国家安全局&#xff08;NSA&#xff09;开发并利用&#xff0c;后来被黑客组织Shadow Brokers泄露。该漏洞存在于SMBv…

Gitee Pipeline 从入门到实战【详细步骤】

文章目录 Gitee Pipeline 简介Gitee Pipeline 实战案例 1 - 前端部署输入源NPM 构建Docker 镜像构建Shell 命令执行案例 2 - 后端部署全局参数输入源Maven 构建Docker 镜像构建Shell 命令执行参考🚀 本文目标:快速了解 Gitee Pipeline,并实现前端及后端打包部署。 Gitee Pi…

【d46】【Java】【力扣】876.链表的中间结点

思路 先获得总体长度&#xff0c; 再得到中间节点 的索引&#xff0c;&#xff0c;这里的索引是从1开始的索引&#xff0c;而不是从0开始的索引(这种理解方式更简单) 排错&#xff1a;另一个思路&#xff1a;将链表都放进list&#xff0c;获得中间的数字&#xff0c;然后遍历…

AfuseKt1.3.6-10110功能强大的安卓网络视频播放器,支持多种在线存储和媒体管理平台!

AfuseKt 是一款功能强大的安卓网络视频播放器&#xff0c;专为满足用户对多样化媒体播放需求而设计。它不仅支持多种流行的在线存储和媒体管理平台&#xff0c;如阿里云盘、Alist、WebDAV和Emby等&#xff0c;还提供了刮削功能和海报墙展示&#xff0c;使得用户能够更加便捷地管…

船舶检测系统源码分享

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

深度学习|误差逆传播:梯度速解

文章目录 引言链式法则误差逆传播加法的逆传播乘法的逆传播逆传播求梯度 SoftmaxWithLoss 层正向传播逆传播代码实现参考 结语 引言 我们知道训练神经网络模型的核心是以损失函数为基准来调整优化网络参数&#xff0c;使得网络的输出尽可能接近真实标签。在神经网络中&#xf…