LVS负载均衡集群——NAT模式实例

目录

1、集群的含义

    1.1遇到的问题

    1.2解决方案

2、企业集群分类

    2.1负载均衡集群

    2.2高可用群集

    2.3高性能运算群集

3、负载均衡集群架构

4、负载均衡群集工作模式分析(LVS)

    4.1 LVS的NAT模式

    4.2 IP隧道

    4.3 直接路由

    4.4 LVS工作模式总结和比较

5、LVS的负载调度算法

  5.1轮询(Round Robin)

    5.2加权轮询(Weighted Round Robin)

    5.3最少连接(Least Connections)

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

6、ipvsadm工具

7、NAT模式 LVS负载均衡集群部署

 

 

 

 

1、集群的含义

Cluster,集群、群集,为解决某个特定问题将多台计算机组合起来形成的单个系统

由多台主机构成,但对外只表现为一个整体

1.1遇到的问题

互联网应用中,随着站点对硬件性能、响应速度、

服务稳定性、数据可靠性等要求越来越高,单台服务器力不从心
1.2解决方案

使用价格昂贵的小型机、大型机

使用普通服务器构建服务集群

 

2、企业集群分类

2.1负载均衡集群  (之前做过的实验Nginx + Tomcat1 + Tomcat2)

LB: Load Balancing,负载均衡,多个主机组成,每个主机只承担一部分访问请求
提高应用系统的响应能力、尽可能处理更多的访问请求、减少延迟为目标,获得高并发、高负载(LB)的整体性能
LB的负载分配依赖于主节点的分流算法(接收、转发、连接数)

2.2高可用群集(HA 表示高可用 -》冗余、备份、缓解解决了单点故障)

HA: High Availiablity,高可用,避免 SPOF (single Point Of failure)
提高应用系统的可靠性、尽可能地减少中断时间为目标,确保服务的连续性,达到高可用
(HA)的容错效果
HA的工作方式包括双工和主从两种模式

2.3高性能运算群集

HPC: High-performance computing,高性能
提高应用系统的CPU运算速度、扩展硬件资源和分析能力为目标,获得相当于大型、超级计算机的高性能运算(HPC)能力高性能依赖于"分布式运算"、"并行计算",通过专用硬件和软件将多个服务器的CPU、内存等资源整合在一起,实现只有大型、超级计算机才具备的计算能力

 

拓展:

VRRP协议特点

VRRP协议:备份、冗余

根据优先级进行飘逸VIP

1、根据优先级选出主-备关系

2、主-备之间,可以以ping的方式检测对方的心跳(心跳线)

3、当主异常-》优先级下降-》当低于备的优先级-》VIP地址的飘逸

PS:VIP地址特性:只会存在于同一个热备组中优先级最高级的设备上

以上是抢占模式

VIP好处-》VIP占用一个ipv4 常规情况下,VIP占用的ipv4的地址也是不可重复的

①因为是虚拟IP,所以可以保护后端的真实IP

②VIP特性之一是可飘逸,相对于服务器的网卡IP而言,服务器的网卡是没法飘逸,当该节点发生故障,导致不可访问时

只能等待修复后,重新提供该网卡的ip ,但是VIP具有根据优先级进行飘逸的特性,所以只要在同一个热备组中,有服务器存活,就可以进行飘逸,不会影响对外暴露IP、提供服务

应用场景:高可用-》解决什么问题?-》单点故障

 

3、负载均衡群集架构

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

第二层,服务器池(Server Pool)

第三层,共享存储(Share Storage)

 

 

4、负载均衡群集工作模式分析(LVS)

负载均衡群集是目前企业用得最多的群集类型

群集的负载调度技术有三种工作模式

地址转换(NAT地址映射)

IP隧道(隧道模式叠加网络)

直接路由(DR NAT)

 

4.1 LVS的NAT模式

Network Address Translation,简称NAT模式

类似于防火墙的私有网络结构,负载调度器作为所有服务器节点的网关,即作为客户机的访问入口,也是各节点回应客户机的访问出口
服务器节点使用私有IP地址,与负载调度器位于同一个物理网络,安全性要优于其他两种方式

适用场景:LVS
单台LVS服务器的话:LVS如果做为LB-》工作在4层
HA-》LVS的负载均衡->LVS+keepalived—》可工作在4层和7层
并且,LB-4层的LVS负载均衡器能力在lvs Nginx apache haproxy常用的负载均衡器中是最强的

同时,在K8S中基于L4层的负载均衡技术———》默认适用的就是LVS

 

4.2 IP隧道

①RIP和DIP可以不处于同一物理网络中,RS的网关一般不能指向DIP,且RIP可以和公网通信。也就是

说集群节点可以跨互联网实现。DIP, VIP, RIP可以是公网地址。

②RealServer的通道接口上需要配置VIP地址,以便接收DIP转发过来的数据包,以及作为响应的

报文源IP。

③DIP转发给RealServer时需要借助隧道,隧道外层的IP头部的源IP是DIP,目标IP是RIP,而

RealServer响应给客户端的IP头部是根据隧道内层的IP头分析得到的,源IP是VIP,目标IP是CIP

④请求报文要经由Director,但响应不经由Director,响应由RealServer自己完成

⑤不支持端口映射

⑥RS的OS须支持隧道功能

 

4.3直接路由

①直接路由(Direct Routing):简称 DR 模式,采用半开放式的网络结构,与 TUN

模式的结构类似,但各节点并不是分散在各地,而是与调度器位于同一个物理网络。

②负载调度器与各节点服务器通过本地网络连接,不需要建立专用的 IP 隧道

直接路由,LVS默认模式,应用最广泛,通过请求报文重新封装一个MAC首部进行转发,

源MAC是DIP所在的接口的MAC,目标MAC是某挑选出的RS的RIP所在接口的MAC地址;

③源IP/PORT,以及目标IP/PORT均保持不变

 

4.4 LVS工作模式总结和比较

 

 

5、LVS的负载调度算法

5.1轮询(Round Robin)

将收到的访问请求按照顺序轮流分配给群集中的各节点(真实服务器)
均等地对待每台服务器,而不管服务器实际的连接数和系统负载。

5.2加权轮询(Weighted Round Robin)
根据调度器设置的权重值来分发请求,权重值高的节点优先获得任务,分配的请求数越多
保证性能强的服务器承担更多的访问流量

5.3最少连接(Least Connections)

根据真实服务器已建立的连接数进行分配
将收到的访问请求优先分配给连接数最少的节点
如果所有的服务器节点性能相近,采用这种方式可以更好的均衡负载

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

在服务器节点的性能差异较大时,可以为真实服务器自动调整权重性能较高的节点将承担更大比例的活动连接负载

 

(如果RR WRR分配、考虑的对象是访问请求的数量

最小连接:考虑的是真实服务器之上已经建立连接的连接数

加权最小连接:)

 

6、ipvsadm工具

 

 

7、NAT模式 LVS负载均衡集群部署

配置环境

LVS负载调度器:ens33:192.168.147.5 ens37:192.168.100.100(vmnet1)
Web 节点服务器1:192.168.147.4
Web 节点服务器2:192.168.147.3

客户端(win10):192.168.100.10 (Vmnet1)

 

####LVS WEB1 WEB2 三台机器关闭防火墙

##三台机器下载httpd

yum install -y httpd

开启服务

systemctl start httpd(启动过程慢耐心等待)

 

###LVS 添加Vmnet1网卡 ens37

编写vim ifcfg-ens37

systemctl restart network

ifconfig

 

####win10虚拟机(客户端)网关设置为192.168.100.100

 

测试ping 网关能不能ping通

 

###两台web服务器 网关设置为 192.168.147.5

分别重启下网卡

 

 

###LVS配置SNAT转发规则

vim /etc/sysctl.conf
net.ipv4.ip_forward=1

sysctl -p  #刷新一下

nat表:修改数据包中的源、目标IP地址或端口
POSTROUTING: 在进行路由判断之"后"所要进行的规则(SNAT/MASQUERADE)
PREROUTING: 在进行路由判断之"前"所要进行的规则(DNAT/REDIRECT)
-A: 在规则链的末尾加入新规则
-s: 匹配来源地址IP/MASK
-o 网卡名称匹配从这块网卡流出的数据
-i 网卡名称匹配从这块网卡流入的数据
-j 控制类型

 

 

###安装ipvsadm管理工具

yum install -y ipvsadm

 

###加载LVS内核模块

modprobe ip_vs #手动加载ip_vs模块
cat /proc/net/ip_vs #查看ip_vs版本信息

 

#注意:启动服务前必须保存负载分配策略,否则将会报错
ipvsadm-save > /etc/sysconfig/ipvsadm
或者
ipvsadm --save > /etc/sysconfig/ipvsadm
或者
touch /etc/sysconfig/ipvsadm

systemctl start ipvsadm.service

 

###、配置负载分配策略(NAT模式只要在服务器上配置,节点服务器不需要特殊配置)

 

###win10虚拟机(客户端)去 访问192.168.100.100

 

posted @ 2022-03-21 22:13  请叫喵总  阅读(56)  评论(0编辑  收藏  举报