LVS集群

集群的概念:为解决某个特定的问题,将多个计算机组合起来形成一个单系统

集群的目的就是为了解决新系统的性评比

垂直扩展:向上扩展,增强单个机器的性能。升级硬件 。硬件升级是有瓶颈的

水平扩展:向外扩展,增加设备,并行运行多个服务,主要是通过网络和算法来调度服务分配的问题。

LVS集群_第1张图片

集群的类型:

负载均衡集群:LB load blance 多个主机组成,每个主机只承担一部分访问请求,靠负载均衡的算法来实现。

高可用集群:HA high availiablity 避免SPOF(single point of failuer)单点故障。系统当中有一部分组件出现故障,可以保障整个系统继续运行。

主从–同步(某些特定的服务需要)----负载均衡

HPC:high-performance computing 快速转发,快速响应。


集群的可靠性指标:

MTBF :mean time between failure 系统在正常运行期间无故障的平均时间,一般用小时或者天数来表示。MTBF值越高,系统的可靠性越高,出现故障的概率也越小。

MTTR:系统从发生故障到恢复正常运行的平均时间。一般用小时或者天数来表示,MTTR值越小,说明系统恢复故障的能力越强。

A:系统的可靠性指标 A值越高越好

A=MTBF/(MTBF+MTTR)

99.9%

1年等于365天=8760小时

99.9=8760*0.1%=8.76小时

99.999=52.6分钟

99.9999=31秒

停机时间:

计划内停机:指的是预定时间内的维护或者检修时间。时间根据企业或者服务配置来自己定义的

计划外停机:运维人员关注的就是计划外。7*24小时。

发版期:

设计集群时需要考虑的一些原则

1、可扩展性:集群要有随时可以添加或者删除设备的能力。动态的扩缩容。

2、可靠性:在集群当中如果有节点发生故障,可以快速检测并且自动切换。

3、负载均衡:能够合理的分配每台服务器的负载 避免单个节点过载。影响整体的性能。

4、可维护性:能够方便的进行配置,部署,维护,监控。降低成本

5、安全性:防止恶意的攻击,以及数据泄密,数据丢失。

6、易用性:相关的工作人员,可以方便的进入集群,能够快速的开发,部署,测试等等

LVS:linux virtual server 是一个部署在linux系统通过内核层面来实现负载均衡的软件

开发者:章文嵩 发起的一个开源项目。

主要作用:多个后端服务器组成一个即是高可用,高性能,负载均衡的高性能集群。通过负载均衡的算法将客户端请求发送到后端服务器。

阿里的SLB:server load balance 基于lvs+keepalived实现。


LVS集群当中的术语:

vs(virtual server )lvs服务的逻辑名字,外部访问LVS集群时一个虚拟IP地址和端口号

DS:Director server:lvs集群当中的主服务器,也叫调度器,是整个lvs集群的核心,接受客户端的请求,转发到后端RS

RS:real server lvs的后端的真实服务器的IP ,接受到了调度器,DS的请求之后,由他来返回响应的结果

CIP:clinet ip 客户端的ip地址

vip:virtual ip 对外提供访问的统一虚拟IP地址

DIP:Director ip 调度器在lvs内部使用的ip地址 用于和真实服务器进行通信

RIP:后端真实服务器的ip地址


Lvs访问的大致流程:

LVS集群_第2张图片

1、客户端访问都是访问vip

2、DS接受到请求,根据调度算法选择好后端服务器(rs)

请求发送给rs

3、RS处理请求并将响应发送到DS调度器

4、DS调度器把RS的响应包装成自己响应。发送到客户端

客户端即不知道请求的真实服务器,也不知道响应的真实服务器是谁

lvs的负载均衡方式:

NAT DR TUN

其中NAT和DR最常用的方式


NAT模式:

最常用的负载均衡方式之一

地址转换。

LVS集群_第3张图片

1、在调度器上配置双网卡,一个指内,一个指外

2、配置一个可以和公网进行通信的vip

3、配置转发策略,如果访问vip ,就会把请求的数据转发到后台的RS真实服务器

请求的格式:报文。调度器会修改请求的目标IP地址和端口

12.0.0.1:80 192.168.233.30:80

4、RS处理完请求之后响应客户端 ,先到调度器,调度器进行地址转换,把内网地址转换成公网地址,响应给用户。

192.168.233.30:80 -------调度器------nat转换器------12.0.0.1:80

数据请求进入调度器做的请求报文中IP地址的修改

数据响应进入调度器,根据NAT配置进行地址转换

180.0.0.10----根据算法选择后端RS-----192.168.233.10-----响应-----调度器----nat转成180.0.0.10 -----用户

调度器的内网IP地址和真实服务器的IP地址要在同一网段。


nat:对于客户端来说,请求地址始终不变,客户端不需要修改任何配置,转发由调度器通过算法来完成,后端服务器只管接受响应。也不需要修改任何配置。

性能损失和单点故障

DR:直接路由模式。他有一个特点,请求由调度器完成,但是响应客户端由真实服务器来直接响应。不需要通过调度器

好处是:性能高,而且可以配置代理地址的vip高可用。不存在单点故障。

tun:隧道协议,使用隧道协议把请求转发到后端服务器,需要在后端服务器配置隧道协议

LVS集群_第4张图片


设置LVS

ipvsadm工具:管理ipvs内核模块的命令行工具,可以用于配置和管理lvs集群

-A:添加虚拟服务器

-D:删除整个虚拟服务器

-s:指定负载调度算法 :

rr 轮询

wrr 加权轮询

dh 目的地址hash

根据ip地址查找静态hash表,获取需要真实的RS地址

sh 源地址hash

动态调度:

lc:最小连接数调度

wlc:加权最小连接数调度

权重高的,转发的就多,为了额避免性能瓶颈,在跟上最小连接数分配,可以把请求往连接数量较小的服务器继续转发

lblc:基于地址的最小连接数调度。

将来自同一个目的地址的请求分配给RS,如果这台服务器尚未满负荷,就会将这个请求分配给连接数最小的rs,而且在下一次转发时会优先考虑这台RS.

-a:添加真实服务器

-d:删除真实服务器

-t:指定vip地址的端口号

-r:指定RIP的端口号

-m:表示使用nat模式

-g:表示使用DR模式

-i:表示使用TUN模式

-w 设置真实服务器的权重

-p 60:设置连接保持的时间60秒(默认不带 )

-ln:以数字和列表的形式查看lvs的配置信息

nat模式的部署方式:

负载调度器:配置双网卡:192.168.233.10(内网) 12.0.0.1(ens36)

二台后端web真实服务器:192.168.233.20 192.168.233.30

一台NFS

LVS集群_第5张图片

你可能感兴趣的:(lvs)