制造企业信息管理系统数据库/应用服务器双机热备解决方案北京酷博睿特信息技术有限公司2010-8一.项目背景在企业运营过程中,会产生和积累大量的数据。
这些数据环环相扣,纵横交错。
从管理流程上看,数据传递上至最高管理层,下至生产最基层;从产品实现过程看,则囊括从设计、采购、生产、库存到销售和售后服务的全生命周期。
这些数据蕴含着对企业具有重大价值的知识和信息,获取和使用这些知识的途径便是充分有效地利用制造企业信息平台。
制造企业信息平台将企业运作的各部分、各环节生成的信息紧密地“链接”在一起,其有效的配置可以实现生产全过程和产品全生命周期的支持和监控,使物流、信息流、资金流通畅运行。
在企业整个生产过程中,生产业务的连续性是制造企业的生命线,如何保障企业信息管理系统的稳定,不间断运行,是现代化企业管理者最为关心的话题。
二.系统高可用需求现代化企业信息管理系统,是现代管理知识和计算机技术相结合的产物。
信息管理系统能为企业不仅带来经济效益,还为提升公司综合竞争力起到重要的作用。
对于当前企业的信息管理系统系统部署在Windows 2003/Linux平台上,数据库、应用服务器、Web服务器、文件服务器等均是企业信息管理系统中至关重要的组成部分。
无论是硬件、平台软件还是应用软件,一旦发生故障,将会造成服务的中断,数据的丢失,给企业带来重大经济损失。
正是基于安全性、连续性、可靠性及避免单点故障的考虑,用户需要对数据库、应用服务器、Web服务器等系统构筑成为双机热备系统,确保系统(包括整个硬件系统和软件系统)高可用性。
2.1 企业信息管理系统当前存在的问题1)、服务器出现软、硬件故障,致使服务器宕机,对外服务停止。
2)、当系统出现故障而停止服务,管理人员无法及时得到通知。
3)、维护困难,修复时间较长,系统宕机期间给企业带来巨大经济损失。
4)、系统数据关系企业的命脉,数据库单点故障导致数据丢失是系统最大风险。
5)、原有意识认为,服务停止不是重大事故,系统依然单机运行。
发生故障几率大。
6)、对高可用集群的技术及作用不了解,没有想到使用高可用软件。
2.2 数据库系统常见故障及高可用的基本要求✧系统故障(System failure)系统故障主要是由于服务器在运行过程中,突然发生操作系统错误、停电等原因造成的非正常中断,用户对数据库进行处理的事务被突然中断,内存缓冲区中的数据全部丢失,但硬盘、磁带等外设上的数据未受损失。
✧介质故障(Media failure)介质故障是由于硬件的可靠性较差出现的存储介质发生物理损坏。
数据库的数据全部或部分丢失,破坏性较大。
✧事务故障(Event failure)事务故障是某些对数据库进行操作的事务违反了系统设定的条件,如输入数据错误、运算溢出等,使事务未能正常完成就终止。
发生事务故障时,事务对数据库的操作可能已经修改了部分数据,因此数据库管理系统必须提供某种恢复机制,强行回滚该事务对数据库的所有修改,使系统回到该事务发生前的状态。
✧数据库僵死故障(Defunct failure)由于数据库系统中某些进程运行过程占用大量系统资源,出现系统性能下降,并出现进程阻塞现象。
进程无法自动释放,而导致数据库进程无法响应应用程序的调用。
从服务进程列表可以看到服务的存在,但已经无法正常工作。
由于这种隐蔽的故障很难及时发现,会给用户造成巨大的经济损失。
2.3 应用服务器系统常见故障及高可用的基本要求内存泄漏是比较常见的一种应用程序性能问题,一旦发生,则系统的可用内存和性能持续下降;最终将导致内存不足(OutOfMemory),系统彻底宕掉,不能响应任何请求,其危害相当严重。
同时,Java堆(Heap)中大量的对象以及对象间之复杂关系,导致内存泄漏问题的探测和分析均比较困难,采用相应的辅助工具是很必要的。
另外,当故障发生时,能及时通过多种报警方式,如邮件或短信报警等,及早发现故障。
2.4 Web服务器系统常见故障及高可用的基本要求WEB服务器采用的是浏览器/服务器结构,其作用是整理和储存各种WWW资源,并响应客户端软件的请求,把客户所需的资源传送到 Windows、UNIX 或 Linux 等平台上。
Web服务器承担着处理HTTP请求(request)的任务,并传送(serves)页面,使客户端浏览器可以浏览信息。
一旦Web服务器出现设置错误,断电,硬件损坏等故障,将直接影响用户的访问,造成信誉和经济的巨大损失。
因此,对Web服务器提出高可用性要求,达到99.99%。
当故障发生时,能够提供多种报警方式,如邮件或短信报警等。
2.5 文件服务器高可用的基本要求文件服务器是最基本的服务器,是实现文件(数据)资源的共享使用。
承担着企业内部各个部门的协同工作,作用非常重要。
一旦故障发生,通过应用备份机制,将文件服务器服务尽快恢复,降低经济损失。
另外,一旦故障发生,要求提供多种报警方式,如邮件或短信报警等。
简单地说就是必须保证企业信息管理系统7*24小时不间断运行。
三.解决方案3.1方案描述本方案中采用NEC EXPRESSCLUSTER构筑企业信息系统高可用集群方案,保护系统中的数据库服务器、应用服务器、WEB服务器、文件服务器等实现集群,达到高可用性目的。
当任何一个应用发生故障时,将服务切换到待机的服务器上运行,保证网站系统平台应用7*24小时不间断地运行,同时保证数据安全可靠性。
NEC EXPRESSCLUSTER可以提供数据库服务器的高度可靠性和容错能力。
可以采用共享磁盘型双机热备结构,将用户数据存储于磁盘陈列分区上。
也可以采用镜像型双机热备结构。
采用NEC EXPRESSCLUSTER镜像方式构筑集群系统,保护应用系统中的应用服务器实现集群,达到高可用性。
当主机应用发生故障时,将服务切换到待机的服务器上运行,保证网站系统平台应用7*24小时不间断地运行。
采用NEC EXPRESSCLUSTER镜像方式构筑集群系统,保护应用系统中的Web/文件服务器实现集群,达到高可用性。
当主机应用发生故障时,将服务切换到待机的服务器上运行,保证网站系统平台应用7*24小时不间断地运行。
3.2基本架构数据库服务器二台数据库服务器通过网线连接到网络交换机上,同时两台机器通过直连线相互连接,作为心跳线,进行实时探测系统状态。
数据库服务器,其中准备一台待机服务器通过集群软件构件成一个双机集群,NEC EXPRESSCLUSTER实时监视服务存活状态,提高企业网站平台的系统高可用性。
集群软件对本地数据实时监视,实现数据的一致性、完整性、可用性,为数据提供了又一层保护。
应用服务器应用服务器是企业服务的核心运行平台,将其设置一主一备。
服务器通过网线连接到网络交换机上,相互之间通过直连线做心跳线,进行实时探测系统状态。
WEB服务器/文档服务器Web服务器和文档服务器互为双机热备,通过网络交换机连接,其中一台服务器是另外一台服务器的备份服务器,通过集群软件构件成一个双机集群,NEC EXPRESSCLUSTER实时监视服务存活状态,提高企业网站平台的系统高可用性。
3.3系统结构示意图3.4系统说明(以数据库集群为例)系统以Windows2003操作系统为平台,企业信息管理系统应用中的数据库服务器安装本地系统文件及集群软件,数据保存在共享存储上面。
集群高可用工作模式:企业信息管理系统中的数据库服务器有二台,有一台待机服务器,进行热备,在这二台服务器上都需要安装NEC EXPRESSCLUSTER集群软件。
其中一台服务器发生故障(故障包括IP地址,OS死机、数据库服务、CALL CENTER服务的故障、硬件故障等)都将切换到待机服务器上。
主机处理于Active,另外一台主机为热备援服务器处于Standby。
通常情况下服务器均在运行,而备援服务器处于待机状态;当其中任一台应用服务器发生故障不能正常运转时,备援服务器接管磁盘继续运行,保证系统能够不间断地运行。
当应用服务器修复启动后重新接管磁盘,备援服务器又恢复为待机状态。
3.5系统特点硬件结合实现真正意义上的数据与系统分离。
对硬件配置要求不高,服务器可采用不同或相差较大的配置。
系统切换时间短,从几秒到几十秒之间,平均切换时间为20秒,为目前同行软件中最短。
切换过程对应用程序无影响,无需重新启动或登录。
系统效率高。
因为整个系统中数据读写、管理及容错由磁盘阵列来完成。
而系统从服务器故障纠错处理由集群软件来完成,而这两个都是相对独立的子系统。
集群容错监控路径为10/100M自适应网卡线路,既不占用主机CPU资源也不占用基础网络带宽,因此系统效率高,这一点在实际的应用中得到用户的一致好评。
主要功能自动侦测:集群软件提供全方位的实时故障监视,可以监视网络、存储、服务器、操作系统、应用软件、集群软件自身服务状态、待机服务器上的软硬件资源的状态。
集群软件的网络心跳通过系统的内核空间进行,不受系统负荷的影响。
除了支持网络心跳外,还可以通过COM口、存储设备上的特定分区、以及Ping第三方的方式确认服务器的状态。
除了对应用程序和服务进行常规级别的监视外(所谓常规级别的监视,即进程死活级别的监视),集群软件还提供了一系列监视选件产品,如Database Agent、Internet Server Agent、Application Server Agent、File Server Agent等,这些监视选件产品定期对应用程序进行实际的访问处理,探测应用的响应时间,返回结果等状态,从而实现对应用程序和服务的僵死状态(Stall)的监视,为用户的关键业务系统提供了更深层次的保护。
集群软件的监视选件可以支持4个领域内的大部分主流应用,包括数据库服务器、互联网服务器、文件服务器和应用服务器等。
自动切换:当侦测到任何一种硬件错误或服务器宕机等故障,集群立即执行自动切换功能,在极短时间内,将资源(如虚拟IP地址、WEB服务、MSSQL服务、虚拟计算机名等等)和磁盘上的数据切换到待机上,并继续运行WEB服务、MSSQL服务等。
对于客户端来说这种接管过程是透明不可见的,感觉不到这种故障切换。
确认正常运行业务后,故障恢复的过程就开始了,用户很快即会回到正常操作。
简单维护:提供基于B/S结构的标准GUI用户界面,采用树状层级显示,集群架构清楚明了。
基于Java的开发技术,支持远程管理与操作,可在统一的界面下,用统一的方式同时管理多个不同平台上的集群(Windows与Linux集群均可),在集群各个节点上可以看到同样详细的管理信息和管理功能。
可以在日志视图中显示系统的详细信息,便于管理者及时发现集群的各种问题。
在发生故障或进行切换时,系统可以自动向管理员发送故障通知邮件。
这样极大的方便了系统管理员的操作和管理。