LVS集群

集群实验:(nginx四层和七层+动静分离 ----- 23.10.18)

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

集群的目的就是为了解决系统的性能瓶颈

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

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

集群的类型:

1、负载均衡集群 LB ( loab blance ) 

多个主机组成,每个主机只承担一部分访问请求。靠负载均衡算法实现

2、高可用集群 HA ( high availiablity )

避免SPOF(single point of failure,既单点故障)。系统当中有一部分组件出现故障,可以保障整个系统继续运行

主从 ----- 同步(某些特定服务需要这个概念) ----- 负载均衡

3、高性能集群 HPC ( high-performance computing )

核心:快速转发、快速响应

集群的可靠性指标:

1、MTBF  ( mean time between failure )

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

2、MTTR

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

3、A

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

A=MTBF/(MTBF+MTTR)×100%

1年=365天=8760小时

99.9%  8760*0.1%=8.76(h)

故障时间最多:8.76h

停机时间:故障时间

计划内停机:预定时间内的维护或者检修时间(根据企业或者服务需求配置自定义)

计划外停机:(运维人员关注的就是计划外停机)7*24h

发版期

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

1、可扩展性

集群必须要有很好的可扩展性,要具备随时可以添加/删除设备的能力(动态扩缩容能力)

2、可靠性

集群中如果有节点发生故障,可以快速检测并自动切换。

3、负载均衡

合理分配每台服务器的负载,避免单个节点过载,影响整体性能

4、可维护性

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

5、安全性

防止恶意攻击以及数据泄密、数据丢失

6、易用性

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

LVS集群( linux virtural server )

只能部署在Linux系统,通过内核层面实现负载均衡的软件

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

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

阿里的SLB(server load balance)基于LVS+keepalived实现

lvs集群中的术语:

1、VS ( virtual server )

LVS服务的逻辑名称,外部访问LVS集群时提供的一个虚拟IP弟子和端口

2、DS ( director server )

LVS集群的主服务器,也叫调度器,是整个LVS集群的核心。接收客户端的请求转发到后端RS

3、RS ( real server )

LVS的后端的真实服务器的IP。接收到了调度器DS的请求之后,返回响应的结果

4、CIP ( client ip )

客户端的IP地址

5、VIP ( virtual ip server )

对外提供访问的统一的虚拟IP地址

6、DIP ( director ip server )

调度器在LVS内部使用的IP地址。用于和真实服务器进行通信

7、RIP

后端真实服务器的IP地址

LVS访问的大致流程:

step1:客户端都是访问vip

step2:DS接收到请求之后,根据调度算法选择好后端服务器(RS),请求发给RS

step3:RS处理请求并将响应发送到DS

step4:DS把RS的响应包装成自己的响应,发送到客户端。

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

LVS负载均衡方式:

NAT   DR   TUN(隧道模式)

其中NAT和DR时最常用的方式

1、NAT模式

最常用的LVS负载方式之一

地址转换

NAT模式:

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

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

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

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

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

成公网地址,响应给用户

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

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

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

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

DR模式(直接路由模式)

请求由路由器调度完成,但是响应客户端由RS真实服务器直接响应,不需要通过调度器

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

TUN(隧道协议)

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

设置LVS集群:

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

-A  添加虚拟服务器

-D  删除整个虚拟服务器

-s(小写)  指定负载调度的算法【静态调度  动态调度】

静态调度(固定调度)

rr 轮询;

wrr 加权轮询;

dh 目的地址hash;

sh 源地址hash

dh和sh都是根据IP地址查找静态hash表,获取需要真实的RS地址

动态调度:

lc  最小连接数调度

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

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

-a  添加真实服务器

-d  删除真实服务器

-t  指定VIP地址的端口号

-r  指定RIP的端口号

-m  表示使用nat模式

-g  表示使用DR模式

-i  表示使用TUN模式

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

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

In  以数字和列表的形式查看Ivs的配置信息

你可能感兴趣的:(lvs,服务器,运维)