LVS负载均衡群集(NAT模式、IP隧道模式、DR模式)

目录

一、集群

[1.1 含义即特点](#1.1 含义即特点)

[1.2 群集的类型](#1.2 群集的类型)

[1.3 LVS 的三种工作模式:](#1.3 LVS 的三种工作模式:)

[1.4 LVS 调度算法](#1.4 LVS 调度算法)

[1.5 负载均衡群集的结构](#1.5 负载均衡群集的结构)

[1.6 ipvsadm 工具](#1.6 ipvsadm 工具)

二、NAT模式

LVS-NAT模式配置步骤:

实例:

配置NFS服务器192.168.20.100

配置web1服务器192.168.30.104

[配置web2服务器 192.168.30.105](#配置web2服务器 192.168.30.105)

配置调度服务器192.168.30.200

客户机测试

三、DR模式

[LVS-DR 数据流向:](#LVS-DR 数据流向:)

数据包流向分析:

[DR 模式的特点:](#DR 模式的特点:)

实例:

[DR服务器 192.168.30.203](#DR服务器 192.168.30.203)

NFS服务器192.168.30.100

vip服务器192.168.20.200

[web1 192.168.30.104](#web1 192.168.30.104)

[web2 192.168.30.105](#web2 192.168.30.105)

客户机测试192.168.30.10

面试题

简述LVS三种工作模式,简述他们的区别?

列举你知道的LVS调度算法?

LVS调度器常见算法(均衡策略)?

LVS的工作模式及其工作过程:

1、NAT模式(VS-NAT)

2、直接路由模式(VS-DR)

3、IP隧道模式(VS-TUN)


一、集群

1.1 含义即特点

由多台主机构成,都干同样的一件事,对外展现为一个整体

1.2 群集的类型

(1)负载均衡群集 LB

提高系统响应效率,处理更多的访问请求,减少延迟,实现高并发、高负载的能力

典型代表:软件类:LVS Nginx HAProxy 等 硬件类:F5 绿盟

(2)高可用群集 HA

提高系统可靠性,减少中断时间,确保服务的连续性(通常使用 N 个 9 来代表高可用的指标)

典型代表:Keepalived heartbeat

(3)高性能运输群集 HPC

通过云计算或分布式计算获取高性能的CPU、内存等资源,来提高整体运算能力

1.3 LVS 的三种工作模式:

(1)NAT 地址转换

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

(2)TUN IP隧道 IP Tunnel

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

(3)DR 直接路由 Direct Routing

调度器仅作为客户端的访问入口,节点服务器的响应消息是直接返回给客户端的,不需要经过调度器。(与NAT模式的区别)

节点服务器与调度器是部署在同一个物理网络内,因此不需要建立专用的IP隧道。(与TUN模式的区别)
DR模式是企业首选的LVS模式。

1.4 LVS 调度算法

固定调度算法

rr 轮询

  • 依据不同RS的权值分配任务。权重值较高的RS将优先获得任务,并且分配到的连接数将比权值低的RS更多。相同权值的RS得到相同数目的连接数。

wrr 加权轮询

  • 依据不同RS的权值分配任务。权重值较高的RS将优先获得任务,并且分配到的连接数将比权值低的RS更多。相同权值的RS得到相同数目的连接数。
  • 保证性能强的服务器承担更多的访问流量。

sh 源地址哈希

  • 保证性能强的服务器承担更多的访问流量。

dh 目的地址哈希

  • 以目的地址为关键字查找一个静态hash表来获得所需RS。

lc 最小连接

  • ipvs表存储了所有活动的连接。LB会比较将连接请求发送到当前连接最少的RS。
  • 根据真实服务器已建立的连接数进行分配,将收到的访问请求优先分配给连接数最少的节点。

动态调度算法

wlc 加权最小连接

  • 假设各台RS的权值依次为Wi,当前tcp连接数依次为Ti,依次取Ti/Wi为最小的RS作为下一个分配的RS。

lblc 基于地址的最小连接

  • 将来自同一个目的地址的请求分配给同一台RS,此时这台服务器是尚未满负荷的。否则就将这个请求分配给连接数最小的RS,并以它作为下一次分配的首先考虑。

1.5 负载均衡群集的结构

第一层,负载调度器(Load Balancer或Director)

访问整个群集系统的唯一入口,对外使用所有服务器共有的VIP地址,也称为群集IP地址。通常会配置主、备两台调度器实现热备份,当主调度器失效以后能够平滑替换至备用调度器,确保高可用性。负载均衡层
第二层,服务器池(Server Pool)

群集所提供的应用服务、由服务器池承担,其中每个节点具有独立的RIP地址(真实IP),只处理调度器分发过来的客户机请求。当某个节点暂时失效时,负载调度器的容错机制会将其隔离,等待错误排除以后再重新纳入服务器池。web应用层
第三层,共享存储(Share Storage)

为服务器池中的所有节点提供稳定、一致的文件存取服务,确保整个群集的统一性。共享存储可以使用NAS设备,或者提供NFS共享服务的专用服务器。

1.6 ipvsadm 工具

-A:添加虚拟服务器

-D:删除整个虚拟服务器

-s:指定负载调度算法(轮询:rr、加权轮询:wrr、最少连接:lc、加权最少连接:wlc)

-a:表示添加真实服务器(节点服务器)

-d:删除某一个节点

-t:指定 VIP地址及 TCP端口

-r:指定 RIP地址及 TCP端口

-m:表示使用 NAT群集模式

-g:表示使用 DR模式

-i:表示使用 TUN模式

-w:设置权重(权重为 0 时表示暂停节点)

-p 60:表示保持长连接60秒(默认关闭连接保持)

-l:列表查看 LVS 虚拟服务器(默认为查看所有)

-n:以数字形式显示地址、端口等信息,常与"-l"选项组合使用。ipvsadm -ln

二、NAT模式

LVS调度器作为Web服务器池的网关,LVS两块网卡,分别连接内外网,使用轮询(rr)调度算法

LVS-NAT模式配置步骤:

(1)配置 NFS 共享存储

(2)节点服务器安装 Web 服务,注意:默认网关要指向 调度器的IP地址,测试的时候关闭连接保持

(3)调度服务器要开启 IP路由转发 功能和设置 SNAT 等 iptables 规则,安装 ipvsadm 工具,配置虚拟服务器和真实节点服务器相关配置

(4)客户端测试的时候网关要指向 调度器的IP地址

实例:

调度服务器192.168.30.200

NFS服务器192.168.20.100

web1服务器192.168.30.104

web2服务器192.168.30.105

客户端

配置NFS服务器192.168.20.100

配置web1服务器192.168.30.104

测试

配置web2服务器 192.168.30.105

测试

配置调度服务器192.168.30.200

客户机测试

三、DR模式

LVS-DR 数据流向:

(1)客户端通过VIP将访问请求报文 (源IP为客户端IP,目的IP为VIP) 发送到调度器

(2))调度器通过调度算法选择分发请求的节点服务器,并重新封装数据报文(将源LC攻为调度器的ARC地址,目的2C地址政为节点服务器的IBC地址),再通过交换机转发给节点服务器

(3)节点服务器收到请求报文后,确认目的MAC和目的IP无误后解包并送达到应用层进行处理4)节点服务器要返回响应报文前,会先重新封装报文(源IP为IP,目的为客户端IP),再将响应报文通过10接口传送给物理网卡然后直接发送给客户端

数据包流向分析:

(1)客户端发送请求到 Director Server(负载均衡器),请求的数据报文(源 IP 是 CIP,目标 IP 是 VIP)到达内核空间。

(2)Director Server 和 Real Server 在同一个网络中,数据通过二层数据链路层来传输。

(3)内核空间判断数据包的目标IP是本机VIP,此时IPVS(IP虚拟服务器)比对数据包请求的服务是否是集群服务,是集群服务就重新封装数据包。修改源 MAC 地址为 Director Server 的 MAC地址,修改目标 MAC 地址为 Real Server 的 MAC 地址,源 IP 地址与目标 IP 地址没有改变,然后将数据包发送给 Real Server。

(4)到达 Real Server 的请求报文的 MAC 地址是自身的 MAC 地址,就接收此报文。数据包重新封装报文(源 IP 地址为 VIP,目标 IP 为 CIP),将响应报文通过 lo 接口传送给物理网卡然后向外发出。

(5)Real Server 直接将响应报文传送到客户端。

DR 模式的特点:

(1)Director Server 和 Real Server 必须在同一个物理网络中。

(2)Real Server 可以使用私有地址,也可以使用公网地址。如果使用公网地址,可以通过互联网对 RIP 进行直接访问。

(3)Director Server作为群集的访问入口,但不作为网关使用。

(4)所有的请求报文经由 Director Server,但回复响应报文不能经过 Director Server。

(5)Real Server 的网关不允许指向 Director Server IP,即Real Server发送的数据包不允许经过 Director Server。

(6)Real Server 上的 lo 接口配置 VIP 的 IP 地址。

实例:

NFS服务器192.168.30.100

DR服务器 192.168.30.203

vip服务器192.168.20.200

web1服务器192.168.30.104

web2服务器192.168.30.105

客户端

DR服务器 192.168.30.203

NFS服务器192.168.30.100

vip服务器192.168.20.200

web1 192.168.30.104

web2 192.168.30.105

客户机测试192.168.30.10

面试题

简述LVS三种工作模式,简述他们的区别?

答案:

NAT:通过网络地址转换实现的虚拟服务器,大并发访问时,调度器的性能成为瓶颈

DR:使用路由技术实现虚拟服务器,节点服务器需要配置VIP,注意MAC地址广播

TUN:通过隧道方式实现虚拟服务器。

列举你知道的LVS调度算法?

答案:

轮询(Round Robin);

加权轮询(Weighted Round Robin);

最少连接(Least Connections);

加权最少连接(Weighted Least Connections);

源地址哈希值(source hash)。

LVS调度器常见算法(均衡策略)?

LVS调度器用的调度方法基本分为两类:

固定调度算法:rr,wrr,dh,sh

rr:轮询算法,将请求依次分配给不同的rs节点,即RS节点中均摊分配。适合于RS所有节点处理性能接近的情况。

wrr:加权轮训调度,依据不同RS的权值分配任务。权值较高的RS将优先获得任务,并且分配到的连接数将比权值低的RS更多。相同权值的RS得到相同数目的连接数。

dh:目的地址哈希调度(destination hashing)以目的地址为关键字查找一个静态hash表来获得所需RS。

sh:源地址哈希调度(source hashing)以源地址为关键字查找一个静态hash表来获得需要的RS。

动态调度算法:wlc,lc,lblc

wlc:加权最小连接数调度,假设各台RS的权值依次为Wi,当前tcp连接数依次为Ti,依次去Ti/Wi为最小的RS作为下一个分配的RS。

lc:最小连接数调度(least-connection),IPVS表存储了所有活动的连接。LB会比较将连接请求发送到当前连接最少的RS。

lblc:基于地址的最小连接数调度(locality-based least-connection):将来自同一个目的地址的请求分配给同一台RS,此时这台服务器是尚未满负荷的。否则就将这个请求分配给连接数最小的RS,并以它作为下一次分配的首先考虑。

LVS的工作模式及其工作过程:

LVS 有三种负载均衡的模式,分别是VS/NAT(nat 模式)、VS/DR(路由模式)、VS/TUN(隧道模式)。

1、NAT模式(VS-NAT)

原理:首先负载均衡器接收到客户的请求数据包时,根据调度算法决定将请求发送给哪个后端的真实服务器(RS)。然后负载均衡器就把客户端发送的请求数据包的目标IP地址及端口改成后端真实服务器的IP地址(RIP)。真实服务器响应完请求后,查看默认路由,把响应后的数据包发送给负载均衡器,负载均衡器在接收到响应包后,把包的源地址改成虚拟地址(VIP)然后发送回给客户端。

优点:集群中的服务器可以使用任何支持TCP/IP的操作系统,只要负载均衡器有一个合法的IP地址。

缺点:扩展性有限,当服务器节点增长过多时,由于所有的请求和应答都需要经过负载均衡器,因此负载均衡器将成为整个系统的瓶颈。

2、直接路由模式(VS-DR)

原理:首先负载均衡器接收到客户的请求数据包时,根据调度算法决定将请求发送给哪个后端的真实服务器(RS)。然后负载均衡器就把客户端发送的请求数据包的目标MAC地址改成后端真实服务器的MAC地址(R-MAC)。真实服务器响应完请求后,查看默认路由,把响应后的数据包直接发送给客户端,不需要经过负载均衡器。

优点:负载均衡器只负责将请求包分发给后端节点服务器,而RS将应答包直接发给用户。所以,减少了负载均衡器的大量数据流动,负载均衡器不再是系统的瓶颈,也能处理很巨大的请求量。

缺点:需要负载均衡器与真实服务器RS都有一块网卡连接到同一物理网段上,必须在同一个局域网环境。

3、IP隧道模式(VS-TUN)

原理:首先负载均衡器接收到客户的请求数据包时,根据调度算法决定将请求发送给哪个后端的真实服务器(RS)。然后负载均衡器就把客户端发送的请求报文封装一层IP隧道(T-IP)转发到真实服务器(RS)。真实服务器响应完请求后,查看默认路由,把响应后的数据包直接发送给客户端,不需要经过负载均衡器。

优点:负载均衡器只负责将请求包分发给后端节点服务器,而RS将应答包直接发给用户。所以,减少了负载均衡器的大量数据流动,负载均衡器不再是系统的瓶颈,也能处理很巨大的请求量。

缺点:隧道模式的RS节点需要合法IP,这种方式需要所有的服务器支持"IP Tunneling"。

相关推荐
weixin_307779133 小时前
Clickhouse统计指定表中各字段的空值、空字符串或零值比例
运维·数据仓库·clickhouse
bubiyoushang8883 小时前
Windows11 WSL2 Ubuntu编译安装perf工具
linux·运维·ubuntu
xuanwojiuxin5 小时前
linux panic-propagation
linux·运维·服务器
藥瓿亭7 小时前
K8S认证|CKS题库+答案| 9. 网络策略 NetworkPolicy
linux·运维·docker·云原生·容器·kubernetes·cks
liuzhenghua667 小时前
Python任务调度模型
java·运维·python
黎相思7 小时前
应用层自定义协议与序列化
运维·服务器·网络
测试开发Kevin8 小时前
详解Jenkins Pipeline 中git 命令的使用方法
运维·jenkins
什么半岛铁盒8 小时前
Linux线程与进程关系及底层实现
java·linux·运维
langmeng1109 小时前
使用docker在3台服务器上搭建基于版本redis 6.x的一主两从模式
运维·redis·docker·容器·集群
jllllyuz9 小时前
如何为服务器生成TLS证书
运维·服务器·数据库