浅谈高校应用系统的强壮性
2019-11-03金天昕
金天昕
摘要:高校应用系统上线运行后,如何保证系统的强壮性就是头等大事,但由于种种条件的限制,每套系统都不可能按照高可用性的标准去部署,有的时候是单机运行,条件好的可以集群部署,因而,要保证系统服务不间断及发生故障后能尽快恢复,就成了运维工作的重中之重。
关键词:系统强壮性;高可用性;快速恢复
中图分类号:TP311 文献标识码:A
文章编号:1009-3044(2019)24-0231-02
开放科学(资源服务)标识码(OSID):
、
Talking about the Robustness of the Application System in Colleges and Universities
JIN Tian-xin
(Wuxi City College of Vocational Technology, Wuxi 214153, China)
Abstract: How to ensure the robustness of the system is the most important thing after the application system in Colleges and universities is running online. However, due to the restrictions of various conditions, it is impossible to deploy each system according to the high availability standard. Sometimes it runs on a single computer and can be deployed in clusters under good conditions. Therefore, to ensure the uninterrupted service of the system and to recover as soon as possible after the failure occurs, it becomes operation and maintenance. The top priority of the work.
Key words: system robustness; high availability; fast recovery
1 引言
随着高校信息化建设的不断发展,部署上线的应用系统日益增多,完成部署后,在广大教职工用户开始体验新功能,感受更高工作效率的时候,IT部门的技术人员却要面对另一种压力——如何保证系统的强壮性。强壮性不仅仅指系统服务的不间断的运行,还包括出现故障后如何用最短时间恢复服务,其不仅包括恢复的速度,也包括恢复的程度,是一个更为宽泛的概念。行业内一般比较关注高可用性(High Availability,通常来描述一个系统经过专门的设计,从而减少停工时间,保持其服务的高度可用性),这是强壮性要求里面一个非常重要,甚至是核心的内容,但不是全部,故障恢复能力也是构成强壮性不可或缺的内容之一。运维中,容易引发问题的方面,有硬件可靠性、软件稳定性、病毒的入侵、黑客的攻击、电力的保证、环境的控制等。要实现系统的高质量运行目标,从部署模式到数据恢复都是必须下功夫认真对待的环节,系统强壮性就是这方面的一个概括,主要包含两个内容,一是用高可用的措施尽量保证系统不出现故障,二是在不得已出现故障后,如何快速恢复系统运行。本文将就系统的高可用方案和如何快速恢复运行两个方面进行讨论。
2 目前系统部署模式方面存在的问题
目前高校部署应用系统,根据各自条件的不同,一般分为单机运行模式、双机运行模式、集群运行模式等。在高可用性方面,各有短长。
1)单机运行是将服务所要运行的几个模块都部署在一个操作系统里,既有web访问页面,也有数据库,还有密钥服务、office转换服务、文件检索服务等,其稳定运行依赖于pc的稳定,对于访问量小的应用场景是合适的,但对软件的稳定要求很高,各个功能模块都必须稳定可靠,一旦其中的某个模块出现故障,应用系统就无法访问了,整个服务都无法继续,服务恢复的快慢,完全取决于排除故障的速度,在强壮性方面是较差的一种模式,完全不具有高可用性。其优点是投入少,性价比高。
2)双机运行模式,采用部署两台完全一样的pc,内部环境及部署模块一模一样,但数据库存现同步的需要,需要额外进行配置,此模式由于多了一个保障设备,通过不同机制实现强壮性的提高,而排除故障的复杂度也大于单机模式,因为必须考虑到其关联性,否则只有一台出故障,也会造成两天都无法访问,整个应用停止的极端情况,其强壮性要优于单机模式。投入同样高于单机模式。
3)集群模式则采用多机协同的方式,将web访问、數据存储、负载均衡、文件搜索等功能进行分散部署,将故障发生的概率分摊到不同物理机或虚拟机上,甚至条件好的高校可以实现每个节点的双机互备,代价就是费用高昂,对维护人员提出更高要求,以及发生故障的节点增多。但故障恢复相对快捷,因为一个功能只牵涉到一台设备(物理的或虚拟的)。创建群集系统,通过实现高可用性的软件将冗余的高可用性的硬件组件和软件组件组合起来,消除单点故障:
l 消除供电的单点故障
l 消除磁盘的单点故障
l 消除SPU(System Process Unit)单点故障
l 消除网络单点故障
l 消除软件单点故障
3 高可用性的实现方法
1)单机模式,其服务不间断的要求,完全取决于主机的软硬件自身的强壮性,唯一可做的,就是经常进行硬件运行状态检查,并采用手工方式,给操作系统打补丁,应用系统升级、清理文件碎片,杀毒等维护操作,尽力使整个软硬件运行在正常状态,这是单机模式保证服务不间断的唯一方式。
2)双机模式,也称为双工方式(互备互援),其工作原理是:两台主机同时运行各自的服务工作且相互监测情况,两台服务器利用本地磁盘存储业务数据,ServHA镜像双机热备软件(ServHA Mirror)负责实时同步两台服务器数据,保证两台服务器数据完全一致,由主服务器对外服务,并将业务数据实时同步至备份服务器,一旦主服务器发生故障(例如:操作系统宕机、服务器意外掉电、网络故障等),由ServHA双机热备软件自动将业务应用切换至备用服务器继续对外服务,保护业务应用不间断运行。即使发生服务器的切换,用户也是感觉不到的。这个架构基本具备了高可用性的能力。
3)集群模式(多服务器互备方式),是高可用性体现最好的架构,采用全冗余方式,其工作原理是:多台主机一起工作,各自运行一个或几个服务,各为服务定义一个或多个备用主机,当某个主机故障时,运行在其上的服务就可以被其它主機接管。集群方式含负载均衡、页面服务器、文件存储服务器,三个环节都需要进行热备,各自需要建立一个备份机。主服务器和备份机上都运行High Availability监控程序,通过传送诸如“I am alive”这样的信息来监控对方的运行状况。当备份机不能在一定的时间内收到这样的信息时,它就接管主服务器的服务IP并继续提供服务;当备份管理器又从主管理器收到“I am alive”这样的信息时,它就释放服务IP地址,这样的主管理器就开始再次进行集群管理的工作了。为在主服务器失效的情况下系统能正常工作,我们在主、备份机之间实现负载集群系统配置信息的同步与备份,保持二者系统的基本一致。
4 故障快速恢复的实现方法
故障快速恢复,包括恢复的速度和恢复的程度。为了保证恢复工作的高效,应该从两个维度进行准备,硬件维度和软件维度。
硬件维度,在设备的配件冗余、主机冗余方面进行准备,在服务停止时间容忍度评估的基础上,进行采购及备货的安排,在保证硬件及配件到位的速度和资金压力之间找到平衡。这方面不是本文的重点,在此略过。
软件维度,包括系统运行环境、各类插件、中间件、数据库、运行数据及附件的备份等几个方面。
对于单机版模式,只有一台离线主机(物理或虚拟),可以想象,恢复时间是最长的,数据运行需要的环境都要重新安装一遍,其恢复时间是以天为单位计。这无疑是难以容忍的。要避免这种重头再来的恢复方式,可行的办法是部署一台离线的备用机,无论物理机或虚拟机,确保运行环境和主机一致,日常做好运行数据及附件的备份及导入,备用机在工作能力角度,处于随时做好上线工作的准备状态,同时考虑好备用机工作期间运行数据及附件的备份,待主机修复后能回到主机,这样,故障恢复的时间可以缩小到以小时为单位。
双机模式,和单机模式看似相同,但有本质区别,单机是离线冷备份,双机是在线热备份,两台机器的资料互为备份,按设置的心跳侦听机制进行实时的数据同步,甚至提供页面服务都可以轮流进行,做到了自动实时同步,那么恢复故障所花的时间,可以缩短到分钟基本,是系统强壮性较高的一种运维模式。
集群系统则复杂很多,机器数量大大增加,不仅实现web访问的双机热备,甚至连负载均衡、文件存储也都实现了双机热备,从数据备份的角度看,和双机系统运行机制类似,但数据可靠性大幅度增加,出现故障后能自动进行热备机切换,实现了故障恢复时间可以降低到秒级,是非常强悍的一种保障机制。
上文提到的,恢复速度,主要取决于硬件、运行环境、各类插件、中间件、数据库的恢复速度,而恢复程度,则取决于运行数据、附件及其还原程度。这里要求用于恢复的数据格式必须保持导出时的原样,内容也不能有任何缺失,否则会导致恢复的失败。
5 总结
通过梳理,我们发现,应用系统的强壮性,需要高可用性和快速恢复能力共同来构建,两手抓两手都要硬,从而来确保高校信息化服务的持续稳定,为各项工作提供现代化助力,为高校的建设和发展,做出IT行业应有的贡献。
参考文献:
[1] 刘小兵.分布式应用服务提供平台的研究与实现[D].电子科技大学,2011.
[2] 张弦.高可用性URL分类查询系统的设计与实现[D].北京邮电大学,2012.
[3] 邓仲举.高可靠性集群部署的设计与实现[D].华中科技大学,2012.
[4] 黄洲.Apache-Tomcat服务器集群管理系统的设计与实现[D].华中科技大学,2011.
[5] 梁锐.基于Web服务器集群的负载均衡系统研究与实现[D].大连海事大学,2013.
[6] 赵文浩.分布式校园信息服务平台的研究与实现[D].河北工业大学,2014.
[7] 王祎.基于Web应用的动态集群策略研究与设计[D].苏州大学,2014.
[8] 王文义,辛小南,王若雨.高性能集群计算机的构建与应用[J].计算机工程与应用,2001(17).
【通联编辑:代影】