阿里云
为了无法计算的价值
打开APP
阿里云APP内打开
学习中心> 企业集群平台架构设计与实现:lvs/haproxy/keepalived> 正文

企业集群平台架构设计与实现:lvs/haproxy/keepalived

8课时 |
11540人已学 |
免费
课程介绍

集合目前最热门的集群应用技术LVS/HAPROXY/Keepalived,实战讲述集群技术的应用技巧。 课程内容包括:

  • LVS集群常见架构图
  • 基于IP的负载调度策略
  • LVS负载调度算法与应用场景
  • 通过prianha实现LVS高可用负载均衡集群 
  • 基于keepalived实现LVS高可用负载均衡集群

企业集群平台架构设计与实现1vs篇1

目录:

一、课程安排

二、LVS集群常见架构图

三、负载调度算法

四、DR模式

五、DR模式小结:

一、课程安排

  1. LVS集群常见架构图
  2. 基于IP的负载调度策略
  3. LVS负载调度算法与应用场景
  4. 通过prianha实现LVS高可用负载均衡集群
  5. 基于keepalived实现LVS高可用负载均衡集群

二、LVS集群常见的架构图

这个内容分三个部分,最上面一层叫Load Balancer层(LB层)也就是负载均衡层,也就是讲的LVS集群软件就是运行在这一个层上。

中间一个层,服务主机层,这个层运行一个真实的服务器,有很多服务器,把后端运行的真实服务器叫 Real Server , 后端可能会有很多的Real Server,通过内网的交换机,局域网的交换机进行连接。

最底下一层叫做数据共享层,主要实现数据里集群与数据的共享,这个层的实验数据共享方法有很多种,最原始最常见的比如NFS,可以通过这样一个方式来实现让好多Real Server节点共享一个NFS分区,实现数据的同步跟共享。

还有一种方法用的比较多,通过一个数据同步软件比如Think等等去实现数据在各个服务器之间的同步,当然还有比较常见的集群文件系统,比如红帽子的一个JFS,谷歌的ofs2,可以实现多个Real Server主机挂在同一个磁盘分区,实现数据同步的功能。

有了这样一个整体框架之后,再去LVS细节进行一个比较深入的研究,深度的介绍。

Load Balancer层:位于整个集群系统的最前端,由一台或多台负载调度器(DirectorServer)组成。LVS核心模板IPVS就安装在Director Server上,而Director的主要作用类似于一个路由器,它含有为完成LVS功能所设定的路由表,通过这些路由表把用户的请求分发给Server Array层的应用服务器(Real Server)。同时,在Director Server上还要安装对 Real Server的监控模块 Ldirectord,此模块用于监测各个Real Server服务的健康状况。在Real Server不可用时可以把它从LVS路由表中剔除,在恢复时重新加入。

对于Real Server,几乎所有的系统平台,Linux、Windows、Solaris、AIX、BSD系列都能很好地支持。

三、负载调度算法

运维里的负载均衡技术,是整个集群里技术模型,集群是一个总称,在集群下分了好多种分类,最常见的负载集群是属于集群当中的一种,高可用集群或者叫HIA主要实现热备这样一个功能,分布式集群也叫高性能计算是最经常使用的,分析大数据当中的Hadoop计算这样一个架构,就相当于一个高性能计算、分布式计算这样一个集群,把各个主机的节点计算性能整合到一起,实现分布式高性能计算,讲的是整个集群里应用最广泛的,基于互联网里应用最多的负载均衡技术。

负载均衡技术有很多实现方案,有基于DNS域名轮流解析的方法、有基于客户端调度访问的方法、有基于应用层系统负载的调度方法,还有基于IP地址的调度方法,在这些负教调度算法中,执行效率最高的是IP负载均衡技术。

LVS的IP负载均衡技术是通过IPVS模块来实现的,IPVS是LVS集群系统的核心软件,它的主要作用是:安装在 Director Server上,同时在 Director Server上虚拟出一个IP地址,用户必须通过这个虚拟的IP地址访问服务器。这个虚拟IP一般称为LVS的VIP,即 Virtual IP。访问的请求首先经过VIP到达负载调度器,然后由负载调度器从RealServer列表中选取一个服务节点响应用户的请求。

在用户的请求到达负载调度器后,调度器如何将请求发送到提供服务的 Real Server节点,而 Real Server节点如何返回数据给用户,是IPVS实现的重点技术。IPVS实现负载均衡的方式有三种,分别是NAT(FULL NAT)、TUN和DR,下面进行详细介绍。四层就是一二三四层实现路由的技术。

四、DR模式

下面是DR模式数据传输图

基于DR模式的LVS数据流线图,用户通过互联网请求发送到服务器当中,服务器叫LinuxDirector这样一个主机上,是LVS的一个服务器,当请求到达服务器之后,经过内部网络,把请求根据自身的负载算法,把请求交到后端节点处理,处理完成之后并没有返回,而是直接通过RealServer直接返回给用户,这就是DR的实现机制,需要注意的是内部网络必须是同一个网段的,

DR模式:即Virtual Server via Direct Routing,也就是用直接路由技术实现虚拟服务器。这种方式的连接调度和管理与前两种一样,但它的报文转发方法又有所不同,VS/DR通过改写请求报文的MAC地址,将请求发送到Real Server,而 Real Server将响应直接返回给客户,免去了VS/TUN 中的IP隧道开销。这种方式是三种负载调度方式中性能最好的。

下面是DR模式IP包调度过程图: