rocky9.2的lvs的NAT模式下的基本使用的详细示例

文章目录

前言

什么是LVS?(Linux Virtual Server)

LVS 是 Linux Virtual Server 的缩写,它是一种用于构建高度可扩展、高性能和高可用性服务器集群的负载均衡解决方案。LVS 通常用于互联网服务中来实现服务器的负载均衡和高可用性,目的是通过将请求分发到多个服务器,来提高系统的处理能力和可靠性。

LVS的组成

LVS(Linux Virtual Server)主要由以下几个核心组成部分构成,它们共同合作来实现负载均衡和高可用性功能

1. 负载均衡器(Load Balancer)

这是 LVS 系统的核心部分,负责接收客户端的请求并将这些请求分发到后端的服务器池中。它主要通过调度算法和不同的转发模式(如 NAT、DR、TUN)来决定请求的分配方式。

2. 后端服务器池(Real Servers)

后端服务器池是实际提供服务的服务器集合。客户端的请求会被负载均衡器转发到这些服务器上。每台服务器通常运行相同的应用或服务,以确保负载均衡分配的均匀性。后端服务器在实际工作中被称为 Real Servers。

3. IPVS(IP Virtual Server)

IPVS 是 LVS 的核心组件,负责基于 IP 层进行负载均衡。它是 Linux 内核中的一个模块,允许系统将客户端的网络流量按照设定的规则转发到后端服务器上。IPVS 支持多种调度算法来分配网络流量,并支持不同的传输协议(如 TCP、UDP 等)。

4. 调度算法(Scheduling Algorithms)

调度算法决定了 LVS 如何将进入的网络请求分发到后端服务器。LVS 支持多种调度算法,

以下是一些常见的算法示例
轮询(Round Robin): 逐个循环分配请求。
加权轮询(Weighted Round Robin): 根据服务器的性能设置权重,权重越高的服务器将收到更多的请求。
最少连接(Least Connections): 将请求发送给当前连接数最少的服务器。
源地址哈希(Source Hash Scheduling): 基于客户端的 IP 地址哈希,将来自同一 IP 的请求始终发送到同一台服务器。

5. 转发模式(Forwarding Methods)

LVS 提供了三种主要的转发模式,用于将客户端请求转发到后端服务器上:

包括以下模式
NAT 模式(Network Address Translation): 通过修改数据包的源地址和目的地址,将请求转发到后端服务器,且返回的响应数据也需要通过负载均衡器来修改并发送给客户端。
简单来说 就是LVS 的 NAT 模式(网络地址转换)就像一个中间人:客户端请求先发送到负载均衡器,负载均衡器再修改数据包的目标地址并转发给后端服务器。后端服务器处理请求后,把响应发回负载均衡器,负载均衡器再修改数据包的源地址,最终将响应发送给客户端。这样,客户端和服务器都只看到负载均衡器的地址,而不知道彼此的真实地址。这个模式适合小规模网络,因为所有流量都要经过负载均衡器,可能成为瓶颈。

DR 模式(Direct Routing): 负载均衡器只负责将请求发给后端服务器,后端服务器直接将响应发送给客户端,不经过负载均衡器,这减少了负载均衡器的压力。
简单来说就是 LVS 的 DR 模式(直接路由)就像是直接派送:客户端的请求首先到达负载均衡器,负载均衡器仅负责将请求转发给后端服务器,而不修改数据包。后端服务器直接将响应发送给客户端,而不是经过负载均衡器。这样,负载均衡器只处理入站请求,出站响应不经过它,减轻了它的负载,适合处理大量流量。不过,需要所有服务器和负载均衡器位于同一网络环境中(共享相同的网关)

TUN 模式(IP Tunneling): 使用 IP 隧道技术,允许后端服务器位于不同的网络中,通过隧道将请求转发给后端服务器,后端服务器直接将响应发送给客户端。
简单来说就是 LVS 的 TUN 模式(隧道模式)像是中转快递:客户端的请求先到达负载均衡器,负载均衡器通过 IP 隧道将请求转发给后端服务器,但与 DR 模式不同的是,后端服务器处理完后直接通过公网将响应发送给客户端。这种模式可以让后端服务器位于不同网络,甚至跨数据中心处理请求,适合大规模、跨区域的高流量场景,不过需要服务器支持 IP 隧道协议(IPIP)。

6. Health Check(健康检查)

LVS 通常会结合健康检查机制来监控后端服务器的状态,确保服务器在健康状态下处理请求。如果某个服务器发生故障,LVS 会自动将该服务器排除在调度之外,防止将请求转发到故障服务器。常用的健康检查工具包括 Keepalived 和 Heartbeat。

7. Keepalived

Keepalived 是一个高可用性和负载均衡解决方案,通常与 LVS 配合使用。它负责管理 LVS 的健康检查和故障切换,当主负载均衡器出现故障时,可以自动将流量切换到备用的负载均衡器,从而确保服务的高可用性。这个以后会再出一篇详细描述

8. 控制接口(Control Interface)

LVS 提供了一些控制工具来管理和配置负载均衡器和服务器池。最常用的工具是 ipvsadm,它允许管理员添加、删除和修改 LVS 的调度规则,并监控 LVS 的运行状态。

使用示例(NAT模式)

基本环境

主机

ip 主机名 服务
200.0.0.0.1 client 客户端
200.0.0.1,192.168.10.12 lvs lvs
192.168.10.13 web1 httpd
192.168.10.14 web2 httd

rocky网卡路径

cd /etc/NetworkManager/system-connections

需要注意的是

web1 web2网卡的网关都要指向lvs,即192.168.10.12

lvs主机需要开启路由转发

rocky9.2的双网卡配置请看

链接: https://blog.csdn.net/lwxvgdv/article/details/142334821

实现过程

1.安装ipvsadm

ipvsadm是在负载调度器上使用的LVS 群集管理工具,通过调用ip_vs模块来添加、删除服务器 节点,以及查看群集的运行状态。手动安装 ipvsadm 软件包。

lvs主机上

yum -y install ipvsadm
ipvsadm -v

2.开启路由转发

echo "net.ipv4.ip_forward=1" >> /etc/sysctl.conf 
sysctl -p

3.创建虚拟服务器

ipvsadm -A -t 200.0.0.2:80 -s rr

解释

-A:添加一个新的虚拟服务。

-t 200.0.0.2:80:指定虚拟 IP 地址和端口,这里是 200.0.0.2 的 80 端口。

-s rr:设置调度算法为轮询(round-robin)

添加服务器节点(web1 web2)

ipvsadm -a -t 200.0.0.2:80 -r 192.168.10.13:80 -m -w 1
ipvsadm -a -t 200.0.0.2:80 -r 192.168.10.14:80 -m -w 1

解释
第一条命令

-a:添加真实服务器。

-t 200.0.0.2:80:指定虚拟服务。

-r 192.168.10.13:80:指定真实服务器 IP 和端口。

-m:使用 NAT 模式(直接映射)。

-w 1:设置权重为 1,表示负载均衡时的分配比例。

第二条命令 功能相同,只是指定的真实服务器为 192.168.10.14。

4.web1.web2添加访问页面

web1

yum -y install httpd
echo web1 > /var/www/html/index.html
systemctl restart httpd

web2

yum -y install httpd
echo web2 > /var/www/html/index.html
systemctl restart httpd

5.访问

client主机访问

访问不到的原因

1.lvs主机没有开启路由转发功能

命令

echo "net.ipv4.ip_forward=1" >> /etc/sysctl.conf 
sysctl -p

2.web主机的网关没有指向lvs主机

lvs主机的ip为192.168.10.12

web1的网卡配置

\ 复制代码
[connection]
id=ens33
uuid=2060138f-8d43-365c-a863-cb0bcbc3e730
type=ethernet
autoconnect-priority=-999
interface-name=ens33

[ethernet]

[ipv4]
method=manual
address1=192.168.10.13/24,192.168.10.12
dns=192.168.10.2;8.8.8.8

[ipv6]
addr-gen-mode=eui64
method=auto

[proxy]
相关推荐
会飞的爱迪生4 天前
centos7之LVS-DR模式传统部署
网络·lvs
会飞的爱迪生6 天前
centos7之LVS-TUNNEL模式
lvs·tunnel
IT-民工211108 天前
LVS Nginx HAProxy的优缺点
运维·nginx·lvs
会飞的爱迪生8 天前
centos7配置keepalive+lvs
lvs·keepalive
打败4048 天前
lvs知识点归纳
负载均衡·lvs
阳排9 天前
Virtuoso使用layout绘制版图、使用Calibre验证DRC和LVS
lvs·layout·版图·virtuoso·drc
mqiqe13 天前
Linux LVS详解
linux·运维·lvs
运维小白。。13 天前
企业级调度器 LVS
运维·服务器·lvs
happy_king_zi13 天前
高并发负载均衡——nginx与lvs
nginx·负载均衡·lvs
abandondyy18 天前
LVS+Keepalived
lvs