分布式高可用IC卡系统的设计与实现
目前。校园网中许多原有的单台服务器的并发处理能力及负载能力已越来越无法满足需求,提高服务器性能已迫在眉睫。重新购买新的性能更高的服务器,如小型机或当下较为流行的刀片集群服务器是一种解决方法,但首先成本太高,其次是许多原有服务器仍较新,各方面的性能指标良好,废弃不用将造成极大的资源浪费。面对不断增加的负载压力,可以从两个方面来提升网络服务器的响应能力。一方面。可从客户访问行为分析人手,主要研究Caching技术,以缩小响应时间,这种技术可以在现有服务器设备的基础上尽可能地提高系统的性能,但性能提高的力度有限。
另一方面,可以从服务器的硬件性能来考虑:
① 从服务器单机性能人手,提高服务器的性能,以高昂的价格换取性能的提高。高可用服务器,企业级一般价格在10,000~15,000美元;高可用系统,根据处理器个数 冗余设备、服务器个数等配置状况。一般价格要超过250,000美元;容错服务器则需要70 000~1 000 000美元。显然一般学校承受不起。
② 从体系结构人手,将过去单一的服务器模式扩充为多服务器模式,用多台计算机来协作完成本来由一台服务器完成的功能。即分布式技术。这种技术可以显著提高服务器的总体性能。并且具有良好的可扩展性与高可靠性。根据学校的现有情况,采用分布式技术解决单台服务器性能局限形成的系统访问瓶颈的问题。
1 分布式高可用系统简介
分布式系统是由一些连接在一起的计算机构成的一个并行或分布式的系统。不管内部结构如何复杂,从外部来看,它就是一个持续性地提供统一高性能服务的系统。分布式系统允许用户把普通商用硬件系统组成机群。并根据需要随时增加新的硬件。提高系统的伸缩性和可用性,从而能够在价格相对低廉的中低端平台上享用过去只有高端系统才具备的高可伸缩性和高可用性,既提高了系统的性能,同时也降低了成本。
计算机系统的可用性包括:可靠性(MTTF)和可维护性(MTTR) 计算机系统的可靠性用平均无故障时间(MTTF)来度量,即计算机系统平均能够正常运行多少时间才发生一次故障。系统的可靠性越高,平均无故障时间越长。可维护性用平均维修时间来度量(MTTR),即系统发生故障后维修和重新恢复正常运行平均花费的时间。系统的可维护性越好,平均维修时间越短。计算机系统可用性定义为:MTTF/(MTTF+ MTTR)*100 。
计算机产业界常用“9”的个数来划分计算机系统的可用性的类型。一般将3个9(99.9 )以上的系统可用性。且在其支撑的业务运营的时间段内,能提供稳定持续的系统连接、能满足业务对性能的要求,能保证业务数据安全,即使出现故障也能在最短时间内恢复的系统称为高可用性系统。
分布式高可用系统,在进入正常运行状态后。通过专用的通讯链路和其它节点进行通讯。传输各节点的状态信息,使各节点的核心管理模块获得所有节点的实时状态。当系统中有节点故障时。管理模块根据当前的状态和该故障节点在系统中的角色做出系统是否重组。当该节点为工作机时,系统会自动将属于该节点的资源和任务移交到下一个备用节点,保证该业务正常运行。传统的分布式系统产品提供磁盘阵列系统做为高可用产品不可缺少的部分,但用户一直担心单点故障的产生。所以磁盘阵列的可靠性一直是用户命悬一线的关键。用户不昔巨资购建子存储系统。或异地存储子系统来保证数据的安全性。
2 系统采用的方案
采用双机热备方法。双机热备的原理:当一台服务器(主机)在工作时,另一台服务器(备机)作备用状态。当主机因为某种原因出现故障。不能继续提供服务时,备用机能够在规定的时间内接替主机的工作,从而达到不停机的服务。备份方案分双机冷备份和双机热备份两种。双机冷备份为主机实时工作,从机等待备用,这种方案最大的问题是无法实现实时数据备份。双机热备份有双机镜像和共享磁盘阵列两种方案。共享磁盘阵列方案为两台主机共用一个磁盘阵列。优点是不降低系统性能,但要求磁盘阵列具有较高的可靠性,出现了单点故障。
双机镜像方案将主数据库服务器上的表、文件、数据库等通过专用连接通道镜像到备用服务器上,优点是简单、便宜,对数据维护的能力与共享磁盘阵列方案相同。虽然系统针对硬件的备份对提高可靠性有较大影响,但从方案的灵活性,投资相对小等方面考虑 ,本系统采用双机热备中的双机镜像软件解决方案(如图1所示)。双机热备软件实现的关键是如何进行实时监控和数据备份。使用“心跳”检测等方法可以得到主机的运行状态,在合适的时机进行控制权的转换是系统正常运行的保障。数据库、实时数据等均需通过TCP/IP网络镜像到从机上,以保证数据的完整性。此外,同步可以防止多个应用程序之间的访问冲突。对整个系统的严格测试最终验证了系统的可行性、可靠性和切换的无缝性。
图1 纯软件双机热备份系统
对于纯软件的方式,通过镜像软件,将数据可以实时复制到另一台服务器上,这样同样的数据就在两台服务器上各存在一份,如果一台服务器出现故障,可以及时切换到另一台服务器。准备采用内存镜像的技术,这个技术的优点是所有的应用程序和网络操作系统在两台主机上镜像同步,当主机出现故障时,备机可以在几乎没有感觉的情况下接管所有应用程序。
3 主要问题的解决
没有了公共存储设备磁盘阵列,对于某一个需要进行切换的服务而言,怎样保证其所用的数据在两台服务器上是一致的呢?这就是数据镜像软件的功能所在一通过网络,将某一台服务器上指定路径下的数据采用同步或异步方式,镜像到另一台服务器。镜像软件取代双机热备份系统的磁盘阵列,关键在于其必须与Cluster软件协同工作。当某一服务运行于服务器A时,它所使用的特定数据在服务器A上对应于一个数据集合ФA,通过NTMirror将源数据集ФA镜像到服务器B成为目标数据集ФB,当NT Cluster将该服务程序从服务器ФA切换到服务器ФB时,它使用服务器B上的数据ФB,同时NTMirror自动修改原来从ФA到ФB的镜像成为从ФB到ФA的镜像。对一个服务程序是这样,对多个服务程序,则一一建立服务程序与数据镜像集之间的关系。这样,无论服务程序运行于哪一个服务器,始终保证其所使用的数据在对端服务器有一份镜像存在;当一台服务器发生故障失效,另一台可在保证提供自己原有服务的同时,启动失效服务器的应用程序从而取代其服务器功能。
4 结束语
该系统使校园IC卡在性能、安全等方面得到提高和进化,同时降低成本,在应用数量增多、负载增大时双机软件还可以平滑过渡到集群软件,易于扩展。