常见集群系统分类:
1. 高可用性集群(High Availability Cluster)HA
运行于两个或多个节点上,目的是在系统出现某些故障的情况下,最大限度地减少服务中断时间,保障应用程序持续提供服务的能力。这类集群中比较著名的有TurbolinuxTurboHA、Heartbeat、Kimberlite 等。对于此类集群还有很多通俗的名称,如“双机热备”, “双机互备”等。
2. 负载均衡集群(Load Balance Cluster)LB
提供和节点个数成正比的负载能力,这种集群适合需要提供大负载访问量的服务,如Web。这类集群中比较著名的有Turbolinux Cluster Server、Linux Virtual Server。此类集群把负载压力根据某种算法合理分配到集群中的每一台计算机上,以减轻主服务器的压力,降低对主服务器的硬件和软件要求。
3. 科学计算集群(High Performance Computing Cluster)HPC
利用超级计算集群软件将多个节点的计算机联结在一起,完成通常只有超级计算机才能完
成的计算任务。这类软件有Turbolinux EnFusion、SCore 等。
Linux Virtual Server 项目
Linux Virtual Server 项目由章文嵩博士在1998 年5 月发起创立,是国内最早的自由软件项目之一。Linux Virtual Server 针对高可伸缩、高可用网络服务的需求,提出了基于IP 层和基于内容请求分发的负载均衡调度解决方案。
四层的分发器:LVSF5
七层分发器:nginx apachesquid haproxy
由于该项目的负载调度技术是在 Linux 内核中实现的,所以称之为“Linux 虚拟服务器”(LinuxVirtual Server),简称为LVS。
LVS 集群的特点可以归结如下:
功能:基于内容的请求分发技术和3 种IP 负载均衡技术,十种连接调度算法
适用性:后端服务器可运行Linux,Unix,Mac/OS 和Windows NT/2000 等多种操作系统。支持绝大多数的TCP 和UDP 协议
灵活性:无需对客户机和服务器作任何修改
性能:支持几百万并发连接,系统的最大吞吐量可接近10Gbits/s
可靠性:已经在很多大型的、关键性的站点的应用
软件许可证:基于GPL 许可证发行
LVS 集群系统已在美、英、德、澳等国的几十个站点上正式使用,例如:
英国国家 JANET Cache Service(www.cache.ja.net)
Linux 的门户站点(www.linux.com)
SourceForge(sourceforge.net)
Real 公司(www.real.com)
NetWalk(www.netwalk.com)
很多应用系统厂商都利用 LVS 的代码提供了基于LVS 的集群方案:
RedHat 从其6.1 发行版起已包含LVS 代码,并开发了一个LVS 图形化的集群管理工具Piranha,用于控制LVS 集群。
VA Linux 向客户提供基于LVS 的服务器集群系统,并且提供相关的服务和支持。
TurboLinux 的Linux 集群产品“TurboCluster”实际上是基于LVS 的构想和代码。
红旗 Linux 和中软都提供基于LVS 的集群解决方案,并在2000 年9 月召开的LinuxWorld China 2000 上展示
LVS 体系结构介绍:
LVS 通过前端一个负载调度器(Load Balancer,也叫负载均衡器)无缝地将网络请求调度到真实服务器上,从而使得服务器集群的结构对客户是透明的,客户访问集群系统提供的网络服务就像访问一台高性能、高可用的服务器一样。客户程序不受服务器集群的影响不需作任何修改。系统的伸缩性通过在服务器机群中透明地加入或删除一个节点来达到,通过检测节点或服务进程故障和
正确地重置使系统达到高可用性。
LVS 的抽象体系结构分为三个层次:负载调度器(load balancer)、服务器池(server pool)、共享存储(shared storage)
LVS负载均衡的三种模式
LVS 负载均衡模型:
LVS 的三种负载均衡模型(地址转换(NAT)、IP 隧道(IP Tunneling)和直接路由(DR))
地址转换(NAT)
NAT 模式下的服务器节点使用的是私有IP,均衡器是集群的唯一出入口,网络结构呈现为一种类似防火墙的私有网结构,服务器结点无法和客户端直接通信,所有数据都需要经过均衡器进行处理(分发/路由/NAT)
VS/TUN 模式采用开放的网络结构,负载均衡器仅仅处理进入集群的请求数据包,而返回数据包不经过负载均衡器。服务器结点拥有合法的公网IP 地址,可将应答包直接返回给客户端。负载均衡器和服务器结点的连接可以是同一LAN 上,也可以跨越WAN 在不同的网段上。
负载均衡器通过 IPIP 协议将客户端的请求包封装为新的IP 包,发给服务器节点。服务器结点收到均衡器发来的IPIP 数据包后,将包解开,根据包内的客户端源地址将处理结果,直接返回给客户端。
直接路由(DR)
DR 模式下服务器节点的应答数据不经过均衡器,而是直接返回给客户端。服务器结点也必须拥有合法IP 地址。而且,负载均衡器和服务器结点必须位于同一个网段。
负载均衡器接收到客户端请求数据包后,选择合适的服务器结点,将请求包的MAC 地址改写为目的服务器结点的MAC 地址,再将此包广播到服务器器节点所在网段。每个服务器结点都设定一个虚拟的网络设备(lo:0),这个设备绑定了和均衡器一样的VIP,只是该设备并不响应对VIP 的ARP 解析,不会和均衡器的VIP 产生地址冲突。负载均衡器收到符合自身MAC的IP 包后,经过处理后直接将应答数据返回给客户。