1、2023 年 1 月 Jan 2023Digital Technology&Application第 41 卷 第 1 期Vol.41 No.1数字技术与应用147中图分类号:TP368.5文献标识码:A 文章编号:1007-9416(2023)01-0147-03DOI:10.19695/12-1369.2023.01.44机房管理中虚拟服务器管理技术的应用河南大学李雪瑶1 基于虚拟服务器管理技术的机房管理系统架构设计传统机房管理的部署方式分为两种,一种是一对一式部署,一台服务器对应一个服务系统,这种方式能够实现不同服务系统之间的物理隔离,具有较高的安全性和响应速度,但仅有一个服务系统难以实
2、现对服务器资源的有效利用;另一种是一对多式部署,一台服务器对应多个服务系统,这种方式能够最大程度利用服务器资源,但不同服务系统之间难免会出现交叉混淆,安全性较低,并且其中一个服务系统负载较大时,会对其他服务系统造成影响,出现服务器资源配置混乱的问题。所以两种传统部署方式都有一定的应用缺陷,不利于机房的精细化管理,可以使用虚拟服务器管理技术重新设计机房管理系统架构1。虚拟服务器管理技术能够集中管理所有服务器的数据中心,通过集群将数据中心资源进行优化配置,分割成多个子集,能够让多个主机同时运行,服务系统则运行在一个或多个虚拟机中。由此通过主机中的虚拟机实现服务器资源的动态配置,当一对一运行模式时,
3、虚拟机只在对应的服务系统中运行,遵循物理隔离,保证安全性;当一对多运行模式时,虚拟机根据不同服务系统之间的负载情况对资源进行分配,负载较大的服务系统分配的服务器资源较多,反之较低。该系统主要分为数据中心管理模块、集群管理模块、主机管理模块和虚拟机管理模块2。2 系统管理模块的设计与实现2.1 系统管理模块的设计2.1.1 数据中心管理模块的设计设计使用 DataCenterManager 来抽象数据中心管理模块,DataCenterManager 中设有两个变量,分别是morDC 和 dcName,分别代表数据中心受管对象和数据中心的名称。实现流程为查找数据中心、查找所有集群、查找 hostF
4、older、查找 vmFolder 和创建集群功能3。2.1.2 集群管理模块的设计设计使用 ClusterManager 来抽象集群管理模块,ClusterManager 中设有三个变量,分别是 morCluster、clusterName 和 dataCenter,分别代表受管对象引用、集群受管对象和集群名称。实现流程为查找集群、查找所有主机、查找资源池、删除集群、创建集群和添加主机功能4。2.1.3 主机管理模块的设计设计使用 HostSystemManager 来抽象主机管理模块,HostSystemManager 中设有三个变量,分别是 morHost、hostName 和 clus
5、ter,分别代表集群受管对象、主机名称和主机对应集群受管对象。实现流程为查找主机、查找所有虚拟机、创建虚拟机、查询主机的信息和查询主机的性能5。2.1.4 虚拟机管理模块的设计设计使用 VirtualMachineManager 来抽象虚拟机管理模块,VirtualMachineManager 中设有三个变量,分别是 morVM、vmName 和 hostSystem,分别代表虚拟机受管对象虚拟机名称和虚拟机对应主机受管对象。实现流程为查找主机、查找虚拟机的信息、配置虚拟机的属性、定制虚拟机的客户机系统、创建模板和克隆虚拟机6。2.2 系统管理模块的实现程序系统管理模块的实现程序如图 1 所示
6、。3 性能测试与分析文章使用 Apache JMeter 来测试基于虚拟服务器管理技术的机房管理系统的性能情况。Apache JMeter 是Apache 组织基于 Java 开发的压力测试工具,可用于测试静态和动态资源,如静态文件、Java 小服务程序、CGI 脚本、Java 对象、数据库和 FTP 服务器等。JMeter 能够模拟服务器、网络或对象中的巨大负载,在不同压力类别收稿日期:2022-10-31作者简介:李雪瑶(2002),女,河南南阳人,本科,研究方向:大数据、服务器管理、Linux 操作系统、Web 开发与管理。数字技术与应用 第 41 卷148下测试它们的强度和分析整体性能
7、7。3.1 测试步骤文章在Apache JMeter中设定三个测试机、两个Tomcat服务器、一个 Nginx 服务器和一个 MySQL 服务器。测试步骤分为单个 Tomcat 测试和两个 Tomcat 测试两部分,通过两次测试的数据对比判断文章机房管理系统的应用性能。三台测试机均设置为 1000 个并发线程,每个线程循环 2 次。3.2 测试数据分析单个 Tomcat 测试数据测试数据如表 1 所示。根据表 1 可以得知,总请求次数为 41132 次、整体响应时间为 3434ms、错误比例均为 0.00%、延迟为631.9KB/sec,说明服务器会在 3434ms 内,完成 41132次请求
8、。在进行单个 Tomcat 测试中发现服务器 192.179.1.72的负载过重,机房管理系统将服务器 192.179.1.83 的服图 1 系统管理模块的实现程序 Fig.1 Implementation program of the system management module务器资源分配到服务器 192.179.1.72 中,提升服务器192.179.1.72 的性能,两个 Tomcat测试数据如表 2 所示。根据表 2 可以得知,总请求次数为 42784 次、整体响应时间为 2798ms、错误比例均为 0.00%、延迟为581.3KB/sec,说明服务器会在 2798ms 内,完成
9、 42784次请求。证明相比于单个服务器,两个服务器分担负载的方式能够大幅度提升服务系统的性能,在请求次数增加 1652 次的前提下,响应时间减少 636ms。4 结语综上所述,文章设计的基于虚拟服务器管理技术的机房管理系统包括数据中心管理模块、集群管理模块、主机管理模块和虚拟机管理模块 4 个模块,能够在服务系统负载较大的情况下,动态分配服务器资源,负载较大的服务系统分配的服务器资源较多,反之较低,进而实现对服务系统性能的提升和机房的精细化管理。经过Apache JMeter 测试后,通过测试数据可以验证文章机public class DataCenterManager;public Man
10、agedObjectReference morDC;/数据中心受管对象引用public String dcName;/数据中心的名称public ManagedObjectReference getDataCenterByName(String name);/按名称找到数据中心对象引用Public ArrayListgetAllCluster()/查找数据中心所有集群的名称public ManagedObjectReference getHostFolder()/得到hostFoldepublic ManagedObjectReference getVMFolder()/得到 vmFolder
11、public boolean createCluster(String clusterName);/创建集群public class ClusterManager;public ManagedObjectReference morCluster;/集群受管对象引用public String ClusterName;/集群的名称public DataCenterManager dataCenter;/集群所在的数据中心public ManagedObjectReference getClusterByName(String name);/按名称找到数据中心对象引用 Public ArrayLis
12、tgetAllHost()/查找集群中所有主机的名称public ManagedObjectReference getResourcePool()/查找集群中的资源池public static boolean deleteCluster(ManagedObjectReference morCluster);/删除集群public boolean addHost()/添加主机public class HostSystemManager;public String hostName;/主机的名称ManagedObjectReference.morHost;/主机受管对象引用public Clust
13、erManager cluster;/主机所在的集群对象管理public ManagedObjectReference getHostByName(String hname);/按名称找到主机对象引用public ArrayListgetAllVM()/查找主机中所有虚拟机的名称public void createVm(String vmName);/创建虚拟机public void querySumary()/查询主机的基本信息public void queryPecf()/查询主机的性能状况public class VirtualMachineManager;public String x
14、mName;/虚拟机的名称ManagedObjectReference MorVM;/虚拟机受管对象引用public HostSystemManager hostSystem;/虚拟机所在的主机对象管理public ManagedObjectReference getVMByName(String vname);/按名称找到虚拟机对象引用public void queryVmlnfo(PropertySpec propertySpec);/查询虚拟机的信息public void ConfiguringVM(VirtualMachineConfigSpec vmConfg);/配置虚拟机属性pu
15、blic void customizationVm(CustomizationSpec cumSpec);/定制虚拟机客户机系统public void markAsTemple()/创建模板public void cloneVM(boolean is Temple);/虚拟机克隆2023 年第 1 期149李雪瑶:机房管理中虚拟服务器管理技术的应用房管理系统的应用性能,在请求次数增加 1652 次的前提下,响应时间减少 636ms。引用1陈琛.使用Fail2ban防御针对虚拟服务器的暴力破解攻击J.网络安全和信息化,2022(1):134-138.2游钐栗,熊卫华,应繁.基于服务器虚拟化的智慧
16、云桌面系统设计与应用J.软件工程,2022,25(10):54-58.3彭红旭.服务器虚拟化技术在民办高校经管实验中心的应用探究J.电脑知识与技术,2022,18(15):112-113+122.表 1 单个 Tomcat 测试数据 Tab.1 Single Tomcat test data测试机请求次数(次)变化量响应时间(ms)最小值最大值错误比率(%)延迟(KB/sec)A2942902132701697050.0051.1B12662990212931004410.0026.1C37062201477701929610.00136.9D101681175239101440170.0031.2E32242432434401865640.00117.3F29812814532301136290.00114.9G21424130931101811210.0093.7H10674133751301717540.0039.1I88942389944681505050.0034.8整体41132123134340193720.00631.9表 2 两个 Tomcat 测试数据 Tab.2