lvs集群

[复制链接]
发表于 2026-2-23 21:52:18 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
集群

概念

linux的内核层面实现负责平衡的软件
重要作用:将多个后端服务器构成一个高可用,高性能的服务器集群,通过负载平衡的算法将客户端的哀求分发到后端的服务器上。来实现高可用和负载平衡。
阿里的SLB(server loab balance),是用lvs+keepalive实现的

体系的扩展方式:
垂直扩展:向上扩展,增强,性能更强的盘算机。瓶颈,盘算机自己装备的限定,硬件自己的性能瓶颈
水平扩展:向外扩展,增长装备。并行的运行多个服务,依靠网络办理内部通讯的题目,cluster 集群

集群:为相识决某个特定的题目将多台盘算机组合起来形成的单个体系


集群的三种范例:

LB:load balance 负载平衡集群,多个主机构成,每个主机只负担一部门的访问哀求
HA:high availablity 高可用,在涉及体系时,接纳肯定的步伐,确保体系当中某一组件大概部门出现故障,整个体系依然可以大概正常的运行。为了维护体系的可用性,可靠性,容错性
HPC:high-performance computing 高性能集群,对相应时间,处理处罚本领要求更高

体系可靠性指标:

MTBF:Mean time Between Failure 匀称无故障时间
MTTR:Mean Time Resotration repair 匀称故障规复时间
A=MTBF/(MTBF+MTTR)
0-1
A指标要在0-1之间,A指标就是体系可用性的度量,越靠近0表现体系越不可用,靠近1表现体系越可用
A指标要无穷靠近于1
都是以小时为单位

停机时间:
筹划内时间:筹划内的时间可用忽略不计,但是现在也算在内
筹划外时间:故障时间,从故障发生到故障办理的总时间,尤其是运维,筹划外时间是我们必须关注的一个指标

lvs集群

lvs实用场景:

小集群不必要实用lvs,用nginx即可;大集群实用lvs。

lvs集群中的术语:

vs :vittual server,lvs服务的逻辑名称,也就是我们外部访问vs集群时利用的ip地点和端口
ds :director server,lvs集群中的主服务器,也就是调治器(nginx的署理服务器),是集群的核心
调治器就是用来吸收客户端的哀求转发到后端的服务器
RS :real server,lvs集群中的真实服务器,后端服务器,用来吸收DS调治器转发来的哀求,而且相应结果
CIP :client ip,客户端的ip地点,发起哀求的客户端地点
VIP :virtual ip,lvs集群利用的ip地点,对外提供集群访问的假造ip地点
DIP :director ip,调治器在集群当中的地点,用于和RS通讯
RIP :real ip,后端服务器在集群当中的ip地点

lvs的工作方式:

NAT模式:由调治器相应给客户端
DR模式:直接路由模式,真实服务器直接相应给客户端
TUN隧道模式

NAT模式

在nat模式下,lvs会未来自客户端的哀求报文中的目的ip地点和端口修改为lvs内部的ip地点和端口,然后把哀求转发到后端服务器
相应结果返回客户端的过程中,相应报文颠末lvs的处理处罚,把目的ip和端口修改成客户端的ip地点和端口
优点:

对于客户端来说,哀求的目的地点始终稳固,客户端的设置不必要做特别修改,只是调治器在对ip和端口举行转换,后端的服务器也不必要更改任何设置
缺点:

性能丧失,哀求和相应都必要调治器做地点转换,影响性能,
nat模式只能有一个调治器,调治器故障,整个集群就不能正常工作

地点转换:

内网------外网:转换的源ip地点 snat
外网------内网:转换目的地点 dnat

lvs的工具

ipvsadm工具,用来设置和管理lvs集群的工具
-A 添加假造服务器
-D 删除假造服务器
-s 指定负载平衡的调治算法
     算法:
        默认轮询:rr
        加权轮询:wrr
        最小毗连:lc
        加权最小毗连:wlc
-a 添加真实服务器
-d 删除真实服务器
-t 指定vip的地点和端口
-r 指定rip的地点和端口
-m 利用nat模式
-g 利用DR模式
-i 利用隧道模式
-w 设置权重
-p 设置毗连保持时间,如:-p 60 表现毗连保持60秒
-l 列表查察
-n 数字化展示
-C 清空原有的计谋

实行:

数据流向:

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

步调:

1、调治器设置(test1 192.168.233.10)
添加一个网卡

设置网卡ens33

设置网卡ens36(详细网卡ifconfig查察)
cd /etc/sysconfig/network-scripts/
cp ifcfg-ens33 ifcfg-ens36
vim ifcfg-ens36

systemctl restart network 重启网卡
ifconfig查察是否收效
2、RS设置(nginx1和nginx2)
设置nginx1 192.168.233.20 修改网关

设置nginx2 192.168.233.30 修改网关

systemctl restart network 重启网卡
vim /usr/local/nginx/html/index.html
修改访问页面的内容
查察访问是否毗连

3、地点转换(test1 192.168.233.10)
iptables -t nat -vnL 查察nat表是否有计谋
假如有,iptables -D删除

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
ipvsadm -C 清空原有的计谋
ipvsadm -A -t 12.0.0.1:80 -s rr  指定好vip的地点和端口
先添加vip,假造服务器的ip和端口,然后再添加真实服务器

ipvsadm -a -t 12.0.0.1:80 -r 192.168.233.20:80 -m
-a 添加真实服务器
-t 指定vip地点
-r 指定真实服务器的地点和端口
-m 指定模式为nat模式
ipvsadm -ln 查察
开启路由转发功能:
vim /etc/sysctl.conf

4、客户端(test2  12.0.0.10 )
修改客户端的ip地点和网关

systemctl restart network 重启网卡
实行结果:


DR模式:

直接路由模式
特点:

调治器在整个lvs集群中是最紧张的,在nat模式下,既负责吸收哀求,同时根据负载平衡的算法转发流量,相应发生给客户端。
DR模式下的调治器依然负责吸收哀求,同时也根据负责平衡算法转发流量到RS,相应直接由RS相应给客户端

直接路由(Direct Routing)是一种二层转发模式,二层转发的是数据帧。根据源mac地点和目的mac地点举行转发。
不会修改数据包源ip和目的ip,根据数据包mac地点举行转发。
DR模式下,lvs也是维护一个假造的ip地点,全部的哀求都是发送到这个vip,既然是走二层转发,当客户端的哀求到达调治之后,根据负载平衡的算法选择一个RS,修改vip服务器的目的mac酿成RS的mac地点,RS处理处罚完哀求之后,根据报文当中客户端的源mac地点直接把相应发送到客户端即可,不必要走调治器了

数据流向:


大概出现的题目:

1、调治器设置了vip,RS上也设置了vip地点
vip地点辩说,调治器和RS都在同一网段,ARP通讯的紊乱。由于是整个局域网广播,全部的装备都收到了
怎么把lo这个回环的相应把他屏蔽掉,只要本机的物理ip地点相应。
修改内核参数:
arp_ignore=1:体系的物理ip地点才会相应ARP哀求,lo不会相应ARP哀求
2、返回报文时,vip地点还在,怎么样能让客户端来吸收到相应
修改内核参数:
arp_announce=2:体系倒霉用ip数据包的源地点来相应ARP哀求,直接发送物理接口的ip地点

实行:

nginx1 RS(真实ip) 192.168.233.20
nginx2 RS  192.168.233.30
vip 192.168.233.100
调治器 192.168.233.10
客户端  192.168.233.40

步调:

1、调治器设置(test1 192.168.233.10)

添加假造网卡ens33:0


修改调治器的相应参数
vim /etc/sysctl.conf

sysctl -p  添加计谋

2、RS设置(nginx1和nginx2)[双方都要修改]
修改静态页面的展示内容
vim /usr/local/nginx/html/index.html
systemctl restart nginx    启动nginx
添加回环地点
cd /etc/sysconfig/network-scripts/
cp ifcfg-lo ifcfg-lo:0
vim ifcfg-lo:0
nginx1:

nginx2:

ifup lo:0,开启假造网卡lo:0
ifconfig 查察网卡
添加lo:0接口做为vip
route add -host 192.168.233.100 dev lo:0
设置ip地点为192.168.233.100的地点添加到回环接口,做为lvs的vip,通过路由的模式转发到RS,能让vip辨认到真实的服务器
修改RS真实服务器的内核相应
vim /etc/sysctl.conf

实行结果:


lvs的三种工作模式区别:



回复

使用道具 举报

登录后关闭弹窗

登录参与点评抽奖  加入IT实名职场社区
去登录
快速回复 返回顶部 返回列表