大型网站高并发解决方案 LVS (一文让你搞懂什么是LVS及四层、七层负载均衡)

大型网站高并发解决方案 LVS (一文让你搞懂什么是LVS及四层、七层负载均衡)一、什么是 LVS?
LVS: 是Linux Virtual Server的简写,也就是Linux 虚拟服务器&#x

一、什么是 LVS?

LVS:Linux 虚拟服务器的缩写。该项目由张文松博士于1998年5月创立,是国内最早的自由软件项目之一。

官方网站:http://www.linuxvirtualserver.org

LVS实际上是一个基于IP地址的虚拟化应用,提供基于IP地址和内容请求分发的高效解决方案。 LVS 现在是Linux 内核标准的一部分。

LVS是4层负载均衡

四层负载均衡的优点:对请求的响应比反向服务器负载均衡更快。

缺点:无法处理更高级的请求

二、OSI七层模型

三、LVS 的组成

LVS 由两个程序组成:ipvs 和ipvsadm。

1、ipvs(ip虚拟服务器):LVS是基于内核态netfilter框架实现的IPVS功能,运行在内核态。用户必须使用ipvsadm工具配置VIP和其他相关信息并将其传输到IPVS。

2、ipvsadm:ipvsadm是LVS用户态支持工具,提供VIP和RS的增删改查功能。如果LVS类似于netfilter,它与内核LVS通信。ipvsadm是一个类似于iptables status的工具。

四、LVS的作用

作用:

主要用于多服务器负载均衡,运行在网络层,可以提供高性能、高可用的服务器集群技术。它价格低廉,允许您将许多低性能服务器组合成一个易于使用的简单配置。高效的多种负载均衡方法。稳定可靠,即使集群中某台服务器不能正常工作,整体效果也不影响良好的扩展性。

LVS的优点:

网络隔离确保您的安全并节省IP 地址

LVS的缺点:

该目录很可能是系统性能的瓶颈,并且必须响应对该目录的所有请求。 20【可代理的集群数量有限,一般不超过20个】

五、工作方式

常用:

NAT (地址转换)

CIP—— 客户端IP

VIP—— 虚拟IP

RIP—— 真实服务器IP

DR (直接路由)

工作原理:

. 客户端将请求发送到前端负载均衡器。请求消息的源地址为CIP,目的地址为VIP。

当负载均衡器收到消息并确认该请求是针对规则内存在的地址时,将客户端请求消息的源MAC地址更改为自己的DIP的MAC地址,并更改目标MAC地址。

RIP MAC 地址并将该数据包发送到RS。

.当RS检测到请求报文中的目的MAC是自己时,处理完请求报文后,通过lo接口向eth0网卡发送响应报文,直接发送给客户。

结尾。

日常生活中比较常用的两种模式是NAT和DR,当然还有其他模式。下面对此进行解释。

TUN-IP隧道模式

将DIP 和RIP 层包裹在CIP 和VIP 之外,以进行加密和封装。

FULL-NAT

这种型号在日本并不常用

六、LVS-NAT实验

实验室环境:

系统:洛奇9.4

VMware工作站

LVS-NAT 服务器— 192.168.5.8 192.168.153.128

LVS客户端—192.168.5.9

网1 — 192.168.153.129

网络2 — 192.168.153.130

实验拓扑:

图片有些模糊,但细节基本是一样的。

实验过程:

yum -y install httpd*# 首先为两个web主机创建不同的网站,方便区分(通常是相同的资源)

echo WEB-A /var/www/html/index.html# web-1 主机

echo Web-B /var/www/html/index.html# Web-2 主机

systemctl restart httpd#同样,在web-1和web-2下

systemctl Enable httpd # web-1和web-2下同样

[root@LVS-Server yum.repos.d]# echo 1 /proc/sys/net/ipv4/ip_forward # 启用路由功能

[root@LVS-Server yum.repos.d]# ipvsadm -A -t 192.168.5.8:80 -s rr # 配置外部接口IP

[root@LVS-Server yum.repos.d]# ipvsadm -a -t 192.168.5.8:80 -r 192.168.153.129:80 -m # 配置内部接口IP [Web-1]

[root@LVS-Server yum.repos.d]# ipvsadm -a -t 192.168.5.8:80 -r 192.168.153.130:80 -m # 配置内部接口IP [Web-2]

确认:

[方法一]

[方法二]

[root@LVS-服务器yum.repos.d]# ipvsadm -Lnc

七、LVS-DR

DR: 直接路由

LVS-DR报文流量分析(同一局域网)

客户端向目标VIP发送请求,负载均衡器根据负载均衡算法选择后端真实服务器,但不修改或封装IP数据包。数据帧的地址通过LAN 发送,解封装后我们看到目标IP 与本地机器(VIP) 匹配。之前已绑定),消息被处理。然后重新封装消息,将响应消息通过lo接口发送到物理网卡,客户端接收响应消息。客户端认为自己正在接受正常的服务,并不知道是哪个服务器处理了该服务。如果数据包经过该网段,则通过互联网通过路由器返回给用户。

八、LVS-DR实验

实验环境:

VMware工作站

洛基9

四个虚拟机: 客户端 灾难恢复服务器 Web-1 Web-2

客户端192.168.5.10

LVS服务器192.168.5.8

LVS Web-1 192.168.5.12

LVS Web-2 192.168.5.13

配置步骤:

LVS准备和路由部分

[root@localhost ~]# nmcli

ens160: 连接到ens160

“VMware VMXNET3”

以太网(vmxnet3)、00:0C:29:01:99:F9、硬件、mtu 1500

默认IP4

inet4 192.168.5.8/24

路由4 192.168.5.0/24 公制100

Route4 默认为192.168.5.254,度量为100

inet6 fe80:20c:29ff:fe01:99f9/64

路线6 fe80:/64 公制1024

lo:连接(外部)到lo。

“我同意”

环回(未知)、00:00:00:00:00:00、软件、mtu 65536

inet4 127.0.0.1/8

inet6 :1/128

6 号公路:1/128 公制256

DNS配置:

服务器: 114.114.114.114 8.8.8.8

接口: ens160

使用“nmcli device show”获取有关已知设备的完整信息。

\’nmcli connection show\’ 获取活动连接配置集的摘要。

有关完整的使用详细信息,请参阅nmcli(1) 和nmcli-examples(7) 手册页。

[root@localhost ~]# ifconfig ens160:0 192.168.5.14 广播192.168.40.255 网络掩码255.255.255.0 向上

[root@localhost ~]# 添加路由-host 192.168.5.14 dev ens160:0

[root@localhost ~]# vim /etc/sysctl.conf

net.ipv4.ipforward=1#启用路由功能

net.ipv4.conf.all.send_redirects=0# 禁用重定向消息转发

net.ipv4.conf.ens160.send_redirects=0# 禁止ens160转发重定向消息

net.ipv4.conf.default.send_redirects=0# 禁用默认重定向消息转发

[root@localhost ~]# yum -y install ipvsadm*

[root@localhost ~]# ipvsadm -A -t 192.168.5.14:80 -s rr #添加VIP规则

[root@localhost ~]# ipvsadm -a -t 192.168.5.14:80 -r 192.168.5.12:80 -g

[root@localhost ~]# ipvsadm -a -t 192.168.5.14:80 -r 192.168.5.13:80 -g

[root@localhost ~]# ipvsadm-save /etc/sysconfig/ipvsadm//永久

[root@localhost ~]# systemctl Enable ipvsadm.service //设置开机自动启动

我创建了一个符号链接/etc/systemd/system/multi-user.target.wants/ipvsadm.service /usr/lib/systemd/system/ipvsadm.service。

九、轮训算法

(一)静态调幅方法 Fixed Scheduling Method

.RR轮询

Round-Robin: 调度程序通过“循环”调度算法将外部请求按顺序分发到集群中的实际服务器。每个服务器都受到平等对待,无论服务器上的实际连接数或系统负载如何。

.WRR加权轮询

调度器采用“加权循环”调度算法,根据真实服务器的不同处理能力来调度访问请求。这使得具有更多处理能力的服务器能够处理更多的访问流量。调度器可以自动查询真实服务器的负载状态并动态调整其权重。

.DH 目标地址哈希

“目标地址哈希”调度算法使用请求的目标IP地址作为哈希键,从静态分配的哈希表中找到对应的服务器。如果服务器可用且未过载,则请求将发送给它。返回空值。

.SH 源地址哈希

“源地址哈希”调度算法使用请求的源IP地址作为哈希键,从静态分配的哈希表中找到对应的服务器。如果服务器可用且未过载,则请求将发送到服务器。否则返回null。

(二)动态调服方法 Dynamic Scheduling Method

.LC 最小连接

调度器通过“最少连接”调度算法,动态地将网络请求调度到已建立链接数最少的服务器。如果集群系统中的真实服务器具有相似的系统性能,则可以使用“最少连接”调度算法来提高负载平衡。

.WLC 加权最少连接.LBLC 基于本地的最少连接.LBLCR 带复制的基于本地的最少连接

十、负载均衡的主要方式

http重定向DNS负载均衡7层负载均衡4层负载均衡数据链路层负载均衡F5硬件负载均衡

#以上关于大型网站高并发解决方案LVS的相关内容(一篇文章帮你了解LVS和四层、七层负载均衡)仅供参考。详见官方公告。相关信息!

原创文章,作者:CSDN,如若转载,请注明出处:https://www.sudun.com/ask/93935.html

(0)
CSDN's avatarCSDN
上一篇 2024年7月26日 下午2:54
下一篇 2024年7月26日 下午2:54

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注