第1章集群的概念和发展1.1集群概念1.1.1集群相关术语定义1. 服务硬件服务硬件指提供计算服务的硬件,比如PC机、PC服务器2. 服务实体服务实体通指服务软体和服务硬体3. 节点(node)运行Heartbeat进程的一个独立主机称为节点,节点是HA的核心组成部分,每个节点上 运行看操作系统和Heartbeat软件服务在Heartbeat集群中,节点有主次之分,分别称为主 节点和备用/备份节点,每个节点拥有惟一的主机名,并且拥有属于自己的一组资源,例如磁 盘、文件系统、网络地址和应用服务等主节点上一般运行着一个或多个应用服务,而备用 节点一般处于监控状态4. 资源(resource)资源是一个节点可以控制的实体,当节点发生故障时,这些资源能够被其他节点接管 在Heartbeat中,可以当做资源的实体如下1) 磁盘分区、文件系统2) IP地址3) 应用程序服务4) 共享存储5. 事件(event)事件也就是集群中可能发生的事情,例如节点系统故障、网络连通故障、网卡故障和应用 程序故障等这些事件都会导致节点的资源发生转移,HA的测试也是基于这些事件进行的1.1.2什么是集群简单地说,集群(cluster)就是一组计算机,它们作为一个整体向用户提供一组网络资 源,这些单个的计算机系统就是集群的节点(node)o 一个理想的集群是,用户从来不会意识 到集群系统底层的节点,在他们看来,集群是一个系统,而非多个计算机系统;并旦集群系 统的管理员可以随意增加和删改集群系统的节点。
与单一服务实体相比较,集群提供了以下 两个关键特性1) 可扩展性集群的性能不限于单.一的服务实体,新的服务实体可以动态地加入到集 群,从而增强集群的性能2) 高可用性集群通过服务实体冗余使客广端免于轻易遇到“out of service”的警告 当一台节点服务器发生故障时,这台服务器上所运行的应用程序将在另一节点服务器上被自 动接管消除单点故障对于增强数据可用性、可达性和可靠性是非常重要的为了具有可扩展性和高可•用性特点,集群的必须具备以下两大能力1) 负载均衡负载均衡能把任务比较均衡地分布到集群环境下的计算和网络资源,以 便提高数据吞吐量2) 错误恢复如果群集中的某一台服务器山于故障或维护需要而无法使用,资源和应 用程序将转移到可用的群集节点上这种由于某个节点中的资源不能工作,另一个可用节点 中的资源能够透明地接管并继续完成任务的过程叫错误恢复负载均衡和错误恢复都要求各服务实体中有执行同一任务的资源存在,而且对于同一-任 务的各个资源来说,执行任务所需的信息视图(信息上下文)必须是一样的分布式与集群的联系与区别如下1) 分布式是指将不同的业务分布在不同的地方2) 而集群指的是将几台服务摇集中在一起,实现同一业务。
3) 分布式中的每一个节点,都可以做集群,而集群并不一定就是分布式的比如互联网上访问的人多了,就可以做一个群集,前面放一个响应服务器,后面几台服 务器完成同-•业务,如果有业务访问的时候,响应服务器看哪台服务器的负载不是很重,就 将任务交给哪一台去完成而分布式,从狭义上理解,也与集群差不多,但是它的组织比较松散,不像集群,有一 定组织性,一台服务器宕了,其他的服务器可以顶上来分布式的每一个节点,都完成不同 的业务,一个节点宕了,这个业务就不可访问了1.1.3集群技术实现集群务必要有以下两大技术D集群地址集群山多个服务实体组成,集群客户端通过访问集群的集群地址获取集 群内部各服务实体的功能具有单一集群地址(也叫单一影像)是集群的一-个基本特征维 护集群地址的设置称为负载均衡器负载均衡器内部负责管理各个服务实体的加入和退出, 外部负责集群地址向内部服务实体地址的转换有的负载均衡器实现真正的负载均衡算法,有的只支持任务的转换只实现任务转换的负载均衡器适用于支持ACTIVE-STANDBY的集 群环境,在那里,集群中只有一个服务实体工作,当正在工作的服务实体发生故障时,负载 均衡器把后来的任务转向另外一个服务实体。
2) 内部通信为了能协同工作,实现负载均衡和错误恢复,集群各实体间必须时常通 信,比如负载均衡器对服务实体心跳测试信息、服务实体间任务执行上下文信息的通信具有同一个集群地址使得客户端能访问集群提供的计算服务,一个集群地址下隐藏了各 个服务实体的内部地址,使得客户要求的计算服务能在各个服务实体之间分布内部通信是 集群能正常运转的基础,它使得集群具有均衡负裁和错误恢复的能力1.1.4集群分类集群主要分成三大类1) 高可用集群(High Availability Cluster) 0常见的就是两个节点做成的HA集群,它 还有很多通俗的不科学的名称,比如“双机热备”、“双机互备”、“双机”高可用集群 保障用户的应用程序持续对外提供服务的能力(注意高可用集群不是用来保护业务数据的, 而是确保用户的业务程序对外不间断提供服务,把因软件、硬件、人为造成的故障对业务的 影响降低到最小程度)2) 负载均衡集群/负载均衡系统(Load Balance Cluster) □集群中所有的节点都处于活 动状态,它们分摊系统的工作负我一般Web服务器集群、数据库集群和应用服务器集群都 属于这种类型负载均衡集群一般用于相应网络请求的网页服务器和数据库服务器。
这种集 群可以在接到请求时,检查接受请求较少、不繁忙的服务器,并把请求转到这些服务器上 从检查其他服务器状态这一点上看,负载均衡和容错集群很接近,不同之处是数量上更多3) 科学计算集群(High Performance Computing Cluster) /高性能计算(High PerfermanceComputing)集群,简称HPC集群这类集群致力于提供单个计算机所不能提供的强大的计 算能力高性能计算,可以把它分成若干可以并行的子任务,而且各个子任务彼此间没有什 么关联,像在家搜寻外星人(SETI@HOME Search for Extraterrestrial Intelligence at Home)就是这一类型的应用这一项目是利用Internet 的闲置计算资源来搜寻外星人SETI项目 的服务器将一组数据和数据模式发给Internet上参加SETI的计算节点,计算节点在给定的数 据上用给定的模式进行搜索,然后将搜索的结果发给服务器,服务器负责将从各个计算节点 返同的数据汇集成完整的数据因为这种类型应用的一个共同特征是在海量数据上搜索某些 模式,所以把这类计算称为高吞吐计算所谓的Internet计算都属于这一类。
1.2操作系统集群从单一处理机主机到多节点皆可构成高可用性之群集,可混用,且跨越系统大小及性能 等级,将各种网络适配卡和磁盘子系统融合在一•起来,以满足用户的应用程序、网络等方面 的需求操作系统群集因不同的处理需求可以构成3种不同的模式:并行模式、互备模式、主备 模式1) 同时访问模式(Concurrent Access Mode,并行模式)适用在所有处理机必须在相同 的工作负载及在相同的时间共享相同的数据之环境2) 相互备援模式(Mutual Takeover Mode)则是群集中的各个节点分别承担有应用和 任务,并且各节点间相互备援3) 而热待机模式则为一节点备援任何群集上的另一节点无论选择哪一种备援模式,集群所提供的数据访问及备援方案都将应用程序的执行及增 长性在避免不正常死机状况下做了最佳化处理1.3存储集群作为一项已被广泛使用的技术,集群可提供按比例增加服务器或存储资源的性能、容量、 町靠性及可用性,突破了单机设备的种种限制传统的存储系统山于受到其物理组成(如磁 盘驱动器的数量、所连接服务器的数量、内存大小和控制器性能)的限制,会造成很多功能 上的局限(如支持文件系统的数量、快照或复制的数量等)。
一旦遇到存储系统的瓶颈,就 会不断地促使用户升级到更大的存储系统并添加更多的管理工具1. 通集群中可调整的特性(1) 性能(带宽、IOPS——每秒输入/输出次数等)可提高到满足大型顺序读或写操作, 或者是对时间敏感(Time-Sensitive)的随机读写面向事务型(Transaction-Oriented)处理2) 可-用性——消除单点故障、透明故障的转移(Failover),提高自我修复(Self-Healing) 能力3) 存储容量和服务的连接访问(FC、以太网和InfiniBand接口)4) 可访问性(Accessibility)——包含块级(iSCSI、FC 和 InfiniBand)或 NAS (NFS、 CIFS或其他私有文件系统)和数据共享5) 基于开放或私有的硬件和软件,使用紧密或松散的互联技术来实现完全不共享、部 分共享或完全共享架构(Shared Nothing、Shared Something or Shared Everything Architectures ) □通过表1-1可以看到很多不同类型的集群存储方案,其中包括集群和并行文件系统、集 群文件服务器、集群NAS、集群iSCSI和FC存储等。
大多数的集群实现方式都满足了容量 和可用性的需求一些集群存储方案也支持通过控制吞吐量和I/O操作的方式来对性能进行 调整,以达到简化使用和管理的目的表1-1集群存储的众多特征和例子存储 块级集群(SANFC/iSCSI) 文件级集群(NAS) 集群和并行文件系统访问 iSCSI 或 FCP NFS, CIFS NFS, CIFS, HTTP 或其他特征 性能、容量或可用性可以升级 虚拟NAS服务器,性能基于主机软件或应用可升级可能需要专门的软件或合适的硬件,适用于对带宽需求大的应用适用环境 微软Exchange. SQL和其他基 普通的文件共享和相关 于敏感块的应用 的应用需求Ibrix> Poly Serve > Isilon> Verari>Panasasx Lustre> SGI、Crosswalk代表厂商 EqualLogic>LeftHand Networks NetApp、 ONStor、3PAR BlueArc对于集群存储产品实际能力的评估,主要通过其容量及性能伸缩的能力、可访问性 (Accessibility,块或文件级)、可用性和使用的难易程度儿方面来考核集群存储并非就是 那些高不町攀的、联合HPC (High Performance Computing,高性能计算)环境一起使用的大 型顺序带宽(Sequential Bandwidth)或并行文件系统的代名伺。
多用途的集群存储支持传统 的商业应用,如电子邮件、数据库和事务处理(OLTP)等2. 满足不同应用性能和服务的需求消除单点故障对于增强数据可用性、可达性和可靠性是非常里要的集群方案可以有效 防止单点故障的发生,其N+1冗余特性,以及部件的热插拔特性和自我诊断能力可保证在错 误造成麻烦前就将其发现、隔离并排除还有一种具有N+1冗余架构的存储系统一直处于灰色地带,人们对其是否属于集群还存 在争议在N+1冗余架构模式中,存在两个或更多个(N个)主要I/O节点或控制器,也就是 所谓的NAS头和备用或故障转移节点,例如EMC的CelerraNSX和Pillar Axiom是厂商的 命名体系才使得这种N+1模式显得十分混乱,如将包含有双控制器的RAID阵列或双NAS 头的方案称作提高可用性的集群一个集群就是一个Grid (网格)吗?这取决于对Grid的定义,把Grid看作是一项服务、 架构,还是基于。