基于H3C CAS HA高可靠性和Nginx负载均衡的教务管理系统构建研究
2021-08-31刘振东
刘振东
关键词:H3C CAS;HA;Nginx;反向代理;负载均衡
在我国,校园信息化建设的水平是评价高校教育、教学水平的重要指标,而教务管理系统是高校教育信息化工作的重要组成部分。目前各高校办学规模不断扩大,学生数量不断增加,高校学生人数动辄上万人计。大量学生在短时间内同时访问教务管理系统,很容易造成服务器资源不足,进而造成服务器响应缓慢甚至宕机。比如每学期开学前的学生选课,学生为了选到理想的课程,在选课功能开通后,争先登录教务管理系统,造成选课页面无响应、系统反应迟钝,严重影响学生选课。此外学生集中查询成绩,老师期末集中登记学生成绩等也会造成服务器负担过重。为解决教务管理系统的拥堵问题,设计和实现了基于H3C CAS HA高可靠性和Nginx负载均衡的教务管理系统。使用H3C CAS HA高可靠性功能,当一台虚拟机出现故障时,系统会重新生成一台同样的虚拟机并启动。当一台服务器主机出现故障时,运行在这台主机上的所有虚拟机会自动在集群中的其他主机上重新启动。使用Nginx的负载均衡功能,可以将对一台服务器的访问量分配给集群中的多台服务器共同分担,有效减轻单台服务器的负担。
1 H3C CAS HA高可靠性技术
H3C CAS云计算平台是H3C公司推出的构建云计算基础架构的管理软件,它为数据中心云计算基础架构提供完善的虚拟化和云业务运营管理解决方案,用于实现数据中心云计算环境的中央管理控制。通过CAS云计算管理平台简洁的管理界面,操作员可以轻松地统一管理数据中心的所有物理资源和虚拟资源,不仅能提高操作员的管控能力、简化日常例行工作,还可以降低IT环境的复杂度和运维成本。
CAS管理软件由三个组件构成:CIC(Cloud IntelligenceCenter,云业务管理中心)、CVM(Cloud Virtualization Manager,虚拟化管理系统)和CVK(Cloud Virtualization Kernel,虚拟化内核平台)。CAS管理软件需要安装到数据中心的多台物理主机上:CVK组件在每台物理主机上都要安装,CVM组件只在管理用的那台物理主机上安装。用H3C公司提供的安装光盘启动物理主机,即可安装CVK和CVM组件。
安装完CAS管理软件后,打开登录PC的Web浏览器,在地址栏中输入云学院管理平台服务器的IP地址,就可以登录H3C Cloud云学院管理平台。在云计算管理平台中可以建立主机池、集群,添加主机、共享存储、虚拟交换机、虚拟机,为虚拟机安装操作系统和应用软件。
使用H3C CAS云计算机管理平台,可以在一台物理主机上建立多台虚拟机,每台虚拟机可以安装不同的操作系统和应用软件。当把多个物理主机可以加入集群后,通过集群,操作员可以轻松地管理多个主机和虚拟机,从而提高工作效率,降低管理的复杂度。同时,系统将定时监测集群内的主机和虚拟机状态,保证数据中心业务的连续性。例如,当一台服务器主机出现故障时,运行在这台主机上的所有虚拟机会自动在集群中的其他主机上重新启动运行。
H3C CAS云计算机管理平台的HA高可靠性特性用于实现系統的高可靠性,可以分为两种:(1)集群HA。集群开启HA功能之后,CVM会持续对集群内所有的物理主机和物理主机上的虚拟机进行监测。当一台虚拟机出现故障时,系统会在本主机或其他主机上重新生成同样的一台虚拟机并启动虚拟机。当物理主机发生故障时,CVM将在集群内其他可用的物理主机上重新生成并启动所有受影响的虚拟机。(2)应用HA。应用HA是指运行于虚拟机操作系统内的应用进程的高可靠性,当物理主机和虚拟机都是正常的,而由于应用进程自身原因导致系统无法对外正常提供服务时,CAS云计算机平台可以在最短的时间自动恢复虚拟机上的应用进程。如果系统在连续3个时间周期内探测到监测的服务状态不正常,则自动重启该服务;如果连续4个时间周期检测到应用服务故障,且重启服务失败,则根据系统管理员配置的应用HA策略,重新启动虚拟机或仅发出应用故障不可恢复的告警消息。
2 Nginx反向代理和负载均衡技术
Ngnix是由俄罗斯人Igor Sysoev开发的一款高性能Web服务器,同时支持反向代理和负载均衡,还具有IMAP/POP3/SMTP邮件代理服务器的功能。Nginx在处理高并发请求方面非常出色,并且运行稳定,资源消耗低,越来越多的公司选择Ngnix作为Web服务器,像国外的Google、Apple及亚马逊,国内有百度、腾讯及阿里等。
所谓Nginx反向代理,是指当一台服务器在单位时间内的访问量越大时,服务器压力也越大,当大到超过自身承受能力时,服务器就会崩溃;为了避免服务器崩溃,让用户有更好的体验,可以先建立一个Nginx反向代理服务器,然后建立多个相同的Web服务器组成一个服务器集群。当用户访问网站时,先访问Nginx代理服务器,由Nginx服务器按一定的策略在服务器集群中选择一个服务器,将该访问请求引入该服务器,由这台Web服务器向用户提供服务。当多个用户访问网站,会被引领到不同的Web服务器,这样能够保证服务器集群中的每个服务器压力趋于平衡,分担了服务器压力,避免服务器崩溃。Nginx实现负载均衡基于其反向代理功能。可以通过选择合适的负载均衡策略来决定由哪台后台服务器来处理客户端的请求。Ngnix服务器支持的负载均衡策略分为两种:内置策略和扩展策略,内置策略有轮询、加权轮询、ip_hash,扩展策略有url_hash、fair等。
(1)轮询。轮询策略的方法是把来自各个用户的请求,按照不同用户访问的先后顺序,轮流分配到不同的后台服务器上,假如后端服务器出现问题,可以自动剔除。(2)加权轮询。轮询算法并没有考虑每台服务器的处理能力,现实当中,由于每台服务器配置不同,其处理能力会不一样。加权轮询策略的原理是,根据服务器处理能力的不同,给每台服务器分配不同的权值,权值越大被轮询到的概率越大。(3)ip_hash。ip_hash策略对客户端的IP进行哈希运算,根据运算结果将请求分配给不同的后端服务器。使用ip_hash策略,可以保证每个访问请求IP会固定访问一台后端服务器。(4)url_hash。url_hash策略和ip_hash策略类似,两者的主要区别在于ip_hash策略是对前端访问IP进行哈希运算,url_hash策略则是对前端请求的进行哈希运算。使用url_hash策略,可以通过缓存服务器提升缓存效率。(5)fair。fair策略可以根据页面的大小和加载时间长短智能地选择后端服务器进行负载均衡。
3基于H3C CAS HA高可靠性和Nginx负载均衡的教务管理系统解决方案
(1)需求分析。河北政法职业学院现有教职员工700余人,在校学生12000余人。老师和学生经常需要访问教务管理系统,特别是学期初学生选课、查询分数、查询课表,老师查询课表、学期末登记学生分数,对教务系统访问量都很大。新设计的教务管理系统必须要满足老师和学生对教务系统的各种需求,要有很好的稳定性,在访问高峰期不能出现访问缓慢、停止反应等现象。除教务管理系统外,学院其他应用系统如学院官网、学工系统、人事系统、迎新系统、离校系统、科研系统等都要放在H3C CAS云计算平台上。H3C CAS云计算平台要保证所有应用系统的正常使用。
(2)方案软、硬件配置。①硬件配置。物理主机为4台HP ProLiant BL660c Gen9刀架式服务器,共享存储为3 Par共享存储,容量20TB。刀架式服务器的硬件配置为:CPU型号:Intel(R)Xeon(R)CPU E5-4620 v4@2.10GHz,CPU核心:4x10x2核,內存:503.27GB,硬盘:169.38GB。②软件配置。在4台刀架式服务器上安装H3C CAS云计算平台管理软件。在云计算机平台上建立7台虚拟机,7台虚拟机全部安装RedHat7.0 Linux操作系统。在做反向代理的虚拟机上安装Nginx软件;在做数据库服务器的虚拟机上安装数据库软件;其余5台虚拟机,安装tomcat Web服务器软件,配置正方教务管理系统。
4配置H3C CAS HA高可靠性
在H3C CAS云管理平台的管理界面中,单击导航树中[云资源/主机池/<集群>]菜单项,进入集群概要信息页面。单[高可性]按钮,即可设置启用CAS的集群HA高可靠性。
H3C CAS应用HA操作手册中列出了能够使用应用HA的兼容软件列表,兼容软件列表中没有列出Ngnix和tomcat在Linux操作系统下能够支应应用HA。操作手册中说对于未在列表中的软件可能可以支持,但在项目实施前需要进行适当的适配与验证工作。经过测试,Nginx和tomcat在Linux操作系统下不支持应用HA,所以系统中没有设置这两款软件的应用HA。
5配置Nginx反向代理
Nginx服务器的配置信息主要集中在nginx.conf配置文件中,其中与反向代理和负载均衡功能有关的配置位于http模块中,如下面程序段所示。http模块包含server模块和up-stream模块。在upstream模块中定义了一个名为“site”的服务器列表。server模块定义了一个虚拟访问主机,也就是一个虚拟服务器,Server模块中的location模块下面的proxy_pass参数决定选择哪个服务器列表。
6结语
基于H3C CAS HA高可靠性和Nginx负载均衡的教务管理系统建成之后,性能非常稳定,在系统使用高峰期,系统没有明显延迟。在精心维护下,教务管理系统没有出现过故障。说明基于H3C CAS HA高可靠性和Nginx负载均衡的教务管理系统的设计是合理的。不足之处是Nginx和tomcat程序没能使用H3C CAS应用HA高可靠性功能,需要联系H3C公司,适配Nginx在CAS平台的应用HA高可靠性。