文档详情

3分布式锁管理.doc

发布:2017-04-20约6.53千字共6页下载文档
文本预览下载声明
PAGE 6 基于集群的高可用实时数据处理应用研究 空军装备研究院通信所 朱荔娟 乔炜炜 孙训峰 引言 集群(Cluster)就是两台或更多的互连的计算机(节点)整合在一起,对外表现为具有高可用性、高性能和易管理性的单一的、统一的计算资源。集群中的计算机具有非常好的协同性。如果其中一台发生故障,马上就有另一台去接替它的工作,如果一台计算机的性能不足以完成某项任务,其他的系统成员就会加入进来,共同执行这项任务。集群技术越先进,计算部件成员之间配合就越默契,故障部件的接替与切换就更加平衡,任何部件发生故障都不会影响到系统的正常运行,甚至是在备用部件或者系统总线发生故障的情况下,计算节点同样可以通过远程方式利用其他节点的存储控制器继续执行自己的任务。在各个计算节点都正常的情况下,也可以自动均衡所有计算资源上的负载,使整个系统的运行性能达到最佳状态。 HP的TruCluster可以配置高速的内存通道互连,提供近于SMP的速度,比传统的网络互连方式减少了100倍的信息传输时延。TruCluster具有分布式锁管理(DLM)能力,DLM(Distributed Lock Manager)同步对共享信息的访问,保证共享数据的完整性,为那些高度并行的应用如OPS(ORACLE PARALLEL SERVER)提供服务。TruCluster技术可以提供双机并行工作方式,即由两台或多台主机组成一个ASE(Available Server Environments可用服务器环境)系统,各主机通过公共的光纤盘控制卡连接共享的数据盘,使用集群的单一文件镜像服务将操作系统和数据库系统都安装在共享盘上。正常情况下,每台主机上的数据库并行工作,通过分布式锁管理对共享盘上的数据进行I/O操作,系统管理员可以根据实际情况人为的将客户分担到每台主机,也可以在ASE中设置一个有公共IP地址的用户自定义登录服务,把客户对数据库的操作平衡地分布在两台主机上以提高系统性能。 利用集群系统的高可靠性、系统冗余备份等优点,能够实现响应时间短、处理速度快、高性能、连续不间断的实时数据处理。图1是集群系统的一个具体应用的例子。下面概要描述开发的一些经验。 图1 双机集群系统结构 集群系统高可用性应用环境 HP TruCluster Server v5.1集群中提供了三种类型的高可用性的应用环境,一是单实例(Single-Instance),二是多实例(Multi-Instance),三是Cluster-aware。我们根据实际使用情况提出了介于第二、三种之间的第四种工作方式,双机同步工作方式。 在Single-Instance应用中,只有应用程序的一个实例在集群中某个服务器上运行,其他集群成员服务器上不运行应用程序,当运行该应用程序的服务器出现故障或者由于某种原因应用程序不能在此服务器上继续运行时,应用程序就会被集群管理软件切换到其他服务器上重新启动一个新的实例,从而提高集群系统的高可用性。在这种应用环境中,应用程序的设计和编写比较容易,不需要使用任何特殊的技术;但是也有其固有缺点,如果应用程序的运行状态和时间相关,类似积分器的应用就不适合采用这种方式,采用此种方式肯定会引起服务的短暂中断。即使采用共享内存开发技术,也不能保证类似积分器应用程序的不间断。 Multi-Instance应用的高可用性是通过不同节点上并行运行的应用实现的。在这种应用模式下,可以在集群系统中的每个服务器上运行应用程序的一个或多个实例,例如Http服务等,实例之间各自单独对外提供服务,各实例服务之间不需要进行进程间同步通信。 Cluster-Aware的应用的高可用性,如ORACLE的OPS并行数据库服务器是通过分布式并行运行实现的。在这种应用模式下,集群中每个服务器运行应用程序的一个或多个实例,应用程序的实例之间通过分布式锁管理实现对集群中的共享资源同步访问,有效地协同进程间通信。对于类似积分器的应用程序可以在集群中的每个成员服务器上运行应用程序的一个实例,实例之间通过分布式锁管理进行资源共享访问,协同数据处理同步问题;这种应用程序必须能够实现数据的分布式处理和计算,才能够有效地实现集群中的负载均衡问题,而且可以减轻集群系统的负担;但是需要一整套完善、复杂的分布式锁来协调进程的同步和资源的同步共享访问,程序的设计和实现起来比较复杂。 双机同步工作方式,在此方式正常工作情况下,两台服务器上同时运行相同的程序,两台服务器上的进程同时接收同样的数据和命令,进行相同计算和处理,但只有一台服务器作为主机负责对外数据输出,另一台服务器作为备机不输出。当主服务器软/硬件故障时控制程序可以自动切换主备机状态,切换后备份服务器升成主机接替
显示全部
相似文档