集群(Cluster)技术是一种通过软硬件技术,将一组物理上相互独立的服务器在系统中整合为逻辑上为单一的系统,这些独立的服务器共用一个磁盘存储。集群系统和单台服务器比较,具有高性能、高可靠和高扩展性,其核心技术是任务调度、服务器状态监听和负载均衡。服务器集群系统根据不同的特征可以有多种分类方法,目前业界通常把集群系统分为两类:高可用性集群(High Availability Cluster,简称HA集群)和高性能计算集群(High Performance Computing Cluster,简称HPC集群)。高可用集群就是采用集群技术来实现计算机系统的高可用性,它通常有两种工作方式:容错系统和负载均衡系统。容错系统通常是主从服务器方式,从服务器检测主服务器的状态,当主服务工作正常时,从服务器并不提供服务,一旦主服务器失效,从服务器就开始代替主服务器向客户提供服务。负载均衡系统是集群中所有的节点都处于活动状态,它们分摊系统的工作负载。一般Web服务器集群、数据库集群和应用服务器集群都属于这种类型。
1 集群系统设计与实现
以某石化公司MES系统为例,该系统为公司生产运行提供从生产调度、生产执行、质量控制到生产统计分析全过程的业务管理,提高生产运行效率,满足炼厂生产运行业务的需求。对于公司来说,高可靠、高性能和多业务承载的集群系统是为生产管理提供支撑的关键。
根据MES系统服务器软硬件要求,从专业系统开发、实施和维护的角度考虑,该公司MES系统生产环境需部署2台SCSI磁盘阵列和10台服务器,其中服务器包括:2台Oracle数据库服务器、2台PHD-SQL服务器、1台WPKS服务器、1台APP服务器、1台LIMS数据库服务器、1台LIMS应用服务器和2台域控服务器。在硬件架构设计上,主要针对Oracle数据库服务器、SQL Server数据库服务器和PHD实时数据库服务器采用服务器集群。
Oracle数据库服务器集群使用2台IBM X3850主机,每台采用英特尔Xeon Processor E7-4820处理器,64G内存,四口千兆以太网卡,操作系统为Windows Server 2008 R2,数据库管理系统为Oracle EntERPrise Edition 11g,使用Oracle RAC技术实现数据库集群。每台服务器的第一块网卡接入公网交换机,配置公网IP;第二块网卡作为心跳线,两台服务器直连,配置私有IP;第三块网卡连接磁盘阵列,与磁盘阵列提供的IP地址在同一网段。在两台服务器的/etc/hosts文件中定义虚拟IP地址,当运行Oracle Universal Installer时,该程序启动Oracle的虚拟互联网协议配置助手,也就是说Oracle能够自动配置公共虚拟IP地址。当运行srvctl start nodeapps –n <node_name>命令时,所有的虚拟IP地址将被激活。Oracle RAC可以实现多节点负载均衡,提供系统高可用性,故障容错能力极强,其拓扑结构如图1所示。
图1
PHD实时数据库和SQL Server数据库安装在一起,设计为故障转移集群。PHD-SQL服务器集群使用2台IBM X3850主机,每台采用英特尔Xeon Processor E7-4820处理器,64G内存,四口千兆以太网卡,操作系统为Windows Server 2008 R2,采用Microsoft Cluster Server(MCS)实现服务器集群。每台服务器的第一块网卡接入公网交换机,配置公网IP;第二块网卡直连作为心跳线,配置私有IP;第三块网卡连接磁盘阵列,与磁盘阵列提供的IP地址在同一网段。另外使用两台B类服务器,其中一台用作为域控服务器,另外一台作为冗余域控服务器,安装Windows Server 2008操作系统,更新所有系统补丁,并安装域控管理软件,接入交换机并配置公网IP地址。PHD-SQL数据库服务器集群拓扑结构如图2所示。
图2
磁盘阵列采用HP P2000 SCSI磁盘阵列柜,安装20块300G硬盘,总容量为6TB,其中预留4块磁盘作为热备盘,其余磁盘阵列方式为RAID5。其分区明细如下:
1区:1.99TB,分配给2台PHD-SQL服务器做实时数据库Cluster集群;
2区:5GB,分配给2台PHD-SQL服务器,用于集群设计的心跳连接缓存区;
3区:600GB,分配给2台PHD-SQL服务器,用于SQL集群;
4区、5区和6区平均分配剩余空间,每个约600GB,分配给2台oracle服务器做RAC集群。
为了保证系统在某台服务器出现故障时能正常运行,必须构造容错系统。在MES系统中,容错主要包括故障诊断和故障替换两部分。我们用心跳检测(heartbeat)来诊断故障,监控服务器每隔5秒向被监控服务器发出检测信息包,被监控服务器中的心跳守护程序返回应答信息和有关的状态信息,如被监控服务器不能及时响应,就认为被监控服务器出现故障。
故障替换应用在主从两台服务器之间,在主服务器有故障时,自动切换到后备服务器。主服务器与后备服务器都可以处于活动状态(active)和非活动状态(inactive)两种状态之一。当主服务器与后备服务器皆处于无故障正常状态时,主服务器为活动状态,执行系统服务,而非活动状态服务器执行监督活动服务器的任务。一旦非活动服务器检测到活动服务器出现故障,就进行故障切换,原来非活动服务器成为活动服务器,启动服务和虚拟IP地址,并响应客户机服务请求,而原来活动服务器则停止服务。
当集群中一台服务器发生故障而由另一台节点机来接替其服务时,为了保持集群内服务器的切换对其它应用服务器是固定的,就必须提供公共虚拟IP(VIP)地址。提供服务的节点切换时,该VIP随之移到新的服务节点。
2 集群测试
集群创建后测试集群的状态非常重要,要测试其是否能够满足MES系统正常运行,必须关注两个方面。一方面是当任意一台服务器故障时,另一台服务器是否能够在较短的时间内提供服务;另一个方面是共享数据是否准确无误。
首先采用Windows集群管理器中提供的测试。在主服务器上打开集群管理器,选择主服务器下线,同时在应用服务器上使用TPI访问数据库服务器,约30秒后即可正常访问,说明服务从主服务器成功切换至备用服务器。
另外模拟服务器宕机进行测试。将主服务器强制关机,同时在应用服务器上使用TPI访问数据库服务器,约50秒后可正常访问,说明在主服务器宕机后,服务可以成功切换至备用服务器。
最后,在数据库中写入大量测试数据,并模拟主服务器宕机,系统服务切换至备用服务器后,经检查数据库服务器中的测试数据准确无误,说明集群服务提供的共享数据完整,能够满足MES系统运行要求。
3 结论
利用ORACLE RAC集群技术,使用两台IBM数据库服务器(共享存储HP P2000磁盘阵列)成功安装了两个节点的ORACLE RAC集群,该集群为MES系统提供了较好的后台数据库支撑;另外,利用Microsoft Cluster Server(MCS)实现PHD和SQL Server数据库服务器集群,为MES系统提供了稳定的实时数据库平台。Oracle数据库服务器、PHD实时数据库服务器何SQL Server数据库服务器集群的成功创建,实现了服务器故障时的自动诊断和自动切换,能够避免因为服务器故障导致的系统服务终止,保证了MES系统运行的高可用性。集群技术随着服务器硬件系统与操作系统的发展将会在高可用性、高可靠性、系统冗余等方面逐步提高,利用服务器的集群技术,通过周密计划和网络维护,系统破坏的机率是非常小的,因此对用户来说,使用集群技术的MES系统可以大大地增强服务器的稳定性,满足系统7×24小时的运行需求。
转载请注明出处:拓步ERP资讯网http://www.toberp.com/
本文标题:服务器集群技术在某石化公司MES/ERP系统中的应用
本文网址:http://www.toberp.com/html/consultation/10819912226.html