集群服务是集群的核心组件,它管理所有集群指定的活动。在集群中的每台服务器上都运行着集群服务的一个实例。集群服务主要管理集群对象和配置、与集群中集群服务的其他实例协调、促进其他软件组件之间的通讯和执行故障转移操作。
资源监视器是担当集群服务和资源之间媒介的集群组件。当集群服务请求资源时,资源监视器将它的请求传输给相应的资源。每台集群服务器都运行着一个或多个资源监视器。默认情况下,集群服务只启动一个资源监视器与此服务器中的资源交互作用。
集群资源是具有如下特征的所有物理或逻辑组件:(1)能够联机和脱机;(2)能够在服务器集群上进行管理;(3)每次只能属于一台服务器。Windows2000AdvancedServer定义了几种资源类型,主要有物理磁盘资源类型、网际协议资源类型、文件共享资源类型等。一些资源可以组成一个资源组,一个资源组存在于一个上,但同时只能在一个服务器上,组是集群可以进行故障转移的最小单元。
管理员使用集群管理器管理应用程序的配置、控制和监视集群。集群管理器是一个图形界面(如图4)来管理集群对象、建立组、进行故障转移、处理维护工作和监视集群行为。
集群数据库常驻在每台集群服务器上的Windows2000注册表中。它包含集群的所有物理和逻辑元素的信息,包括集群对象、对象属性和配置数据。
集群中的每个服务器都运行集群网络驱动程序的一个实例。集群网络驱动程序负责:监视节点之间所有网络路径的状态、路由消息、检测通讯问题。每台服务器的集群网络驱动程序都要和其他服务器上的集群网络驱动程序定期交换消息,称为“信跳”。如果没有成功地响应这种“信跳”消息,则此服务器上负责故障检测的集群网络驱动程序会通知启动故障转移的集群服务。
从以上对集群组件的分析可以看出,服务器集群的实现过程是:首先,资源监视器根据管理员通过集群管理器设定的时间间隔对资源进行LookAlive和IsAlive两种级别的检查,一旦发现某一个资源不可用,就会试图重新启动该资源。根据阀值的设定,如果在某一时间段内,资源不可用的情况达到了设定的阀值时,就会发生故障转移。经过故障转移的过程,对应的资源组在另外一台服务器上重新启动了,继续为客户机提供服务,对客户来说,工作没有影响,这就完成了一次故障转移。当出现故障的服务器恢复正常以后,如果事先对该资源组设定了首选服务器,就会把该资源组移回该首选服务器。
6、故障转移和故障回复
(1)故障转移
如果服务器集群上的个别应用程序执行失败(但是服务器没有问题),集群服务会尝试重新启动同一服务器上的应用程序。如果失败了,集群服务会移动此应用程序的资源并且在服务器集群的其他服务器上重新启动它们。这个过程称为故障转移。负责监视资源的资源监视器一旦发现资源出现故障,它就会通知集群服务,集群服务会根据事先定义好的策略触发对应的事件。虽然发现的是个别资源的故障,但是,集群还是会把整个资源组进行故障转移。
故障转移会在三种不同的情况下发生:人工(一般是因为管理员的请求),自动,或者在特定的时间(由集群管理软件设定)。自动故障转移又包含了三个阶段:1、故障发现;2、资源重新定位;3、重新启动应用程序。当达到资源组的故障转移阀值时,自动的故障转移才会发生,阀值是可以设定的,一般又管理员来完成。
故障转移包括如下步骤:
①集群服务使组中的所有资源按组的从属关系级别所决定的顺序脱机;首先是依存资源,紧随其后的是它们所依存的资源。例如,如果某个应用程序依赖于一个物理磁盘资源,则集群服务首先使此应用程序脱机,允许应用程序在磁盘脱机前将更改写入磁盘。集群服务通过资源监视器调用管理此资源,从而使该资源脱机。如果这个资源没有在指定的时间期限内关闭,则集群服务将强行中断此资源。
②当所有资源脱机后,集群服务会尝试将组转换到列在首选服务器的组列表下面的服务器中。
③如果集群服务成功地将组转移到其他服务器,则它会尝试将所有的组资源联机。当所有的组资源在新服务器上联机后,故障转移便告结束。
(2)故障恢复
当服务器由
于某种原因转变为非活动状态时,集群服务将故障转移到由此服务器控制的任何组。当该服务器重新转变为活动状态时,集群服务能够对最初由此服务器控制的组进行故障恢复。
集群服务使用同故障转移中一样的过程对某个组进行故障恢复,首先集群服务使组中的所有资源脱机,然后移动这个组,最后使组中的所有资源联机。
三、服务器集群技术在视频网络中的应用
1、项目概述
河南电视台都市频道节目制作网是一个具有信号收录、演播室上载、节目资料共享、视音频制作的全数字环境的智能化、自动化的数据化制作网络系统,它能支持河南电视台都市频道节目制作业务的运转,并承担大部分节目的生产任务。
在节目制作网搭建之前,河南电视台都市频道曾建立了一套基于M_JEPG格式的新闻网,新闻网服务器系统只有一台服务器构成,素材管理、管理网络程序、数据库应用程序都在一台服务器上完成。成本虽然很低,但安全性不能得到保障。服务器出现一点小小的故障就会影响到系统的使用。为了避免这种劣势,新搭建的节目制作网在可靠性上有了很大的改进,充分考虑到了节目素材、文稿、管理数据的安全问题。可靠性主要体现在服务器的建设方面,节目制作网采用了大量的服务器,关键服务器还配置了双机容错的机制,系统中一共配置了5台服务器,2台作为管理/数据库服务器,通过集群方式达到自动冗余的功能,1台MDC(MetaDataController)服务器,1台网络管理服务器,1台日志管理服务器。服务器系统结构图如图所示。
2、服务器集群的拓扑结构
集群技术在服务器中应用是河南电视台都市频道节目制作网的一个重要的技术特色。其服务器集群拓扑结构如图6所示。
从图中可以看出,此集群是由两台名称为DataServer-01和DataServer-02的服务器组成的集群系统,集群名称叫DSPDCLUSTER,集群系统管理着网络的域控制器和登录帐号、节目制作网的高压缩比素材、SQL数据库应用程序。其中DataServer-01是主服务器,一直处于联机状态,而DataServer-02是备份服务器,平时处于空闲状态,只有在DataServer-01出现故障,集群发生故障转移时,DataServer-02才把资源控制权接管过来。
3、服务器集群的创建
(1)软硬件的配置要求
软件要求:
?安装集群的一个首要条件是配置集群的每台服务器必须是安装了微软的Windows2000AdvancedServer或Windows2000DataCenterServer。
?有某种名称解析手段,如域名系统(DNS),Windows互连网命名系统(WINS),HOSTS等。
硬件要求:
?集群服务器的硬件,必须满足Windows2000AdvancedServer或Windows2000DataCenterServer的硬件要求。
?共享的磁盘有独立的PCI存储适配器(SCSI或光纤)。
?集群里的每台服务器有两块PCI网络适配器。
?有外部存储单元,它跟所有的服务器相连,它被作为集群磁盘使用。
(2)集群网络的建立
每台集群服务器至少需要两个网络适配器,一个连接公共网络,一个连接私有网络。如图6,DataServer-01安装有编号为NIC11、NIC12两个网络适配器,NIC11用于私有网络连接,NIC12用于公共网络连接,DataServer-02安装有编号为NIC21、NIC22,NIC21用于私有网络连接,NIC22用于公共网络连接。并且每个网卡必须设置不同的静态IP地址,公共网与私有网必须不在同一网段内。网卡信息设置如表1。私有网通常是采用点对点进行通信,有人也形象地把私有网的连线成为“信跳线”,其功能在前面已经提到。每台集群服务器的公共网络适配器连接集群到公共网上,并在此驻留客户。
(3)共享磁盘的创建
DataServer-01和DataServer-02共享一个SCSI磁盘阵列,又根据集群和网络的不同需要把SCSI磁盘阵列分成F盘、G盘和I盘。
F盘是集群的定额磁盘,是用来存储集群配置集群数据库的检测点和日志文件等集群信息,这些信息是用来维护集群的完整性以及使两台服务器保持同步,F盘在某一时刻只能被一台服务器所拥有,并用来决定由哪台服务器来拥有集群的所有资源。需要注意的是定额磁盘必须位于共享的磁盘子系统中,一般都是使用外接的作过RAID的磁盘阵列。因为定额磁盘的故障,将导致整个集群失效,容量至少有50MB,建议配置容量是500MB。G盘是用来存储SQLServer数据库应用程序和数据的。I盘是用来存储节目的高压缩低质量的素材。
(4)集群软件的安装
?安装主服务器集群软件,首先安装DataServr-01的集群软件,在安装过程中,所有其它服务器都要关闭,必须提供所有的初始配置信息,以创建集群,集群名称为DSPDCLUSTER。
?安装备服务器集群软件,DataServer-01的集群软件安装完毕后,就可以安装DataServer-02的集群软件。
?安装SQLServer2000Cluster,设定虚拟SQLServer名称为SQL2000。
(5)组的创建
集群软件安装成功后,就要通过集群管理器来创建集群组,在DSPDCLUSTER集群中,除了集群自己默认的一个组ClusterGroup外,又根据需要创建了两个组,即DiskGroup1、DiskGroup2。组的配置如表2所示。
四、结论
服务器集群不能算得上是最好的高可用性技术,但可以说它是一种提供高可用性、改善性能和增强电视台视频网络应用软件可管理性的有效途径。电视台可以根据自己的需求来选择容错级别,用好它,也会收到意想不到的效益。