LVS 集群工作原理

时间:2021-02-02 17:05:39

1. 集群:集群(cluster )就是一组计算机,它们作为一个整体向用户提供一组网络资源,单个计算机系统就是一个集群节点(node)。

2. 集群种类:

  <1>. 负载均衡集群(Load Balance),简称LB集群

  <2>. 高可用集群(High Availability),简称HA集群

  <3>. 高性能计算(High Perfermance Computing)集群,简称HPC集群

2.1 负载均衡(LB)实现手段:

  • 硬件:F5负载均衡器
  • 软件:LVS(4层, 传输层) - Nginx(7层,应用层)

    LVS(4层)模式:

    /VS/NAT

    LVS-VS/DR

    /VS/TUN

 

LVS: Linux Virtual Server  是Linux 虚拟服务器,是一个虚拟的服务器集群系统,是中国国内最早出现*软件项目之一。

中文站点:http://zh.linuxvirtualserver.org

 

LVS 集群采用三层机构:

LVS 集群工作原理

-A 负载调度器(分发器) (Load balancer):

它是整个集群对外的前端机,负责将客户的请求发送到一组服务器上执行,而客户认为服务是来自一个IP地址上的(我们可称之为VIP虚拟IP地址)。

 

-B 服务器池(server pool):

是一组真正执行客户请求的服务器,执行的服务有WEB , MAIL, FTP, DNS 等。

 

-C 共享存储(shared storage):

它为服务器池提供一个共享的存储区,这样很容易使服务器池拥有相同的内容,提供相同的服务。

 

LVS负载均衡有三种包转发方式:

 NAT(网络地址映射)

 IP Tunneling(IP隧道)

 Direct Routing(直接路由)

不同的转发模式决定了不同的集群(cluster)的网络结构

 

(1). NAT(网络地址映射)——通过网络地址转换

NAT方式可支持任何的操作系统,以及私有网络,并且只需要一个Internet IP地址,但是整个系统性能受到限制,因为执行NAT每次需要重写包,

有一定的延迟;另外,大部分应用有80%的数据是从服务器流向客户机,也就是用户请求非常短,而服务器的回应非常大,对负载均衡器形成很大的压力,

成为了新的瓶颈。

(2). IP Tunneling(IP隧道)

director(分发器)分配请求到不同的real server, real server 处理请求后直接回应给用户,这样director负载均衡器仅处理客户机与服务器的一半连接。

IP Tunneling 技术极大的提高了director的调度处理能力,同时也极大的提高了系统能容纳的最大节点数,可以超过100个节点。real server 可以在任何

LAN或WAN上运行,这意味着允许地理上的分布,这在灾难恢复中有重大的意思,服务器必须拥有正式的IP地址用于与客户机直接通信,并且所有服务器必须

支持IP隧道协议。

(3). Direct Routing(直接路由)

与IP Tunneling 类似,负载均衡器仅处理一半的连接,避免了新的性能瓶颈,同样增加了系统的可伸缩性。Direct Routing 与 IP Tunneling相比,没有IP

封装的开销,但由于采用物理层(修改MAC地址)技术,所有服务器都必须在一个物理网段。

 

LVS NAT 模式工作原理:

客户端访问调度器时,调度器通过网络地址转换,调度器重写请求报文的目标地址,根据预设的调度算法,将请求分派给后端的真实服务器;

真实服务器的响应报文通过调度器时,报文的源地址被重写,再返回给客户,完成整个负载调度过程。

 

如图:

步骤1: 客户端访问VIP1的站点:

LVS 集群工作原理

 

步骤2: 客户端访问调度器时,调度器通过网络地址转换,调度器重写请求报文目标地址,根据预设的调度算法,将请求分派给后端真实服务器。

LVS 集群工作原理

步骤3: 真实服务器的响应报文通过调度器时,报文的源地址被重写,在返回给客户端,完成整个负载调度的过程。

 

LVS 集群工作原理