LVS集群简介

时间:2024-07-17 07:01:13

一、集群

系统的拓展方式:

垂直扩展 :向上扩展,增强设备的性能。两个瓶颈:计算机本身设备的限制,以及硬件本身的性能瓶颈。

水平扩展 :向外扩展,增加设备,并行地运行多个服务,依靠网络解决内部通信的问题。这也就是所谓的cluster(集群)。

1.1 集群的类型

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

一般的说法有三种类型:

LB :load balance ,负载均衡,多个主机组成,每个主机只承担一部分的访问结果

HA :high availability ,高可用,在设计系统时,采取一定的措施,确保即使系统当中某一组件或者部分出现故障,整个系统依然能正常运行。为了维护系统的可用性、可靠性、容错性。

HPC :high-performance computing :高性能,对响应时间,处理能力要求更高

1.2 系统可靠性指标

MTBF :Mean Time Between Failure :平均无故障时间

MTTR :Mean Time To Repair :平均故障恢复时间

A=MTBF/(MTBF+MTTR) ,显然A指标在0-1之间

  • A指标就是系统可用性的度量,越接近0表示系统越不可用,越接近1表示系统越可用。

  • 现在主流的指标(对外宣称)为99.99%以上,90%-95%就不合格,实际98%-99%就算合格。

停机时间

计划内时间:以前可以不计,但现在也算在内

计划外时间:故障时间,从故障发生到故障解决的总时间,尤其对运维来说,计划外时间是我们必须关注的一个指标。

一旦发生故障,当天事必须当前解决;没有解决之前,人不可以离开;解决完之后必须生成报告,备案。

1.3 LVS集群

LVS :Linux virtual server

章文嵩发起的开源项目,Linux的内核层面实现负载均衡的软件。

主要作用:将多个后端服务器组成一个高可用、高性能的服务器集群。通过负载均衡的算法,将客户端的请求分发到后端的服务器上,通过这种方式来实现高可用和负载均衡。

阿里的SLB,server load balance,就是用LVS+keepalive实现的。

LVS适用场景:

小集群不需要适用LVS,用Nginx就足够了,大集群适用LVS。

1.4 LVS集群中的术语

  • VS :Virtual Server ,LVS服务的逻辑名称,也就是我们在外部访问LVS集群时使用的IP地址和端口

  • DS :Director Server ,LVS集群中的主服务器,也就是调度器,类似Nginx的代理服务器,调度器是集群的核心,用来接收客户端的请求转发到后端服务器

  • RS :Real Server ,LVS集群中的真实服务器,也可以理解为后端服务器,用来接收DS转发过来的请求,并响应结果

  • CIP :Client IP ,客户端IP地址,也就是发起请求的客户端的IP地址

  • VIP :Virtual IP ,LVS集群使用的IP地址,对外提供集群访问的虚拟IP地址

  • DIP :Director IP ,调度器在集群当中的IP地址,用于和RS通信

  • RIP :Real IP ,后端服务器在集群当中的IP地址。

1.5 基本通信流程

CIP 访问 VIP ,相当于访问DS,DS根据负载均衡算法,把请求转发给RS,

RS响应的模式有两种,一是RS响应发送到DS,DS再转发给CIP;二是RS把响应直接发送给CIP。

二、 LVS的工作模式

2.1 LVS的三种工作模式

  • NAT模式 :响应由调度器响应给客户端

  • DR模式 :直接路由模式,真实服务器直接响应给客户端

  • TUN模式 :隧道模式

常用的模式就是NAT模式DR模式

NAT DR TUN
优点 地址转换,配置简单 性能最好 WAN,可以实现较远距离的数据包传输
缺点 调度器性能有瓶颈 不支持跨网段 需要开通VPN,是专用通道
RS的要求 无限制 必须禁止非物理接口的ARP响应 要支持隧道模式
RS的数量 10-20台左右 100台左右 100台左右

2.2 ipvsadm

ipvsadm :用来配置和管理LVS集群的工具

选项

  • -A :添加虚拟服务器 vip

  • -D :删除虚拟服务器地址

  • -s :指定负载均衡的调度算法

    • rr :默认,轮询
    • wrr :加权轮询
    • lc :最小连接
    • wlc :加权最小连接
  • -C :清空原有策略

选项

  • -a :添加真实服务器

  • -d :删除真实服务器

  • -t :指定vip的地址和端口

  • -r :指定rip的地址和端口

  • -m :使用NAT模式

  • -g :使用DR模式

  • -l :使用隧道模式

  • -w :设置权重

  • -p 60 :连接保持60,设置连接保持时间

  • -l :列表查看

  • -n :数字化展示