河南大学 李雪瑶
传统机房管理的部署方式分为两种,一种是一对一式部署,一台服务器对应一个服务系统,这种方式能够实现不同服务系统之间的物理隔离,具有较高的安全性和响应速度,但仅有一个服务系统难以实现对服务器资源的有效利用;另一种是一对多式部署,一台服务器对应多个服务系统,这种方式能够最大程度利用服务器资源,但不同服务系统之间难免会出现交叉混淆,安全性较低,并且其中一个服务系统负载较大时,会对其他服务系统造成影响,出现服务器资源配置混乱的问题。所以两种传统部署方式都有一定的应用缺陷,不利于机房的精细化管理,可以使用虚拟服务器管理技术重新设计机房管理系统架构[1]。虚拟服务器管理技术能够集中管理所有服务器的数据中心,通过集群将数据中心资源进行优化配置,分割成多个子集,能够让多个主机同时运行,服务系统则运行在一个或多个虚拟机中。由此通过主机中的虚拟机实现服务器资源的动态配置,当一对一运行模式时,虚拟机只在对应的服务系统中运行,遵循物理隔离,保证安全性;当一对多运行模式时,虚拟机根据不同服务系统之间的负载情况对资源进行分配,负载较大的服务系统分配的服务器资源较多,反之较低。该系统主要分为数据中心管理模块、集群管理模块、主机管理模块和虚拟机管理模块[2]。
2.1.1 数据中心管理模块的设计
设计使用DataCenterManager 来抽象数据中心管理模块,DataCenterManager 中设有两个变量,分别是morDC 和dcName,分别代表数据中心受管对象和数据中心的名称。实现流程为查找数据中心、查找所有集群、查找hostFolder、查找vmFolder 和创建集群功能[3]。
2.1.2 集群管理模块的设计
设计使用ClusterManager 来抽象集群管理模块,ClusterManager 中设有三个变量,分别是morCluster、clusterName 和dataCenter,分别代表受管对象引用、集群受管对象和集群名称。实现流程为查找集群、查找所有主机、查找资源池、删除集群、创建集群和添加主机功能[4]。
2.1.3 主机管理模块的设计
设计使用HostSystemManager 来抽象主机管理模块,HostSystemManager 中设有三个变量,分别是morHost、hostName 和cluster,分别代表集群受管对象、主机名称和主机对应集群受管对象。实现流程为查找主机、查找所有虚拟机、创建虚拟机、查询主机的信息和查询主机的性能[5]。
2.1.4 虚拟机管理模块的设计
设计使用VirtualMachineManager 来抽象虚拟机管理模块,VirtualMachineManager 中设有三个变量,分别是morVM、vmName 和hostSystem,分别代表虚拟机受管对象虚拟机名称和虚拟机对应主机受管对象。实现流程为查找主机、查找虚拟机的信息、配置虚拟机的属性、定制虚拟机的客户机系统、创建模板和克隆虚拟机[6]。
系统管理模块的实现程序如图1 所示。
图1 系统管理模块的实现程序Fig.1 Implementation program of the system management module
文章使用Apache JMeter 来测试基于虚拟服务器管理技术的机房管理系统的性能情况。Apache JMeter 是Apache 组织基于Java 开发的压力测试工具,可用于测试静态和动态资源,如静态文件、Java 小服务程序、CGI 脚本、Java 对象、数据库和FTP 服务器等。JMeter 能够模拟服务器、网络或对象中的巨大负载,在不同压力类别下测试它们的强度和分析整体性能[7]。
文章在Apache JMeter 中设定三个测试机、两个Tomcat服务器、一个Nginx 服务器和一个MySQL 服务器。测试步骤分为单个Tomcat 测试和两个Tomcat 测试两部分,通过两次测试的数据对比判断文章机房管理系统的应用性能。三台测试机均设置为1000 个并发线程,每个线程循环2 次。
单个Tomcat 测试数据测试数据如表1 所示。
根据表1 可以得知,总请求次数为41132 次、整体响应时间为3434ms、错误比例均为0.00%、延迟为631.9KB/sec,说明服务器会在3434ms内,完成41132次请求。
表1 单个Tomcat 测试数据Tab.1 Single Tomcat test data
在进行单个Tomcat 测试中发现服务器192.179.1.72的负载过重,机房管理系统将服务器192.179.1.83 的服务器资源分配到服务器192.179.1.72中,提升服务器192.179.1.72 的性能,两个Tomcat 测试数据如表2 所示。
根据表2 可以得知,总请求次数为42784 次、整体响应时间为2798ms、错误比例均为0.00%、延迟为581.3KB/sec,说明服务器会在2798ms内,完成42784次请求。证明相比于单个服务器,两个服务器分担负载的方式能够大幅度提升服务系统的性能,在请求次数增加1652 次的前提下,响应时间减少636ms。
表2 两个Tomcat 测试数据Tab.2 Two Tomcat test data
综上所述,文章设计的基于虚拟服务器管理技术的机房管理系统包括数据中心管理模块、集群管理模块、主机管理模块和虚拟机管理模块4 个模块,能够在服务系统负载较大的情况下,动态分配服务器资源,负载较大的服务系统分配的服务器资源较多,反之较低,进而实现对服务系统性能的提升和机房的精细化管理。经过Apache JMeter 测试后,通过测试数据可以验证文章机房管理系统的应用性能,在请求次数增加1652 次的前提下,响应时间减少636ms。
引用
[1] 陈琛.使用Fail2ban防御针对虚拟服务器的暴力破解攻击[J].网络安全和信息化,2022(1):134-138.
[2] 游钐栗,熊卫华,应繁.基于服务器虚拟化的智慧云桌面系统设计与应用[J].软件工程,2022,25(10):54-58.
[3] 彭红旭.服务器虚拟化技术在民办高校经管实验中心的应用探究[J].电脑知识与技术,2022,18(15):112-113+122.
[4] 金俊玲,王昕.基于服务器虚拟化技术的数据中心网络安全设计[J].网络安全技术与应用,2022(5):5-7.
[5] 郑臣明,姚宣霞,周芳,等.基于硬件虚拟化的云服务器设计与实现[J].工程科学学报,2022,44(11):1935-1945.
[6] 徐岩.服务器虚拟化技术在医疗业务信息化的应用研究[J].网络安全技术与应用,2022(1):115-117.
[7] 宋文彬,潘晋.多玩家在线游戏中的虚拟世界划分和服务器分配[J].国外电子测量技术,2022,41(3):137-144.