lvs集群:
linux virtual server
主要作用:将多个后端服务器组成一个高可用,高性能的服务器集群,通过负载均衡的算法将客户端的请求分发到后端的服务器上。实现高可用和负载均衡
阿里的SLB
server loab balance lvs+keepalive实现的
集群和分布式:
系统的拓展方式:
垂直扩展:向上扩展,增强,性能更强的计算机。瓶颈,计算机本身设备的限制,硬件本身的性能瓶颈
水平扩展:向外扩展,增加设备。并行地运行多个服务,依靠网络解决内部通信的问题,cluster 集群
集群:为了解决某个特定的问题将多台计算机组合起来形成的单个系统。
集群的类型,三种类型:
LB:loab balance 负载均衡集群 多个主机组成 每个主机只承担一部分的访问请求
HA:high availiablity高可用 在设计系统时,采取一定的措施,确保系统当中某一组件或者部分出现故障,整个系统依然能够正常的运行。为了什么维护的系统的可用性,可靠性,容错性。
HPC:high-performance computing 高性能 对响应时间,处理能力要求更高。
系统可靠性指标:
MTBF:Mean time Between Failure 平均无故障时间
MTTR:Mean Time Restoration repair 平均故障恢复时间
A=MTBF/(MTBF+MTTR)
A指标在 0-1之间,A指标是系统可用性的度量,接近于0标准系统越不可用 接近于1系统越可用
即A要无限接近于1 99.99% 98%
90-95%不合格
一年1-2次 98-99% 比较合格了
都是以小时为单位:
99.99% ---- 52.6分钟 从发现故障到解决故障差不多一小时
停机时间:
计划内时间,可以忽略不计,但现在也算在内
计划外时间=故障时间 ,从故障发生到故障解决的总时间,尤其是运维,计划外时间是必须关注的一个指标。
当天事必须当天解决---没解决之前人不能离开---解决完之后必须生成报告,备案
日报 周报 月报 年报
lvs适用场景:
lvs集群中的术语:
VS virtual 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模式:
常用的lvs的模式之一
nat模式下,lvs会将来自客户端的请求报文中的目标ip地址和端口修改为lvs内部的ip地址和端口
然后把请求转发到后端服务器。
响应结果返回客户端的过程中,响应报文经过lvs的处理,把目标ip和端口修改成客户端的ip地址和端口。
好处在于,对于客户端来说,请求的目标地址始终不变,客户端的配置不需要做特殊修改,只是调度器在对ip和端口进行转换,后端的服务器不需要更改任何配置。
缺点:性能损失,请求和响应都需要调度器做地址转换,影响性能,
nat模式只能有一个调度,调度器故障,整个集群就不能正常工作
地址转换:
内网---外网 转换源ip地址 snat
外网---内网 转换目的地址 dnat
lvs的工具
ipvsadm工具 用来配置和管理lvs集群的工具
-A 添加虚拟服务器 vip
-D 删除虚拟服务器地址
-s 指定负载均衡的调度算法
算法:
rr 默认 轮询
加权轮询 wrr
最小连接 lc
加权最小连接 wlc
-a 添加真实服务器
-d 删除真实服务器
-t 指定vip的地址和端口
-r 指定rip的地址和端口
-m 使用nat模式
-g 使用DR模式
-i 使用隧道模式
-w 设置权重
-p 60 连接保持时间60秒 设置连接保持时间
-l 列表查看
-n 数字化展示