开发者学堂课程【企业集群平台架构设计与实现:lvs/haproxy/keepalived:企业集群平台架构设计与实现1vs篇1】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/391/detail/5009
企业集群平台架构设计与实现1vs篇1
目录:
一、课程安排
二、LVS 集群常见架构图
三、负载调度算法
一、课程安排
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,下面进行详细介绍。四层就是一二三四层实现路由的技术。