服务器集群技术及其在视频网络中的应用
集群是由许多组件组成,这些组件相互协作来管理集群对象,下面就对集群组件如何在单一集群服务器内相互作用关系进行阐述。
集群组件之间的相互作用关系如图 3 所示,从图 3 可以看出集群主要有以下组件构成:( 1 )集群服务;( 2 )资源监视器;( 3 )资源;( 4 )集群管理器;( 5 )集群数据库;( 6 )集群网络驱动程序。
集群服务是集群的核心组件,它管理所有集群指定的活动。在集群中的每台服务器上都运行着集群服务的一个实例。集群服务主要管理集群对象和配置、与集群中集群服务的其他实例协调、促进其他软件组件之间的通讯和执行故障转移操作。
资源监视器是担当集群服务和资源之间媒介的集群组件。当集群服务请求资源时,资源监视器将它的请求传输给相应的资源。每台集群服务器都运行着一个或多个资源监视器。默认情况下,集群服务只启动一个资源监视器与此服务器中的资源交互作用。
集群资源是具有如下特征的所有物理或逻辑组件:( 1 )能够联机和脱机;( 2 )能够在服务器集群上进行管理;( 3 )每次只能属于一台服务器。 Windows 2000 Advanced Server 定义了几种资源类型,主要有物理磁盘资源类型、网际协议资源类型、文件共享资源类型等。一些资源可以组成一个资源组,一个资源组存在于一个上,但同时只能在一个服务器上,组是集群可以进行故障转移的最小单元。
管理员使用集群管理器管理应用程序的配置、控制和监视集群。集群管理器是一个图形界面(如图 4 )来管理集群对象、建立组、进行故障转移、处理维护工作和监视集群行为。
集群数据库常驻在每台集群服务器上的 Windows 2000 注册表中。它包含集群的所有物理和逻辑元素的信息,包括集群对象、对象属性和配置数据。
集群中的每个服务器都运行集群网络驱动程序的一个实例。集群网络驱动程序负责:监视节点之间所有网络路径的状态、路由消息、检测通讯问题。每台服务器的集群网络驱动程序都要和其他服务器上的集群网络驱动程序定期交换消息,称为“信跳”。如果没有成功地响应这种“信跳”消息,则此服务器上负责故障检测的集群网络驱动程序会通知启动故障转移的集群服务。
从以上对集群组件的分析可以看出,服务器集群的实现过程是:首先,资源监视器根据管理员通过集群管理器设定的时间间隔对资源进行 LookAlive 和 IsAlive 两种级别的检查,一旦发现某一个资源不可用,就会试图重新启动该资源。根据阀值的设定,如果在某一时间段内,资源不可用的情况达到了设定的阀值时,就会发生故障转移。经过故障转移的过程,对应的资源组在另外一台服务器上重新启动了,继续为客户机提供服务,对客户来说,工作没有影响,这就完成了一次故障转移。当出现故障的服务器恢复正常以后,如果事先对该资源组设定了首选服务器,就会把该资源组移回该首选服务器。
6 、故障转移和故障回复
( 1 )故障转移
如果服务器集群上的个别应用程序执行失败(但是服务器没有问题),集群服务会尝试重新启动同一服务器上的应用程序。如果失败了,集群服务会移动此应用程序的资源并且在服务器集群的其他服务器上重新启动它们。这个过程称为故障转移。负责监视资源的资源监视器一旦发现资源出现故障,它就会通知集群服务,集群服务会根据事先定义好的策略触发对应的事件。虽然发现的是个别资源的故障,但是,集群还是会把整个资源组进行故障转移。
故障转移会在三种不同的情况下发生:人工(一般是因为管理员的请求),自动,或者在特定的时间(由集群管理软件设定)。自动故障转移又包含了三个阶段: 1 、故障发现; 2 、资源重新定位; 3 、重新启动应用程序。当达到资源组的故障转移阀值时,自动的故障转移才会发生,阀值是可以设定的,一般又管理员来完成。
故障转移包括如下步骤:
① 集群服务使组中的
《服务器集群技术及其在视频网络中的应用(第3页)》