LVS 负载均衡集群的DR模式配置

2023-09-18 18:40:58

集群

集群的概述

集群技术是一种用于提高系统性能、可用性、容错性和可扩展性的关键方法。它涉及将多个计算资源或节点组合在一起,以协同工作以处理任务、服务请求或数据处理。

集群类型

无论是哪种集群,都至少包括两台节点服务器,而对外表现成一个整体,只提供一项服务,相当于一台大型计算机。根据群集所针对的目标差异,可分为三种类型的集群

负载均衡集群

负载均衡集群是以提高应用系统的响应能力、尽可能处理更多的访问请求、减少延迟为目标,获得高并发、高负载的整体性能。

高可用集群

高可用集群:以提高应用系统的影响能力、尽可的减少中断时间为目标,确保服务的连续性,达到高可用的容错效果。HA的工作模式包括双工和主从两种模式。双工即所有节点同时在线;主从只有主节点在线,当出现故障后从节点自动切换成主节点

LVS的三种工作模式

NAT地址转换
调度器会作为所以节点服务器的默认网关,也是客户端的访问入口和节点服务器返回响应消息的出口,也就是说调度器会承载双向数据流量的负载压力,可能会成为整个群集的性能瓶颈。由于节点服务器都处于内网环境,使用私网IP地址,所以具有一定安全性。

2)TUN IP隧道 IP Tunnel
调度器仅作为客户端的访问入口,节点服务器的响应消息是直接返回给客户端的,不需要经过调度器。但是由于节点服务器需要部署在不同位置的公网环境中,需要具有独立的公网IP,调度器与节点服务器是通过专用的IP隧道实现相互通信的,因此IP隧道模式的成本较高、安全性较低,且IP隧道需要额外的封装和解封装,性能会受到一定的影响。

3)DR 直接路由 Direct Routing
调度器仅作为客户端的访问入口,节点服务器的响应消息是直接返回给客户端的,不需要经过调度器。(与NAT模式的区别)
节点服务器与调度器是部署在同一个物理网络内,因此不需要建立专用的IP隧道。(与TUN模式的区别)
DR模式是企业首选的LVS模式。

LVS反向代理调度方式

常见的 LVS 调度算法及其介绍:
RR(Round Robin)轮询
轮询算法是最简单的负载均衡算法之一。
当有新的请求到达时,RR 算法按照顺序将请求分发到后端服务器,每个服务器依次处理一次请求,然后回到列表的开头。
这个算法适用于所有服务器的性能相似且负载均衡需求相对简单的情况。

WRR(Weighted Round Robin)加权轮询
与 RR 相似,但每个服务器都分配一个权重,权重决定了每个服务器被选择的频率。
具有更高权重的服务器将处理更多的请求。
这个算法用于服务器性能不均匀的情况,可以根据服务器的处理能力进行动态调整。

SH(Source IP Hash)源地址哈希
使用请求的源 IP 地址来计算哈希值,然后将请求分发到具有相应哈希值的服务器。
这确保相同的客户端 IP 地址的请求总是被分发到相同的服务器,适用于需要会话保持的应用程序。

DH(Destination IP Hash)目的地址哈希
类似于 SH,但使用目的 IP 地址来计算哈希值。
这种算法适用于具有相同目的地的请求需要被发送到同一台服务器的情况。

LC(Least Connections)最小连接
LC 算法将请求发送到当前连接数最少的服务器。
这有助于避免将请求发送到已经负载较重的服务器上,从而更好地平衡负载。

WLC(Weighted Least Connections)加权最小连接
类似于 LC,但每个服务器都有一个权重,服务器的连接数除以权重来选择目标服务器。
这个算法适用于具有不同性能的服务器,并且需要更精细的负载均衡控制。

LBLC(Locality-Based Least Connections)基于地址的最小连接
LBLC 算法考虑了客户端 IP 地址的子网,以便将请求路由到同一子网内的服务器,从而减少延迟。
这个算法适用于需要考虑客户端位置以提高性能的场景。

DR模式 反向代理(路由直连)

配置负载调度服务器

启用 ip_vs内核

modprobe ip_vs

在这里插入图片描述
安装ipvsadm软件

yum -y install ipvsadm

配置虚拟 IP 地址(vip地址)

cd /etc/sysconfig/network-scripts/
cp ifcfg-ens33 ifcfg-ens33:0
vim ifcfg-ens33:0
DEVICE=ens33:0
ONBOOT=yes
IPADDR=192.168.2.188
NETMASK=255.255.255.255
 systemctl restart network
ifconfig

在这里插入图片描述
调整 proc 响应参数
由于 LVS 负载调度器和各节点需要共用 VIP 地址,需要关闭 icmp 的重定向,不充当路由器。

vim /etc/sysctl.conf
net.ipv4.ip_forward = 0
net.ipv4.conf.all.send_redirects = 0
net.ipv4.conf.default.send_redirects = 0
net.ipv4.conf.ens33.send_redirects = 0	
sysctl -p

在这里插入图片描述
配置负载分配策略

ipvsadm -C
ipvsadm -A -t 192.168.2.188:80 -s rr
ipvsadm -a -t 192.168.2.188:80 -r 192.168.2.12:80 -g			#若隧道模式,-g替换为-i
ipvsadm -a -t 192.168.2.188:80 -r 192.168.2.13:80 -g
ipvsadm

ipvsadm -ln					#查看节点状态,Route代表 DR模式

配置节点服务器

配置虚拟 IP 地址(VIP:192.168.80.188)

cd /etc/sysconfig/network-scripts/
cp ifcfg-lo ifcfg-lo:0		
vim ifcfg-lo:0
DEVICE=lo:0
ONBOOT=yes
IPADDR=192.168.80.188
NETMASK=255.255.255.255		

在这里插入图片描述

在这里插入图片描述
设置内核参数调整内核的 ARP 响应参数以阻止更新 VIP 的 MAC 地址,避免发生冲突

vim /etc/sysctl.conf
......
net.ipv4.conf.lo.arp_ignore = 1			#系统只响应目的IP为本地IP的ARP请求
net.ipv4.conf.lo.arp_announce = 2		#系统不使用IP包的源地址来设置ARP请求的源地址,而选择发送接口的IP地址
net.ipv4.conf.all.arp_ignore = 1
net.ipv4.conf.all.arp_announce = 2
sysctl -p

在这里插入图片描述
4.测试 LVS 群集
在客户端使用浏览器访问 http://192.168.2.188/
在这里插入图片描述
跳转成功配置完成

更多推荐

MyBatis友人帐之ResultMap及分页

一、ResultMap1.1查询为null问题要解决的问题:属性名和字段名不一致解决方案方案一:为列名指定别名,别名和java实体类的属性名一致.<selectid="selectUserById"resultType="User">selectid,name,pwdaspasswordfromuserwhereid=

OpenCV自学笔记十七:傅里叶变换

1、Numpy实现傅里叶变换傅里叶变换(FourierTransform)是一种将信号从时域转换到频域的数学变换。它将一个连续或离散的时域信号分解为一组正弦和余弦函数的复合。在Python中,可以使用NumPy库来实现傅里叶变换。具体步骤如下:1.导入NumPy库:importnumpyasnp2.准备输入信号数据,可

9月21日,每日信息差

今天是2023年9月21日,以下是为您准备的14条信息差第一、谷歌高管已经广泛讨论了在2027年之前将博通作为人工智能芯片供应商的可能性第二、清华系团队宣布研发出千亿参数“制药版ChatGPT”,覆盖药物立项、临床前研究、临床试验的各阶段,作为制药专家的得力AI助手,提升药物研发效率。团队还发布了全球首个千亿参数多模态

手机快充协议

高通:QC2.0、QC3.0、QC3.5、QC4.0、QC5.0、FCP、SCP、AFC、SFCP、MTKPE1.1/PE2.0/PE3.0、TYPEC、PD2.0、PD3.0/3.1、VOOC支持PD3.0/PD2.0支持QC3.0/QC2.0支持AFC支持FCP支持PE2.0/PE1.1联发科的PE(PumpExp

单元测试(基于安卓项目)总结

前言:负责公司的单元测试体系的搭建,大约有一两个月的时间了,从最初的框架的调研,到中期全员的培训,以及后期对几十个项目单元测试的引入和推进,也算是对安卓的单元测试有了一些初步的收获以及一些新的认知,因此写下这篇文章来进行一个记录和总结。以下的所有内容纯属个人观点,欢迎讨论。一.单元测试标准1.测试维度单元测试有很多维度

第八篇-Tesla P40+ChatGLM2+LoRA

部署环境系统:CentOS-7CPU:14C28T显卡:TeslaP4024G驱动:515CUDA:11.7cuDNN:8.9.2.26目的验证P40部署可行性,只做验证学习lora方式微调创建环境condacreate--nameglm-tuningpython=3.10condaactivateglm-tuning

百分点科技跻身中国智慧应急人工智能解决方案市场前三

近日,全球领先的IT市场研究和咨询公司IDC发布了《中国智慧应急解决方案市场份额,2022》报告,数据显示,2022年中国智慧应急整体市场为104亿元人民币。其中,智慧应急人工智能解决方案子市场备受关注,百分点科技以10%的市场份额居该市场第三。报告指出,从数字技术应用上看,技术之间融合以及技术与场景的融合应用成为可见

Gradio-YOLOv5-YOLOv7 搭建Web GUI

目录0相关资料:1Gradio介绍2环境搭建3Gradio+YOLOv54Gradio+YOLOv75源码解释0相关资料:Gradio-YOLOv5-Det:https://gitee.com/CV_Lab/gradio_yolov5_det【手把手带你实战YOLOv5-入门篇】YOLOv5Gradio搭建WebGUI

Ae 效果:CC Kernel

颜色校正/CCKernelColorCorrection/CCKernelCCKernel(CC卷积核)效果主要用于图像的卷积处理,通过在卷积矩阵中设置不同的权重值,可以实现图像的锐化Sharpen、模糊Blur、查找边缘FindEdges以及浮雕Emboss等效果。◆◆◆效果原理说明卷积矩阵ConvolutionMa

【英杰送书第三期】Spring 解决依赖版本不一致报错 | 文末送书

Yan-英杰的主悟已往之不谏知来者之可追C++程序员,2024届电子信息研究生目录问题描述报错信息如下报错描述解决方法总结【粉丝福利】【文末送书】目录:本书特色:问题描述报错信息如下Description:Anattemptwasmadetocallamethodthatdoesnotexist.Theattemptw

【计算机视觉|人脸建模】深度学习时代的3D人脸重建调查报告

本系列博文为深度学习/计算机视觉论文笔记,转载请注明出处标题:3DFaceReconstructioninDeepLearningEra:ASurvey链接:3DFaceReconstructioninDeepLearningEra:ASurvey-PubMed(nih.gov)摘要随着深度学习的出现和图形处理单元的广

热文推荐