首页
找靠谱产品
找解决方案
找靠谱公司
找案例
找对的人
专家智库
悬赏任务
SAAS
ToB门户
了解全球最新的ToB事件
论坛
潜水/灌水快乐,沉淀知识,认识更多同行。
ToB圈子
加入IT圈,遇到更多同好之人。
微博
Follow
记录
Doing
博客
Blog
文库
业界最专业的IT文库,上传资料也可以赚钱
下载
分享
Share
排行榜
Ranklist
相册
Album
应用中心
qidao123.com ToB IT社区-企服评测·应用市场
»
论坛
›
数据库
›
SQL-Server
›
lvs集群
返回列表
发新帖
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的三种工作模式区别:
回复
使用道具
举报
返回列表
浏览过的版块
DevOps与敏捷开发
人工智能
.Net
Oracle
SAAS
物联网
分布式数据库
移动端开发
数据仓库与分析
勿忘初心做自己
+ 我要发帖
登录后关闭弹窗
登录参与点评抽奖 加入IT实名职场社区
去登录
微信订阅号
微信服务号
微信客服(加群)
H5
小程序
快速回复
返回顶部
返回列表