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

集群

集群的概述

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

集群类型

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

负载均衡集群

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

高可用集群

高可用集群:以提高应用系统的影响能力、尽可的减少中断时间为目标,确保服务的连续性,达到高可用的容错效果。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

LVS 负载均衡集群的DR模式配置_第1张图片
调整 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

LVS 负载均衡集群的DR模式配置_第2张图片
配置负载分配策略

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		

LVS 负载均衡集群的DR模式配置_第3张图片

在这里插入图片描述
设置内核参数调整内核的 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/
LVS 负载均衡集群的DR模式配置_第4张图片
跳转成功配置完成

你可能感兴趣的:(lvs,负载均衡,网络)