一、什么是 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