目录
一、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常见的三种类型: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,负载调度器,内核集成。
2、lvs工作原理
VS根据请求报文的目标IP和目标协议及端口将其调度转发至某RS,根据调度算法来挑选RS。
LVS(Linux Virtual Server)主要通过负载均衡技术,将来自客户端的请求转发给后端服务器,从而提供高性能、高可用的服务器集群服务。
LVS是Linux操作系统中一个优秀的负载均衡项目,它利用IP负载均衡技术,有效地将到达的请求分发到不同的服务器上,以实现高性能和高可用性。LVS的核心组件包括负载调度器(Load Balancer)、服务器池(Server Pool)和共享存储(Shared Storage)。请求首先到达负载调度器,然后根据预设的规则和算法,转发到服务器池中的某一台服务器进行处理。
3、相关名词概念
- VS:Virtual Server
- RS:Real Server
- CIP:Client 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,多目标IP的DNAT
- lvs-dr: 操纵封装新的MAC地址
- lvs-tun: 在原请求IP报文之外新加一个IP首部
- lvs-fullnat: 修改请求报文的源和目标IP
下面我们来介绍一下lvs的nat模式,其他几种模式我会在后面介绍一下。
二、lvs的nat模式
1、介绍:
- 本质是多目标IP的DNAT,通过将请求报文中的目标地址和目标端口修改为某挑出的RS的RIP和
- PORT实现转发
- RIP和DIP应在同一个IP网络,且应使用私网地址;RS的网关要指向DIP
- 请求报文和响应报文都必须经由Director转发,Director易于成为系统瓶颈
- 支持端口映射,可修改请求报文的目标PORT
- VS必须是Linux系统,RS可以是任意OS系
2、数据逻辑:
- 1.客户端发送访问请求,请求数据包中含有请求来源(cip),访问目标地址(VIP)访问目标端口(9000port)
- 2.VS服务器接收到访问请求做DNAT把请求数据包中的目的地由VIP换成RS的RIP和相应端口
- 3.RS1相应请求,发送响应数据包,包中的相应保温为数据来源(RIP1)响应目标(CIP)相应端口 (9000port)
- 4.VS服务器接收到响应数据包,改变包中的数据来源(RIP1-->VIP),响应目标端口(9000-->80)
- 5.VS服务器把修改过报文的响应数据包回传给客户端
- 6.lvs的NAT模式接收和返回客户端数据包时都要经过lvs的调度机,所以lvs的调度机容易阻塞
客户请求到达vip后进入PREROUTING,在没有ipvs的时候因该进入本机INPUT,当IPVS存在后访问请求在通过PREROUTING后被ipvs结果并作nat转发
3、nat实验部署
拓扑图
环境要求:
准备3台Linux虚拟机:
一台作lvs进行负载均衡,其中要有2个网卡,一个为nat模式,一个为仅主机模式。
其他两台都为仅主机模式提供httpd服务,最终要实现的时在lvs上实现通过172.25.254.100,进行nat模式实现负载均衡。
环境搭建:
主机名
| ip | vip | 角色 |
lvs | 192.168.0.100 | 172.25.254.100 |
调度器(
VS
)
|
web1 | 192.168.0.10 | null |
真实服务器(
RS
)
|
web2 | 192.168.0.20 | null |
真实服务器(
RS
)
|
node4 | 172.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服务写成不一样是为了实验结果明显,在企业中其内容一般都是一样的,这样就可以实现我们需要负载均衡的效果