中小企业web服务器的高可用集群方案设计(5)
时间:2017-01-16 19:37 来源:毕业论文 作者:毕业论文 点击:次
高可用性集群与负载均衡集群的工作原理不同,适用于不同类型的服务。通常, 负载均衡集群适用于提供静态数据的服务, 如 HTTP 服务;而高可用性集群既适用于提供静态数据的服务, 又适用于提供动态数据的服务, 如数据库等。高可用性集群之所以能适用于提供动态数据的服务, 是由于节点共享同一存储介质[7]。也就是说, 在高可用性集群内, 每种服务的用户数据只有一份, 存储在共用存储设备上, 在任一时刻只有一个节点能读写这份数据。 在群集的这三种基本类型之间,经常会发生混合与交杂。于是,可以发现高可用性群集也可以在其节点之间均衡用户负载,同时仍试图文持高可用性程度。同样,可以从要编入应用程序的群集中找到一个并行群集,它可以在节点之间执行负载均衡。尽管集群系统本身独立于它在使用的软件或硬件,但要有效运行系统时,硬件连接将起关键作用。 对集群的研究起源于集群系统的良好的性能可扩展性(scalability)。提高CPU主频和总线带宽是最初提供计算机性能的主要手段。但是这一手段对系统性能的提供是有限的。接着人们通过增加CPU个数和内存容量来提高性能,于是出现了向量机,对称多处理机(SMP)等。但是当CPU的个数超过某一阈值,象SMP这些多处理机系统的可扩展性就变的极差。主要瓶颈在于CPU访问内存的带宽并不能随着CPU个数的增加而有效增长。与SMP相反,集群系统的性能随着CPU个数的增加几乎是线性变化的[8]。图1显示了这中情况。 图1. 几种计算机系统的可扩展性 集群系统的优点并不仅在于此。下面列举一下集群系统的主要优点: 高可扩展性:如上所述。 高可用性:集群中的一个节点失效,它的任务可以传递给其他节点。可以有效防止单点失效。 高性能:负载平衡集群允许系统同时接入更多的用户。 高性价比:可以采用廉价的符合工业标准的硬件构造高性能的系统。 虽然根据集群系统的不同特征可以有多种分类方法,但是一般我们把集群系统分为两类: 高可用(High Availability)集群,简称HA集群。这类集群致力于提供高度可靠的服务。 高性能计算(High Perfermance Computing)集群,简称HPC集群。这类集群致力于提供单个计算机所不能提供的强大的计算能力。 3.1.2 高可用集群的定义 计算机系统的可用性(availability)是通过系统的可靠性(reliability)和可文护性(maintainability)来度量的。工程上通常用平均无故障时间(MTTF)来度量系统的可靠性,用平均文修时间(MTTR)来度量系统的可文护性。于是可用性被定义为: MTTF/(MTTF+MTTR)*100% (1.1) 对于关键业务,停机通常是灾难性的。因为停机带来的损失也是巨大的。 随着企业越来越依赖于信息技术,由于系统停机而带来的损失也越拉越大。高可用集群就是采用集群技术来实现计算机系统的高可用性。高可用集群通常有两种工作方式: 容错系统:通常是主从服务器方式。从服务器检测主服务器的状态,当主服务工作正常时,从服务器并不提供服务。但是一旦主服务器失效,从服务器就开始代替主服务器向客户提供服务。 负载均衡系统:集群中所有的节点都处于活动状态,它们分摊系统的工作负载。一般Web服务器集群、数据库集群和应用服务器集群都属于这种类型。 3.1.3 DRBD介绍 DRBD(Distributed Replicated Block Device)实际上是一种块设备的实现,主要被用于构建linux系统下的高可用集群。它是由内核模块和相关程序组成,通过网络通信来同步镜像整个设备。DRBD 负责接收数据,将数据写入本地DRBD设备上的文件系统时,数据会同时被发送到该服务器集群中另外的节点,并以完全相同的内容格式保存。每个设备(DRBD 提供了不止一个设备)都有一个状态,可能是主状态或从状态。在带有主设备的节点上,应用程序能运行并且访问主、从节点设备[9]。每次写入都会发往本地底层设备和从节点设备中。所以当本地节点的主机出现故障时,远程节点的主机上还会保留有一份完全相同的数据,可以继续使用,以达到高可用的目的。 (责任编辑:qin) |