LVS集群的nat模式详解(负载均衡)

目录

一、LVS集群的介绍

1、LVS 相关术语:

 2、lvs工作原理

3、相关名词概念

 4、lvs集群的类型

二、lvs的nat模式

 1、介绍:

 2、数据逻辑:

3、nat实验部署 

环境搭建: 

1、lvs中要去打开内核路由功能,实现网络互联。

2、在web1,web2上安装配置httpd服务

3、在lvs上面配置ipvsadm

4、用nat ip 172.25.254.100 进行测试


一、LVS集群的介绍

集群:同一个业务系统,部署在多台服务器上,集群中,每一台服务器实现的功能没有差别,数据 和代码都是一样的
Cluster: 集群是为了解决某个特定问题将多台计算机组合起来形成的单个系统
Cluster常见的三种类型:
LB LoadBalancing (负载均衡)由多个主机组成,每个主机只承担一部分访问
HA High Availiablity (高可用) SPOF single Point Of failure
MTBF:Mean Time Between Failure 平均无故障时间,正常时间
MTTR:Mean Time To Restoration repair )平均恢复前时间,故障时间
A=MTBF/ MTBF+MTTR (0,1) 99%, 99.5%, 99.9%, 99.99%, 99.999%
SLA :Service level agreement(服务等级协议)是在一定开销下为保障服务的性能和可用性,服 务提供商与用户间定义的一种双方认可的协定。通常这个开销是驱动提供服务质量的主要因素。在 常规的领域中,总是设定所谓的三个 9 ,四个9来进行表示,当没有达到这种水平的时候,就会有一 些列的惩罚措施,而运维,最主要的目标就是达成这种服务水平。 停机时间又分为两种,一种是计划内停机时间,一种是计划外停机时间,而运维则主要关注计划外 停机时间
HPC :High-performance computing(高性能计算,国家战略资源)

1、LVS 相关术语:

LVS:Linux Virtual Server,负载调度器,内核集成。

VS: Virtual Server ,负责调度
RS:RealServer ,负责真正提供服务

 2、lvs工作原理

VS根据请求报文的目标IP和目标协议及端口将其调度转发至某RS,根据调度算法来挑选RS。

LVS(Linux Virtual Server)主要通过负载均衡技术,将来自客户端的请求转发给后端服务器,从而提供高性能、高可用的服务器集群服务。

LVS是Linux操作系统中一个优秀的负载均衡项目,它利用IP负载均衡技术,有效地将到达的请求分发到不同的服务器上,以实现高性能和高可用性。LVS的核心组件包括负载调度器(Load Balancer)、服务器池(Server Pool)和共享存储(Shared Storage)。请求首先到达负载调度器,然后根据预设的规则和算法,转发到服务器池中的某一台服务器进行处理。

3、相关名词概念

  • VSVirtual Server
  • RSReal Server
  • CIPClient IP
  • VIP: Virtual serve IP VS外网的IP
  • DIP: Director IP VS内网的IP
  • RIP: Real server IP
访问流程: CIP <--> VIP == DIP <--> RIP

 4、lvs集群的类型

  • lvs-nat: 修改请求报文的目标IP,多目标IPDNAT
  • lvs-dr 操纵封装新的MAC地址
  • lvs-tun: 在原请求IP报文之外新加一个IP首部
  • lvs-fullnat 修改请求报文的源和目标IP

下面我们来介绍一下lvs的nat模式,其他几种模式我会在后面介绍一下。

二、lvs的nat模式

 1、介绍:

  • 本质是多目标IPDNAT,通过将请求报文中的目标地址和目标端口修改为某挑出的RSRIP
  • PORT实现转发
  • RIPDIP应在同一个IP网络,且应使用私网地址;RS的网关要指向DIP
  • 请求报文和响应报文都必须经由Director转发,Director易于成为系统瓶颈
  • 支持端口映射,可修改请求报文的目标PORT
  • VS必须是Linux系统,RS可以是任意OS

 2、数据逻辑:

  • 1.客户端发送访问请求,请求数据包中含有请求来源(cip),访问目标地址(VIP)访问目标端口9000port
  • 2.VS服务器接收到访问请求做DNAT把请求数据包中的目的地由VIP换成RSRIP和相应端口
  • 3.RS1相应请求,发送响应数据包,包中的相应保温为数据来源(RIP1)响应目标(CIP)相应端口 (9000port
  • 4.VS服务器接收到响应数据包,改变包中的数据来源(RIP1-->VIP,响应目标端口(9000-->80
  • 5.VS服务器把修改过报文的响应数据包回传给客户端
  • 6.lvsNAT模式接收和返回客户端数据包时都要经过lvs的调度机,所以lvs的调度机容易阻塞

 客户请求到达vip后进入PREROUTING,在没有ipvs的时候因该进入本机INPUT,IPVS存在后访问请求在通过PREROUTING后被ipvs结果并作nat转发

因为 ipvs 的作用点是在 PREROUTING INPUT 链之间,所以如果在 prerouting 中设定规则会干扰 ipvs的工作。所以在做 lvs 时要把 iptables 的火墙策略全清理掉。

3、nat实验部署 

拓扑图

环境要求:

准备3台Linux虚拟机:

 一台作lvs进行负载均衡,其中要有2个网卡,一个为nat模式,一个为仅主机模式。

其他两台都为仅主机模式提供httpd服务,最终要实现的时在lvs上实现通过172.25.254.100,进行nat模式实现负载均衡。

Web服务器网关指向192.168.0.100
后端web服务器不需要连接外网

环境搭建: 

主机名
ipvip角色
lvs192.168.0.100172.25.254.100
调度器( VS
web1192.168.0.10null
真实服务器( RS
web2192.168.0.20null
真实服务器( RS
node4172.25.254.130
测试机

注意:在进行lvs负载均衡部署时,环境一定要成功没问题。!!!!

1、lvs中要去打开内核路由功能,实现网络互联。

[root@lvs ~]#vim /etc/sysctl.conf
#添加
net.ipv4.ip_forward = 1 
#查看
[root@lvs ~]#sysctl -p
net.ipv4.ip_forward = 1

2、在web1,web2上安装配置httpd服务

#web1上面,
[root@web1 ~]#dnf install httpd -y
[root@web1 ~]# echo web1 10 > /var/www/html/index.html
[root@web1 ~]# systemctl enable --now httpd


#web2上面,
[root@web2 ~]#dnf install httpd -y
[root@web2 ~]# echo web2 20 > /var/www/html/index.html
[root@web2 ~]# systemctl enable --now httpd

3、在lvs上面配置ipvsadm

#下载服务
[root@lvs ~]#yum install ipvsadm -y
#-s 调度算法 rr 轮询 -t 使用tcp协议 ,添加策略
[root@lvs ~]# ipvsadm -A -t 172.25.254.100:80 -s rr
[root@lvs ~]# ipvsadm -Ln
[root@lvs ~]# ipvsadm -a -t 172.25.254.100:80 -r 192.168.0.10:80 -m
[root@lvs ~]# ipvsadm -a -t 172.25.254.100:80 -r 192.168.0.20:80 -m
#查看策略
[root@lvs ~]# ipvsadm -Ln
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
  -> RemoteAddress:Port           Forward Weight ActiveConn InActConn
TCP  172.25.254.100:80 rr
  -> 192.168.0.10:80              Masq    1      0          0         
  -> 192.168.0.20:80              Masq    1      0          0  

#将其保存到配置文件中,使其可以当作服务启动
[root@lvs ~]# ipvsadm-save > /etc/sysconfig/ipvsadm
[root@lvs ~]# systemctl enable --now ipvsadm.service 

 ipvsadm 的详细用法将在后面介绍哦,现在先使用。

4、用nat ip 172.25.254.100 进行测试

以上就成功啦,实现简单的负载均衡,上面web服务写成不一样是为了实验结果明显,在企业中其内容一般都是一样的,这样就可以实现我们需要负载均衡的效果 

  • 12
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

左水水%

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值