LVS负载均衡集群和NAT模式部署

目录

一、群集的类型及含义

二、LVS的三种工作模式

一、根据群集所针对的目标差异,可分为三种类型

二、LVS的负载调度算法

三、ipvsadm 工具选项

四、NAT模式 LVS负载均衡群集部署

1.共享服务器配置:

2.节点服务器1配置

3.节点服务器2

4.配置负载调度器

5.windows测试


一、群集的类型及含义

1.群集的含义Cluster:集群、群集
由多台主机构成,但对外只表现为一个整体,只提供一个访问入口 (域名或IP地址),相当于一台大型计算机。
2.问题
互联网应用中,随着站点对硬件性能、响应速度、服务稳定性、数据可靠性等要求越来越高,单台服务器已经无法满足负载均衡及高可用的要求

解决方法
使用价格昂贵的小型机、大型机
使用多台相对廉价的普通服务器构建服务群集
通过整合多台服务器,使用 LVS来达到服务器的高可用和负载均衡,并以同一个IP地址对外提供相同的服务

3.负载均衡群集(LB)

提高系统响应效率,处理更多的访问请求,减少响应延迟,实现高并发,高负载的能力

典型代表:

软件类:nginx,LVS,HAProxy,SLB

硬件类:F5,绿盟

4.高可用群集(HA)

提高系统可靠性,减少中断时间,确保服务的连续性(通常使用n个9代表指标)

典型代表:keepalived,heaetbeat

5.高性能运算群集(HPC)

通过云计算或分布式计算将硬性资源整合成资源池获取高性能的cpu,内存等资源,来提高整体运算能力

二、LVS的三种工作模式

一、根据群集所针对的目标差异,可分为三种类型

负载均群集
高可用群集
高性能运算群集

1.负载均衡群集 (Load Balance Cluster)提高应用系统的响应能力、尽可能处理更多的访问请求减少延迟为目标,获得高并发、高负载(LB)的整体性能LB的负载分配依赖于主节点的分流算法,将来自客户机的访问请求分担给多个服务器节点,从而缓解整个系统的负载压力。例如,“DNS轮询”“反向代理”等

2.高可用群集(High Availability Cluster)。提高应用系统的可靠性、尽可能地减少中断时间为目标,确保服务的连续性,达到高可用(HA)的容错效果·HA的工作方式包括双工和主从两种模式,双工即所有节点同时在线主从则只有主节点在线,但当出现故障时从节点能自动切换为主节点“故障切换”“双机热备” 等例如,高性能运算群集(High Performance Computer Cluster)。以提高应用系统的CPU运算速度、扩展硬件资源和分析能力为目标,获得相当于大型、超级计算机的高性能运算(HPC)能力高性能依赖于“分布式运算”、“并行计算”,通过专用硬件和软件将多个服务器的CPU、内存等资源整合在一起,实现只有大型、超级计算机才具备的计算能力。例如,“云计算”“网格计算”等

3.直接路由
Direct Routing,简称DR模式采用半开放式的网络结构,与TUN模式的结构类似,但各节点并不是分散在各地,而是与调度器位于同一个物理网络负载调度器与各节点服务器通过本地网络连接,不需要建立专用的IP隧道

二、LVS的负载调度算法

1.轮询 (Round Robin)
将收到的访问请求按照顺序轮流分配给群集中的各节点(真实服务器)均等地对待每一台服务器,而不管服务器实际的连接数和系统负载加权轮询 (Weighted Round Robin)
根据调度器设置的权重值来分发请求,权重值高的节点优先获得任务,分配的请求数越多
保证性能强的服务器承担更多的访问流量
2.最少连接 (Least Connections)
根据真实服务器已建立的连接数进行分配,将收到的访问请求优先分配给连接数最少的节点
加权最少连接(Weighted Least Connections)
在服务器节点的性能差异较大时,可以为真实服务器自动调整权重性能较高的节点将承担更大比例的活动连接负载

rr(轮询)  wrr(加权轮询)   sh(源地址哈希)   dh(目的地址哈希)   lc(最小连接)   
wlc(加权最小连接):优先分配请求给 <连接数>/<权重值> 的值最小的节点服务器
lblc(基于地址的最小连接):优先根据目的地址哈希将请求分配给同一个节点服务器,若此节点服务器满负荷了则优先将请求分配当前连接数最小的节点服务器

三、ipvsadm 工具选项

-A:添加虚拟服务器
-D:删除整个虚拟服务器
-s:指定负载调度算法(轮询:rr、加权轮询:wrr、最少连接:lc、加权最少连接:wlc)
-a:表示添加真实服务器(节点服务器)
-d:删除某一个节点
-t:指定 VIP地址及 TCP端口
-r:指定 RIP地址及 TCP端口
-m:表示使用 NAT群集模式
-g:表示使用 DR模式
-i:表示使用 TUN模式
-w:设置权重(权重为 0 时表示暂停节点)
-p 60:表示保持长连接60秒(默认关闭连接保持)
-l:列表查看 LVS 虚拟服务器(默认为查看所有)
-n:以数字形式显示地址、端口等信息,常与“-l”选项组合使用。ipvsadm -ln

四、NAT模式 LVS负载均衡群集部署

LVS-NAT模式部署:
1)部署NFS共享存储
2)部署Web节点服务器,注意:节点服务器的默认网关要指向调度器的内网IP,测试的时候可关闭连接保持
3)部署调度器,配置双网卡,开启IP路由转发功能,如果内网中的节点服务器需要访问外网则要配置SNAT规则,安装ipvsadm工具,添加虚拟服务器和真实服务器的相关配置,使用-m选项选择NAT模式
4)客户端设置默认网关指向调度器的外网IP,并使用客户端工具测试

部署共享存储(nfs服务器)
systemctl disable --now firewalld
setenforce 0
mkdir /var/www/html/{accp,benet} -p
cd /var/www/html
echo '<h1>this is test web1 page!</h1>' > accp/text.html
echo '<h1>this is test web2 page!</h1>' > benet/text.html
vim /etc/exports/var/www/html/accp 172.16.114.0/24(rw,sync,no_root_squash)
/var/www/html/benet 172.16.114.0/24(rw,sync,no_root_squash)systemctl enable --now rpcbind nfs
showmount -e配置节点服务器1
systemctl disable --now firewalld
setenforce 0
showmount -e 172.16.114.20
cd /etc/yum.repos.d/
rz -E
yum install -y nginx
cd /etc/nginx/
vim nginx.confkeepalive_timeout  0;   长连接时间修改为0cd /usr/share/nginx/html/
mv * /opt/
vim /etc/fstab172.16.114.20:/var/www/html/accp /usr/share/nginx/html nfs defaults,_netdev 0 0mount -a
df -h
ls /usr/share/nginx/html/
cd /opt
mv *.html /usr/share/nginx/html/
cd /usr/share/nginx/html/
cat text.html
systemctl restart nginx
vim /etc/sysconfig/network-scripts/ifcfg-ens33TYPE=Ethernet
DEVICE=ens33
ONBOOT=yes
BOOTPROTO=static
IPADDR=172.16.114.30
NETMASK=255.255.255.0
GATEWAY=172.16.114.70
DNS1=218.2.135.1systemctl restart network nginx配置节点服务器2
systemctl disable --now firewalld
setenforce 0
showmount -e 172.16.114.20
cd /etc/yum.repos.d/
rz -E
yum install -y nginx
vim /etc/nginx/nginx.confkeepalive_timeout  0;   长连接时间修改为0cd /usr/share/nginx/html/
mv * /opt/
vim /etc/fstab172.16.114.20:/var/www/html/benet /usr/share/nginx/html nfs defaults,_netdev 0 0mount -a
cd /opt
mv *.html /usr/share/nginx/html/
df -h
systemctl restart nginx
vim /etc/sysconfig/network-scripts/ifcfg-ens33TYPE=Ethernet
BOOTPROTO=static
NAME=ens33
DEVICE=ens33
ONBOOT=yes
IPADDR=172.16.114.60
NETMASK=255.255.255.0
GATEWAY=172.16.114.70
DNS1=218.2.135.1systemctl restart network nginx配置负载调度器
yum install -y ipvsadm                                                #安装ipvsadm管理工具
添加新网卡36
ifconfig
cd /etc/sysconfig/network-scripts/
cp ifcfg-ens33 ifcfg-ens36
vim ifcfg-ens33TYPE=Ethernet
BOOTPROTO=static
NAME=ens33
DEVICE=ens33
ONBOOT=yes
IPADDR=12.0.0.100
NETMASK=255.255.255.0vim ifcfg-ens36             TYPE=Ethernet
BOOTPROTO=static
NAME=ens36
DEVICE=ens36
ONBOOT=yes
IPADDR=172.16.114.70
NETMASK=255.255.255.0systemctl restart network
ifconfig
systemctl disable --now firewalld
setenforce 0
vim /etc/sysctl.confnet.ipv4.ip_forward=1sysctl -p
modprobe ip_vs                                                 #加载 ip_vs模块
cat /proc/net/ip_vs                                            #查看 ip_vs版本信息
ipvsadm-save > /etc/sysconfig/ipvsadm
systemctl start ipvsadm
ipvsadm -C                                                     #清除原有策略
ipvsadm -A -t 12.0.0.100:80 -s rr
ipvsadm -a -t 12.0.0.100:80 -r 172.16.114.30:80 -m
ipvsadm -a -t 12.0.0.100:80 -r 172.16.114.60:80 -m
ipvsadm                                                    #激活使用
ipvsadm -ln                                                #查看节点状态,Masq代表 NAT模式

1.共享服务器配置:

共享文件配置

2.节点服务器1配置

nginx配置文件

共享挂载

网卡配置

3.节点服务器2

nginx配置文件

共享挂载

网卡配置

4.配置负载调度器

先添加网卡

网卡配置33

网卡配置36

开启路由转发功能

5.windows测试

先设置windows的网卡地址

测试结果:

先ping

再测试主页

最后查看最终结果

这样就部署成功了

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

spring 笔记八 SpringMVC异常处理和SpringMVC拦截器

文章目录 SpringMVC拦截器拦截器&#xff08;interceptor&#xff09;的作用拦截器和过滤器区别拦截器是快速入门拦截器方法说明 SpringMVC拦截器拦截器&#xff08;interceptor&#xff09;的作用拦截器和过滤器区别拦截器是快速入门拦截器方法说明 SpringMVC异常处理异常处理…

网络服务IP属地发生变化的原因有哪些?

近期&#xff0c;许多用户发现自己的网络服务IP属地发生了变化。原本固定的IP地址不再是静态的&#xff0c;而是发生了变动。这一现象引起了广大用户的关注和疑惑&#xff0c;对网络服务的使用和信息安全产生了影响。为了解决用户的疑虑&#xff0c;我们对此现象进行了深入探究…

java.lang.UnsupportedOperationException

一、背景 记录一次小坑… 最近在写一个关于Excel导出的小需求&#xff0c;由于系统都有一些工具类&#xff0c;还有原来已经做好的导出&#xff0c;直接拿过来改了改就用了&#xff0c;没想到直接报错&#xff0c;尴尬。 还是那句话&#xff0c;别人都能用&#xff0c;我复制…

国产浪潮服务器:风扇免手动调节脚本

简介&#xff1a;浪潮集团&#xff0c;是中国本土顶尖的大型IT企业之一&#xff0c;中国领先的云计算、大数据服务商。浪潮集团旗下拥有浪潮信息、浪潮软件、浪潮国际&#xff0c;业务涵盖云计算、大数据、工业互联网等新一代信息技术产业领域&#xff0c;为全球120多个国家和地…

【人工智能】模糊推理

模糊推理:交叉的隶属函数&#xff0c;方法如模糊规则中推理方法一致&#xff0c;step3中的每一个格子都有所应的隶属关系函数 引言&#xff1a;“生活中的模糊关系”模糊集合模糊集合的定义模糊集合的表示法模糊集合表示法示例 隶属函数 模糊规则模糊计算的流程 引言&#xff1…

RT-DETR 目标过线计数

使用 Ultralytics RT-DETR 进行目标计数 🚀 实际应用场景 物流水产养殖使用 Ultralytics RT-DETR 进行传送带包裹计数使用 Ultralytics RT-DETR 在海中进行鱼类计数请使用最新代码(2023年12月8日后),旧版本不支持! 示例 “目标计数示例” 目标计数 from ultralytics

初识Redis缓存,一文掌握Redis重要知识文集。

&#x1f3c6;作者简介&#xff0c;普修罗双战士&#xff0c;一直追求不断学习和成长&#xff0c;在技术的道路上持续探索和实践。 &#x1f3c6;多年互联网行业从业经验&#xff0c;历任核心研发工程师&#xff0c;项目技术负责人。 &#x1f389;欢迎 &#x1f44d;点赞✍评论…

存储拆分后,如何解决唯一主键问题?

之前我们讲到了分库分表&#xff0c;现在考虑这样一个问题&#xff1a;在单库单表时&#xff0c;业务 ID 可以依赖数据库的自增主键实现&#xff0c;现在我们把存储拆分到了多处&#xff0c;如果还是用数据库的自增主键&#xff0c;势必会导致主键重复。 那么我们应该如何解决…

【算法】【动规】乘积为正数的最长子数组长度

跳转汇总链接 &#x1f449;&#x1f517;算法题汇总链接 1.1 乘积为正数的最长子数组长度 &#x1f517;题目链接 给你一个整数数组 nums &#xff0c;请你求出乘积为正数的最长子数组的长度。 一个数组的子数组是由原数组中零个或者更多个连续数字组成的数组。 请你返回乘积…

docker镜像与容器的迁移

docker容器迁移有两组命令&#xff0c;分别是 save & load &#xff1a;操作的是images&#xff0c; 所以要先把容器commit成镜像export & import&#xff1a;直接操作容器 我们先主要看看他们的区别&#xff1a; 一 把容器打包为镜像再迁移到其他服务器 如把mysq…

RMQ算法总结

知识概览 RMQ又叫ST表、跳表&#xff0c;可以用来解决区间最值问题&#xff0c;这里这有查询没有修改。当然&#xff0c;这样的问题用线段树也是可以解决的。RMQ算法本质上是倍增动态规划&#xff0c;它的思想是先倍增预处理再查询。f(i, j)表示从i开始&#xff0c;长度是的区…

【Jeecg Boot 3 - 第二天】2.1、nginx 部署 JEECGBOOT VUE3

一、场景 二、实战 ▶ 2.1、打包&#xff08;build 前端&#xff09; &#xff1e; Stage 1&#xff1a;修改配置文件 .env.production&#xff08;作用&#xff1a;指向后端接口地址&#xff09; &#xff1e; Stage 2&#xff1a;点击build&#xff08;作用&#xff1…

虚幻学习笔记13—C++静态和动态加载

一、前言 我们在蓝图中可以很方便的添加各种需要的组件&#xff0c;那么在C代码中要如何实现呢。在代码中分静态和动态加载&#xff0c;而无论静态和动态&#xff0c;加载的内容有资源和资源类&#xff0c;资源类通常为带资源的蓝图类。 二、实现 在实现静态或动态加载时&…

生成式AI的力量,释放RPA的无限潜能

回首即将过去的2023年&#xff0c;互联网行业似乎始终处在各种新概念的热潮激荡之中。其中&#xff0c;最引人注目的话题无疑是AI科技。自人工智能技术实现大规模突破以来&#xff0c;我们见证了一系列生成式AI的涌现。从ChatGPT到百度文心一言&#xff0c;它们纷纷登场&#x…

Cellinx NVT 摄像机 GetFileContent.cgi任意文件读取漏洞 (CVE-2023-23063)

0x01 产品简介 Cellinx NVT IP PTZ是韩国Cellinx公司的一个摄像机设备。 0x02 漏洞概述 Cellinx NVT v1.0.6.002b版本存在安全漏洞&#xff0c;该漏洞源于存在本地文件泄露漏洞&#xff0c;攻击者可读取系统密码等敏感信息。 0x03 复现环境 FOFA&#xff1a;body"loc…

云仓酒庄带您品法国葡萄酒

说起葡萄酒肯定绕不开法国&#xff0c;法国葡萄酒闻名中外&#xff0c;口碑卓越。作为世界上的产酒大国&#xff0c;可以说是每一寸土地都可以种植葡萄。云仓酒庄的品牌雷盛红酒分享这么优秀的一个葡萄酒产酒国有哪些特点呢&#xff1f; 1.产区特色&#xff1a;波国有最著名的…

vue3 使用antd 报错Uncaught TypeError--【已解决】

问题现象 使用最基本的 ant-design-vue 按钮demo 都报错 报错文字如下 Uncaught TypeError: Cannot read properties of undefined (reading value)at ReactiveEffect.fn (ant-design-vue.js?v597f5366:6693:87)at ReactiveEffect.run (chunk-K2VKR2AM.js?v25c381c3:461:…

springboot发送邮件,内容使用thymeleaf模板引擎排版

springboot发送邮件,内容使用thymeleaf模板引擎排版 1、导入jar包2、yml设置3、收件人以及收件信息设置4、发邮件service5、模版页面6、controller 1、导入jar包 <!--发送邮件--><dependency><groupId>org.springframework.boot</groupId><artifac…

react经验7:高亮关键字

预期效果&#xff1a; 实现原理 将需要高亮的关键词做成正则表达式 new RegExp((${word}), "gi")使用上述正则表达式切割目标字符串 origin.split(new RegExp((${word}), "gi"))切割结果会包含正则匹配到的词 过滤掉空字符&#xff0c;并对关键词包裹…

人工智能与大数据的紧密联系

随着科技的飞速发展&#xff0c;人工智能&#xff08;Artificial Intelligence&#xff0c;AI&#xff09;和大数据&#xff08;Big Data&#xff09;已成为当今社会的热门话题。人工智能在许多领域的应用越来越广泛&#xff0c;而大数据则提供了支持和驱动AI技术的巨大资源。本…