目录
一 、调度器配置(test1 192.168.233.10)
2.返回报文时,vip地址还在,怎么样能让客户端来接收到响应
一 、调度器配置(test1 192.168.233.10)
lvs实现四层转发+nginx实现7层转发(动态),访问lvs的vip地址可以实现动静分离
lvs集群概念
全称是linux virtual server,是在Linux的内核层面实现负载均衡的软件。
主要作用:将多个后端服务器组成一个高可用高性能的服务器集群,通过负载均衡的算法将客户端的请求分发到后端的服务器上,来实现高可用和负载均衡。
阿里的SLB server loab balance 是用lvs+keepalive实现的。
集群和分布式
系统的拓展方式:
垂直扩展:向上扩展,增强性能更强的计算机。瓶颈:计算机本身设备的限制;硬件本身的性能瓶颈
水平扩展:向外拓展,增加设备。并行的运行多个服务,依靠网络解决内部通信的问题,cluster集群
集群:为了解决某个特定的问题将多台计算机组合起来形成的单个系统
集群的类型:三种类型
LB:load balance 负载均衡集群,多个主机组成,每个主机只承担一部分的访问请求
HA:high availiablity 高可用,在设计系统时,采取一定的措施,确保系统当中某一组件或者部分出现故障,整个系统依然能够正常的运行。为了维护系统的可用性,可靠性,容错性
HPC:high-performance computing 高性能集群,对响应时间,处理能力要求更高
系统可靠性指标
MYBF:Mean Time Between Failure 平均无故障时间
MTTR:Mean Time Resotration repair 平均故障恢复时间
A=MTBF/(MTBF+MTTR)
A指标要在0-1之间,A指标就是系统可用性的度量。0表示系统越不可用,1表示系统越可用
A指标要无限接近于1 (98%-99%合格;90%-95%不合格)
都是以小时为单位(1年365天8760小时)
停机时间和计划内时间不算在内
计划外时间,即故障时间,从故障发生到故障解决的总时间,计划外时间是我们必须关注的一个指标
lvs适用场景:
小集群不需要使用lvs,用nginx,大集群使用lvs
lvs集群中的术语
VS:vittual server lvs服务的逻辑名称,也就是我们外部访问lvs集群时使用的ip地址和端口
DS:director server lvs集群中的主服务器,也就是调度器(即nginx的代理服务器),是集群的核心,调度器就是用来接受客户端的请求转发到后端的服务器
RS:real server lvs集群中的真是服务器,后端服务器,用来接受DS转发来的请求并且响应结果
CIP:client ip 客户端的地址,也就是发起请求的客户端地址
VIP:virtual ip lvs集群使用的ip地址,对外提供集群访问的虚拟ip地址
DIP:director ip 调度器在集群当中的地址,用于和RS进行通信
RIP:real ip 后端服务器在集群当中的ip地址
lvs的工作方式
NAT模式:模式由调度器响应给客户端 (地址转换)
DR模式(直接路由模式):真实服务器直接响应给客户端
TUN模式:隧道模式
常用的模式:NAT模式和DR模式
NAT模式
在NAT模式下,lvs会将来自客户端的请求报文中的目标ip地址和端口,修改为lvs内部的ip地址和端口,然后把请求转发到后端服务器。
响应结果返回客户端的过程中,响应报文经过lvs的处理,把目标ip和端口修改成客户端的ip地址和端口。
原理:首先负载均衡器接收到客户的请求数据包时,根据调度算法决定将请求发送给哪个后端的真实服务器(RS)。
然后负载均衡器就把客户端发送的请求数据包的目标IP地址及端口改成后端真实服务器的IP地址(RIP)。
真实服务器响应完请求后,查看默认路由,把响应后的数据包发送给负载均衡器,负载均衡器在接收到响应包后,
把包的源地址改成虚拟地址(VIP)然后发送回给客户端。
优点:集群中的服务器可以使用任何支持TCP/IP的操作系统,只要负载均衡器有一个合法的IP地址。
缺点:扩展性有限,当服务器节点增长过多时,由于所有的请求和应答都需要经过负载均衡器,
因此负载均衡器将成为整个系统的瓶颈。
特点是地址转换
地址转换:内网——外网 转换的是源ip地址 SNAT
外网——内网 转换的是目的ip地址 DNAT
lvs的工具
ipvsadm工具,用来配置和管理lvs集群的工具
-A 添加虚拟服务器 vip
-D 删除虚拟服务器地址
-s 指定负载均衡的调度算法
-a 添加真是服务器
-d 删除真实服务器
-t 指定vip的地址和端口
-r 指定rip的地址和端口
-m 使用NAT模式
-g 使用DR模式
-i 使用隧道模式
-w 设置权重
-p 60 连接保持60s 设置连接保持时间
-l 列表查看
-n 数字化展示
算法
轮询 rr
加权轮询 wrr
最小连接 lc
加权最小连接 wlc
实验
数据流向

nginx 1 RS1 192.168.233.20
nginx2 RS2 192.168.233.30
test1 调度器 ens33 192.168.233.10 ens36 12.0.0.1
test2 客户端 12.0.0.10
步骤
一 、调度器配置(test1 192.168.233.10)

yum -y install ipvsadm* -y
配置ens33

systemctl restart network
配置ens36
cd /etc/sysconfig/network-scripts/
cp ifcfg-ens33 ifcfg-ens36
vim ifcfg-ens36

systemctl restart network

二、RS配置(nginx1和nginx2)
配置nginx1 192.168.233.20 修改网关

systemctl restart network
配置nginx2 192.168.233.30 修改网关
systemctl restart network
vim /usr/local/nginx/html/index.html
修改访问页面的内容
查看访问是否连接

三、地址转换(test1 192.168.233.10)
iptables -t nat -vnL 查看nat表是否有策略
1.

iptables -t nat -A POSTROUTING -s 192.168.233.0/24 -o ens36 -j SNAT --to 12.0.0.1
从192.168.233.0/24出的设备地址转换成12.0.0.1
2.

ipvsadm -C 清空原有的策略
ipvsadm -A -t 12.0.0.1:80 -s rr 指定好vip的地址和端口
先添加vip,虚拟服务器的ip和端口,然后再添加真实服务器
3.

ipvsadm -a -t 12.0.0.1:80 -r 192.168.233.20:80 -m
-a 添加真实服务器
-t 指定vip地址
-r 指定真实服务器的地址和端口
-m 指


180

被折叠的 条评论
为什么被折叠?



