一种应用于高校实训的云虚拟机管理方法及系统

未命名 08-17 阅读:82 评论:0


1.本发明涉及云计算领域,尤其涉及应用于高校实训的云虚拟机管理方法及系统。


背景技术:

2.经过多年的建设,我国在教育信息化方面已取得巨大成就,各个高校均建立了自己的校园网、数字图书馆等现代教育信息化基础设施,然而,高职院校的计算机实践教学依然存在教学资源分布不均、更新速度慢、共享程度低、资源利用率不高、教学质量差异扩大等问题。在进行计算机实践教学中,各个学院,甚至各个学科存在各自为政的现状,学生往往在单机上进行学习,一方面,单机的配置较低,影响大型软件的教学实践,另一方面,针对各个课程需要建立课程的实训室,因此,建立一个统一管理、灵活兼容的专门针对实践教学的通用云计算平台,对于改变现有高职实践教学状况,充分整合资源,提供灵活多变的实践教学服务,具有重要的意义。
3.云计算(cloud computing)是以虚拟化为基础,整合各种资源,向用户按需提供服务的一种分布式计算方式,以云计算技术为基础,利用高校的现有硬件资源构建通用云计算平台可以有效解决实践教学中存在的资源不足的问题,而且集约化利用高校的硬件资源可以发挥现有硬件资源最大的效益。


技术实现要素:

4.为了能够保证实训的可靠性要求以及充分利用云资源,在第一个方面,本发明提供了一种应用于高校实训的云虚拟机管理方法,所述方法包括以下步骤:
5.根据用户的账号信息对用户进行分组,确定用户分组要使用的镜像以及虚拟机配置信息,获取云服务器中目标虚拟机的历史信息,根据所述配置信息、所述历史信息和所述分组中用户数在云服务器中选择目标服务器;所述目标虚拟机是指使用所述镜像生成的虚拟机;
6.在所述目标服务器中运行使用所述镜像生成的基础虚拟机,基于所述基础虚拟机和用户虚拟机所在的目标服务器确定生成用户虚拟机的方式;
7.对所述基础虚拟机和所述用户虚拟机进行监测,若基础虚拟机出现异常,则根据所述镜像生成新基础虚拟机,并将用户虚拟机的基础虚拟机切换到新基础虚拟机;若用户虚拟机出现异常,判断用户虚拟机的生成方式,如果是即时克隆方式生成,则采用链接克隆方式重新生成用户虚拟机,如果是链接克隆方式生成,则采用完整克隆方式重新生成用户虚拟机。
8.优选地,所述根据所述配置信息、所述历史信息和所述分组中用户数在云服务器中选择目标服务器,具体为:
9.按照cpu利用率从小到大的顺序对云服务器进行排序,根据所述配置信息和排序后的云服务器得到n个云服务器,将n个云服务器作为第一组云服务器,其中n个云服务器可以容纳所述分组中用户对应的虚拟机,且n值最小;n为大于等于1的整数;
10.获取所述历史信息中虚拟机进程的cpu最高利用率以及虚拟机中进程的cpu最高利用率计算从所述排序后的剩余的云服务器中选取k个作为第二组云服务器;其中,λ为调节参数,t1、t2为第一阈值和第二阈值;
11.将第一组云服务器和第二组云服务器作为目标服务器;当非分组中的用户使用云服务器资源时,如果需要对分组中用户使用的云服务器资源进行调整,则优先对第二组云服务器中分组中用户的虚拟机的资源进行调整。
12.优选地,所述基于所述基础虚拟机和用户虚拟机所在的目标服务器确定生成用户虚拟机的方式,具体为:
13.如果用户对应的虚拟机所在的目标服务器属于第二组云服务器,则采用即时克隆的方式生成用户虚拟机;如果用户对应的虚拟机所在的目标服务器属于第一组云服务器,则采用链接克隆的方式生成用户虚拟机。
14.优选地,所述对所述基础虚拟机和所述用户虚拟机进行监测,具体为:
15.s31,在所述基础虚拟机的内部和所述用户虚拟机的内部分别设置发送心跳的程序,在所述基础虚拟机和所述用户虚拟机启动时,所述程序自动运行;
16.s32,所述发送心跳的程序发送心跳给虚拟机内的监测程序和虚拟机管理模块,当虚拟机管理模块在预设时间没有接收到虚拟机的心跳,则向虚拟机发送虚拟机重启指令,虚拟机接收到所述重启指令后,判断监测程序在所述预设时间内是否监测到心跳,如果没有,则重启虚拟机。
17.优选地,所述s32之后,还包括:
18.如果监测程序监测到心跳,则由所述监测程序向虚拟机管理模块发送心跳,并重启所述发送心跳的程序所在的进程,在重启所述发送心跳的程序所在的进程后,所述监测程序停止向所述虚拟机管理模块发送心跳,并且由发送心跳的程序向虚拟机管理模块发送心跳。
19.第二个方面,本发明提供了一种应用于高校实训的云虚拟机管理系统,所述系统包括以下模块:
20.目标服务器确定模块,用于根据用户的账号信息对用户进行分组,确定用户分组要使用的镜像以及虚拟机配置信息,获取云服务器中目标虚拟机的历史信息,根据所述配置信息、所述历史信息和所述分组中用户数在云服务器中选择目标服务器;所述目标虚拟机是指使用所述镜像生成的虚拟机;
21.虚拟机生成模块,用于在所述目标服务器中运行使用所述镜像生成的基础虚拟机,基于所述基础虚拟机和用户虚拟机所在的目标服务器确定生成用户虚拟机的方式;
22.虚拟机监测模块,用于对所述基础虚拟机和所述用户虚拟机进行监测,若基础虚拟机出现异常,则根据所述镜像生成新基础虚拟机,并将用户虚拟机的基础虚拟机切换到新基础虚拟机;若用户虚拟机出现异常,判断用户虚拟机的生成方式,如果是即时克隆方式生成,则采用链接克隆方式重新生成用户虚拟机,如果是链接克隆方式生成,则采用完整克隆方式重新生成用户虚拟机。
23.优选地,所述根据所述配置信息、所述历史信息和所述分组中用户数在云服务器中选择目标服务器,具体为:
24.按照cpu利用率从小到大的顺序对云服务器进行排序,根据所述配置信息和排序后的云服务器得到n个云服务器,将n个云服务器作为第一组云服务器,其中n个云服务器可以容纳所述分组中用户对应的虚拟机,且n值最小;n为大于等于1的整数;
25.获取所述历史信息中虚拟机进程的cpu最高利用率以及虚拟机中进程的cpu最高利用率计算从所述排序后的剩余的云服务器中选取k个作为第二组云服务器;其中,λ为调节参数,t1、t2为第一阈值和第二阈值;
26.将第一组云服务器和第二组云服务器作为目标服务器;当非分组中的用户使用云服务器资源时,如果需要对分组中用户使用的云服务器资源进行调整,则优先对第二组云服务器中分组中用户的虚拟机的资源进行调整。
27.优选地,所述基于所述基础虚拟机和用户虚拟机所在的目标服务器确定生成用户虚拟机的方式,具体为:
28.如果用户对应的虚拟机所在的目标服务器属于第二组云服务器,则采用即时克隆的方式生成用户虚拟机;如果用户对应的虚拟机所在的目标服务器属于第一组云服务器,则采用链接克隆的方式生成用户虚拟机。
29.优选地,所述对所述基础虚拟机和所述用户虚拟机进行监测,具体为:
30.s31,在所述基础虚拟机的内部和所述用户虚拟机的内部分别设置发送心跳的程序,在所述基础虚拟机和所述用户虚拟机启动时,所述程序自动运行;
31.s32,所述发送心跳的程序发送心跳给虚拟机内的监测程序和虚拟机管理模块,当虚拟机管理模块在预设时间没有接收到虚拟机的心跳,则向虚拟机发送虚拟机重启指令,虚拟机接收到所述重启指令后,判断监测程序在所述预设时间内是否监测到心跳,如果没有,则重启虚拟机。
32.优选地,所述s32之后,还包括:
33.如果监测程序监测到心跳,则由所述监测程序向虚拟机管理模块发送心跳,并重启所述发送心跳的程序所在的进程,在重启所述发送心跳的程序所在的进程后,所述监测程序停止向所述虚拟机管理模块发送心跳,并且由发送心跳的程序向虚拟机管理模块发送心跳。
34.第三方面,本发明提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序在被处理器执行时,实现如本发明实施例中任一项所述的方法。
35.本发明为了能够保证实训教学中云虚拟机的可靠性,首先,从多个云服务器中选择目标服务器,然后基于基础虚拟机和用户虚拟机所在的目标服务器确定生成用户虚拟机的方式,并且如果出现异常的用户虚拟机是通过即时克隆的方式生成,则在异常发生后,通过链接克隆的方式重新生成用户虚拟机,如果出现异常的用户虚拟机是通过链接克隆的方式生成,则在异常发生后,通过完全克隆的方式生成用户虚拟机,这样不仅提高了云虚拟机的整体利用率,而且有效的保证了云虚拟机的可靠性。
附图说明
36.为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体
实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
37.图1为实施例一的流程图;
38.图2为本发明一个架构示意图;
39.图3为一个具体实施例的流程图;
40.图4为实施例二的模块图。
具体实施方式
41.在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
42.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
43.在大专院校的计算机实训课程中,通过云桌面的方式为学生提供实训虚拟机不仅能够实现动态配置调节,而且便于对系统的管理,例如不同课程使用不同的软件,只需要根据不同的镜像生成虚拟机即可。此外,高校的服务器还可以提供其他服务,包括但不限于教务系统、图书馆系统等,而且如果还有充足的资源,可以向学校实验室或者社会团体提供服务,例如人工智能的训练、大数据的挖掘等。但是现有的高校云服务器生成云桌面的方式过于单一,可伸缩性较差,如何能够保证高校云服务器具有较好的伸缩性,而且能够满足实训教学的要求是提高高校计算机资源的重要问题。
44.基于上述问题,在第一个方面,本发明提供了一种应用于高校实训的云虚拟机管理方法,如图1所示,所述方法包括以下步骤:
45.s1,根据用户的账号信息对用户进行分组,确定用户分组要使用的镜像以及虚拟机配置信息,获取云服务器中目标虚拟机的历史信息,根据所述配置信息、所述历史信息和所述分组中用户数在云服务器中选择目标服务器;所述目标虚拟机是指使用所述镜像生成的虚拟机;
46.不同的用户拥有的账号不同,学生的账号通常是学号,在进行实训时,以班级为一组,将不同的学生分到不同的分组中,每个分组进行实训的内容相同,教师只需要配置班级学生的名单以及虚拟机镜像和虚拟机配置即可完成分组中学生的虚拟机配置,其中,虚拟机配置例如为虚拟机的cpu个数、内存大小、磁盘大小等,虚拟机镜像是根据实训内容确定的,例如文字处理实训,则选用镜像中有文字处理软件的镜像。
47.应当理解的是,不同的镜像生成的虚拟机是不同的,对于资源的消耗也是不同的,
例如虽然教师配置的虚拟机相同,但是matlab的实训要比文字处理实训更占用资源,具体的虚拟机占用资源信息,可以通过目标虚拟机的历史信息确定,所谓目标虚拟机是指使用所述镜像生成的虚拟机,仍以上面文字处理实训为例,此时采用的镜像为镜像1,则目标虚拟机的历史信息是根据镜像1生成的虚拟机的历史信息。
48.云服务器有多台,通过云操作系统例如openstack可以对云服务器进行管理,也可以使用vmware horizon等,由于云服务器不仅向实训学生提供虚拟机,还要考虑到其他类型用户,这就要从云服务器中选择目标服务器,在目标服务器上生成用户虚拟机,在本发明中,用户分为两种类型,一种是进行实训的学生用户,非进行实训的用户为其他用户。
49.在一个具体实施例中,所述根据所述配置信息、所述历史信息和所述分组中用户数在云服务器中选择目标服务器,具体为:
50.按照cpu利用率从小到大的顺序对云服务器进行排序,根据所述配置信息和排序后的云服务器得到n个云服务器,将n个云服务器作为第一组云服务器,其中n个云服务器可以容纳所述分组中用户对应的虚拟机,且n值最小;n为大于等于1的整数;
51.假设有9台云服务器,按照云服务器cpu利用率从小到大的排序,排序结果为:server6、server8、server2、server5、server7、server3、server4、server1、server9,分组中用户数为30,也即一个实训班级有30个学生,根据教师或者管理员对虚拟机的配置信息计算得到server6可以容纳14台分组中用户虚拟机,server8可以容纳10台分组中用户虚拟机,server2可以容纳7台分组中用户虚拟机,则n为3,将server6、server8和server2作为第一组云服务器。
52.获取所述历史信息中虚拟机进程的cpu最高利用率以及虚拟机中进程的cpu最高利用率计算从所述排序后的剩余的云服务器中选取k个作为第二组云服务器;其中,λ为调节参数,t1、t2为第一阈值和第二阈值,max()表示取括号中的最大值。
53.由于实训时,分组用户极可能同时进行相同的操作,这就会出现虚拟机同时要占用较多资源,考虑到对分组用户的虚拟机的冗余以及使用体验上的流畅,本实施例还进一步,得到第二组云服务器,具体地,获取虚拟机进程的cpu最高利用率以及虚拟机中进程的cpu最高利用率其中,虚拟机实质是宿主机中的一个进程,在本发明中,虚拟机进程是指在云服务器中虚拟机所在的进程,显然地,虚拟机进程的cpu最高利用率越大,占用的资源越多。此外,本发明进一步考虑到虚拟机内部的进程的cpu最高利用率,如果虚拟机内部的进程的cpu最高利用率很大,则会造成用户体验上的虚拟机卡顿等情况。仍以上面的数据为例,则n=3,进一步假设λ=4,t1=0.4,t2=0.4,则k=1.5,对k进行向下取整后k=1,在本发明中,如果k通过上述公式计算得到为整数,则k取所述整数,如果k为小数,则对k进行向下取整作为k值。需要注意的是,以上数据仅仅用于示例性说明,λ、t1、t2的取值和学校的云服务器以及进行实训的课程有关。
54.在一个实施例中,从所述排序后的剩余的云服务器中选取k个作为第二组云服务器,具体地是从排序后的最后一个云服务器开始选取。在另外一个实施例中,从所述排序后的剩余的云服务器中选取k个作为第二组云服务器,具体地是从排序后的剩余的云服务器
中随机选取k个云服务器。
55.将第一组云服务器和第二组云服务器作为目标服务器;当非分组中的用户使用云服务器资源时,如果需要对分组中用户使用的云服务器资源进行调整,则优先对第二组云服务器中分组中用户的虚拟机的资源进行调整。
56.第一组云服务器和第二组云服务器共同作为目标服务器,如图2所示,在目标服务器上生成分组中用户对应的虚拟机,其中第一组云服务器为基础云服务器,在对云服务器中虚拟机及虚拟机资源进行伸缩管理中,优先对分组用户对应的虚拟机所在的第二组云服务器上的云虚拟机进行伸缩,例如进行大数据计算,需要较多的资源,则会将第二组云服务器中分组用户对应的虚拟机迁移到第一组云服务器中,或者降低第二组云服务器中分组用户的虚拟机占用的资源。
57.s2,在所述目标服务器中运行使用所述镜像生成的基础虚拟机,基于所述基础虚拟机和用户虚拟机所在的目标服务器确定生成用户虚拟机的方式;
58.虚拟机的生成方式有链接克隆(linked clone)、即时克隆(instant clone)和完整克隆(full clone)等多种方式,三种克隆速度排行为即时克隆、链接克隆、完整克隆,其中完整克隆的性能要优于链接克隆和即时克隆,在一个实施例中,所述基于所述基础虚拟机和用户虚拟机所在的目标服务器确定生成用户虚拟机的方式,具体为:
59.如果用户对应的虚拟机所在的目标服务器属于第二组云服务器,则采用即时克隆的方式生成用户虚拟机;如果用户对应的虚拟机所在的目标服务器属于第一组云服务器,则采用链接克隆的方式生成用户虚拟机。
60.由于第二组云服务器中的分组用户对应的虚拟机可能会由于伸缩控制在第二组云服务器中生成用户虚拟机,而且第二组云服务器收到其他业务的影响,会影响分组用户的虚拟机,这就要尽可能快的恢复虚拟机,在第二组云服务器中优选地使用即时克隆的方式生成虚拟机。而为了效率,在第一组云服务器中优先使用链接克隆的方式生成用户虚拟机。
61.至于分组中哪些用户对应的虚拟机在第一组云服务器上生成,哪些用户对应的虚拟机在第二组云服务器上生成,本发明对此不作具体限定,一个示例为根据用户的账号获取用户的操作虚拟机的习惯,根据所述习惯确定用户对应的虚拟机所在的云服务器是在第一组云服务器中还是第二组云服务器,如果所述习惯表明用户重启频率高,则分组中用户对应的虚拟机在第一组云服务器中生成,反之,在第二组云服务器中生成。在另外一个示例中,在用户虚拟机首次启动时,在第一组云服务器中启动,如果在虚拟机运行过程中出现异常,需要重启,则在第二组云服务器上生成新的用户虚拟机。
62.s3,对所述基础虚拟机和所述用户虚拟机进行监测,若基础虚拟机出现异常,则根据所述镜像生成新基础虚拟机,并将用户虚拟机的基础虚拟机切换到新基础虚拟机;若用户虚拟机出现异常,判断用户虚拟机的生成方式,如果是即时克隆方式生成,则采用链接克隆方式重新生成用户虚拟机,如果是链接克隆方式生成,则采用完整克隆方式重新生成用户虚拟机。
63.在另外一个实施例中,所述对所述基础虚拟机和所述用户虚拟机进行监测,如图3所示,具体为:
64.s31,在所述基础虚拟机的内部和所述用户虚拟机的内部分别设置发送心跳的程
序,在所述基础虚拟机和所述用户虚拟机启动时,所述程序自动运行;
65.s32,所述发送心跳的程序发送心跳给虚拟机内的监测程序和虚拟机管理模块,当虚拟机管理模块在预设时间没有接收到虚拟机的心跳,则向虚拟机发送虚拟机重启指令,虚拟机接收到所述重启指令后,判断监测程序在所述预设时间内是否监测到心跳,如果没有,则重启虚拟机;如果监测程序监测到心跳,则由所述监测程序向虚拟机管理模块发送心跳,并重启所述发送心跳的程序所在的进程,在重启所述发送心跳的程序所在的进程后,所述监测程序停止向所述虚拟机管理模块发送心跳,并且由发送心跳的程序向虚拟机管理模块发送心跳。
66.第二个方面,本发明提供了一种应用于高校实训的云虚拟机管理系统,所述系统包括以下模块,如图4所示:
67.目标服务器确定模块,用于根据用户的账号信息对用户进行分组,确定用户分组要使用的镜像以及虚拟机配置信息,获取云服务器中目标虚拟机的历史信息,根据所述配置信息、所述历史信息和所述分组中用户数在云服务器中选择目标服务器;所述目标虚拟机是指使用所述镜像生成的虚拟机;
68.虚拟机生成模块,用于在所述目标服务器中运行使用所述镜像生成的基础虚拟机,基于所述基础虚拟机和用户虚拟机所在的目标服务器确定生成用户虚拟机的方式;
69.虚拟机监测模块,用于对所述基础虚拟机和所述用户虚拟机进行监测,若基础虚拟机出现异常,则根据所述镜像生成新基础虚拟机,并将用户虚拟机的基础虚拟机切换到新基础虚拟机;若用户虚拟机出现异常,判断用户虚拟机的生成方式,如果是即时克隆方式生成,则采用链接克隆方式重新生成用户虚拟机,如果是链接克隆方式生成,则采用完整克隆方式重新生成用户虚拟机。
70.优选地,所述根据所述配置信息、所述历史信息和所述分组中用户数在云服务器中选择目标服务器,具体为:
71.按照cpu利用率从小到大的顺序对云服务器进行排序,根据所述配置信息和排序后的云服务器得到n个云服务器,将n个云服务器作为第一组云服务器,其中n个云服务器可以容纳所述分组中用户对应的虚拟机,且n值最小;n为大于等于1的整数;
72.获取所述历史信息中虚拟机进程的cpu最高利用率以及虚拟机中进程的cpu最高利用率计算从所述排序后的剩余的云服务器中选取k个作为第二组云服务器;其中,λ为调节参数,t1、t2为第一阈值和第二阈值;
73.将第一组云服务器和第二组云服务器作为目标服务器;当非分组中的用户使用云服务器资源时,如果需要对分组中用户使用的云服务器资源进行调整,则优先对第二组云服务器中分组中用户的虚拟机的资源进行调整。
74.优选地,所述基于所述基础虚拟机和用户虚拟机所在的目标服务器确定生成用户虚拟机的方式,具体为:
75.如果用户对应的虚拟机所在的目标服务器属于第二组云服务器,则采用即时克隆的方式生成用户虚拟机;如果用户对应的虚拟机所在的目标服务器属于第一组云服务器,则采用链接克隆的方式生成用户虚拟机。
76.优选地,所述对所述基础虚拟机和所述用户虚拟机进行监测,具体为:
77.s31,在所述基础虚拟机的内部和所述用户虚拟机的内部分别设置发送心跳的程序,在所述基础虚拟机和所述用户虚拟机启动时,所述程序自动运行;
78.s32,所述发送心跳的程序发送心跳给虚拟机内的监测程序和虚拟机管理模块,当虚拟机管理模块在预设时间没有接收到虚拟机的心跳,则向虚拟机发送虚拟机重启指令,虚拟机接收到所述重启指令后,判断监测程序在所述预设时间内是否监测到心跳,如果没有,则重启虚拟机。
79.优选地,所述s32之后,还包括:
80.如果监测程序监测到心跳,则由所述监测程序向虚拟机管理模块发送心跳,并重启所述发送心跳的程序所在的进程,在重启所述发送心跳的程序所在的进程后,所述监测程序停止向所述虚拟机管理模块发送心跳,并且由发送心跳的程序向虚拟机管理模块发送心跳。
81.第三方面,本发明提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序在被处理器执行时,实现如本发明实施例中任一项所述的方法。
82.通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助加必需的通用硬件平台的方式来实现,当然也可以通过硬件和软件结合的方式来实现。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以计算机产品的形式体现出来,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
83.最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

技术特征:
1.一种应用于高校实训的云虚拟机管理方法,其特征在于,所述方法包括以下步骤:根据用户的账号信息对用户进行分组,确定用户分组要使用的镜像以及虚拟机配置信息,获取云服务器中目标虚拟机的历史信息,根据所述配置信息、所述历史信息和所述分组中用户数在云服务器中选择目标服务器;所述目标虚拟机是指使用所述镜像生成的虚拟机;在所述目标服务器中运行使用所述镜像生成的基础虚拟机,基于所述基础虚拟机和用户虚拟机所在的目标服务器确定生成用户虚拟机的方式;对所述基础虚拟机和所述用户虚拟机进行监测,若基础虚拟机出现异常,则根据所述镜像生成新基础虚拟机,并将用户虚拟机的基础虚拟机切换到新基础虚拟机;若用户虚拟机出现异常,判断用户虚拟机的生成方式,如果是即时克隆方式生成,则采用链接克隆方式重新生成用户虚拟机,如果是链接克隆方式生成,则采用完整克隆方式重新生成用户虚拟机。2.如权利要求1所述的方法,其特征在于,所述根据所述配置信息、所述历史信息和所述分组中用户数在云服务器中选择目标服务器,具体为:按照cpu利用率从小到大的顺序对云服务器进行排序,根据所述配置信息和排序后的云服务器得到n个云服务器,将n个云服务器作为第一组云服务器,其中n个云服务器可以容纳所述分组中用户对应的虚拟机,且n值最小;n为大于等于1的整数;获取所述历史信息中虚拟机进程的cpu最高利用率以及虚拟机中进程的cpu最高利用率计算从所述排序后的剩余的云服务器中选取k个作为第二组云服务器;其中,λ为调节参数,t1、t2为第一阈值和第二阈值;将第一组云服务器和第二组云服务器作为目标服务器;当非分组中的用户使用云服务器资源时,如果需要对分组中用户使用的云服务器资源进行调整,则优先对第二组云服务器中分组中用户的虚拟机的资源进行调整。3.如权利要求2所述的方法,其特征在于,所述基于所述基础虚拟机和用户虚拟机所在的目标服务器确定生成用户虚拟机的方式,具体为:如果用户对应的虚拟机所在的目标服务器属于第二组云服务器,则采用即时克隆的方式生成用户虚拟机;如果用户对应的虚拟机所在的目标服务器属于第一组云服务器,则采用链接克隆的方式生成用户虚拟机。4.如权利要求1所述的方法,其特征在于,所述对所述基础虚拟机和所述用户虚拟机进行监测,具体为:s31,在所述基础虚拟机的内部和所述用户虚拟机的内部分别设置发送心跳的程序,在所述基础虚拟机和所述用户虚拟机启动时,所述程序自动运行;s32,所述发送心跳的程序发送心跳给虚拟机内的监测程序和虚拟机管理模块,当虚拟机管理模块在预设时间没有接收到虚拟机的心跳,则向虚拟机发送虚拟机重启指令,虚拟机接收到所述重启指令后,判断监测程序在所述预设时间内是否监测到心跳,如果没有,则重启虚拟机。5.如权利要求4所述的方法,其特征在于,所述s32之后,还包括:如果监测程序监测到心跳,则由所述监测程序向虚拟机管理模块发送心跳,并重启所
述发送心跳的程序所在的进程,在重启所述发送心跳的程序所在的进程后,所述监测程序停止向所述虚拟机管理模块发送心跳,并且由发送心跳的程序向虚拟机管理模块发送心跳。6.一种应用于高校实训的云虚拟机管理系统,其特征在于,所述系统包括以下模块:目标服务器确定模块,用于根据用户的账号信息对用户进行分组,确定用户分组要使用的镜像以及虚拟机配置信息,获取云服务器中目标虚拟机的历史信息,根据所述配置信息、所述历史信息和所述分组中用户数在云服务器中选择目标服务器;所述目标虚拟机是指使用所述镜像生成的虚拟机;虚拟机生成模块,用于在所述目标服务器中运行使用所述镜像生成的基础虚拟机,基于所述基础虚拟机和用户虚拟机所在的目标服务器确定生成用户虚拟机的方式;虚拟机监测模块,用于对所述基础虚拟机和所述用户虚拟机进行监测,若基础虚拟机出现异常,则根据所述镜像生成新基础虚拟机,并将用户虚拟机的基础虚拟机切换到新基础虚拟机;若用户虚拟机出现异常,判断用户虚拟机的生成方式,如果是即时克隆方式生成,则采用链接克隆方式重新生成用户虚拟机,如果是链接克隆方式生成,则采用完整克隆方式重新生成用户虚拟机。7.如权利要求6所述的系统,其特征在于,所述根据所述配置信息、所述历史信息和所述分组中用户数在云服务器中选择目标服务器,具体为:按照cpu利用率从小到大的顺序对云服务器进行排序,根据所述配置信息和排序后的云服务器得到n个云服务器,将n个云服务器作为第一组云服务器,其中n个云服务器可以容纳所述分组中用户对应的虚拟机,且n值最小;n为大于等于1的整数;获取所述历史信息中虚拟机进程的cpu最高利用率以及虚拟机中进程的cpu最高利用率计算从所述排序后的剩余的云服务器中选取k个作为第二组云服务器;其中,λ为调节参数,t1、t2为第一阈值和第二阈值;将第一组云服务器和第二组云服务器作为目标服务器;当非分组中的用户使用云服务器资源时,如果需要对分组中用户使用的云服务器资源进行调整,则优先对第二组云服务器中分组中用户的虚拟机的资源进行调整。8.如权利要求7所述的系统,其特征在于,所述基于所述基础虚拟机和用户虚拟机所在的目标服务器确定生成用户虚拟机的方式,具体为:如果用户对应的虚拟机所在的目标服务器属于第二组云服务器,则采用即时克隆的方式生成用户虚拟机;如果用户对应的虚拟机所在的目标服务器属于第一组云服务器,则采用链接克隆的方式生成用户虚拟机。9.如权利要求6所述的系统,其特征在于,所述对所述基础虚拟机和所述用户虚拟机进行监测,具体为:s31,在所述基础虚拟机的内部和所述用户虚拟机的内部分别设置发送心跳的程序,在所述基础虚拟机和所述用户虚拟机启动时,所述程序自动运行;s32,所述发送心跳的程序发送心跳给虚拟机内的监测程序和虚拟机管理模块,当虚拟机管理模块在预设时间没有接收到虚拟机的心跳,则向虚拟机发送虚拟机重启指令,虚拟机接收到所述重启指令后,判断监测程序在所述预设时间内是否监测到心跳,如果没有,则
重启虚拟机;如果监测程序监测到心跳,则由所述监测程序向虚拟机管理模块发送心跳,并重启所述发送心跳的程序所在的进程,在重启所述发送心跳的程序所在的进程后,所述监测程序停止向所述虚拟机管理模块发送心跳,并且由发送心跳的程序向虚拟机管理模块发送心跳。10.一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序在被处理器执行时,实现如权利要求1-5任一项所述的方法。

技术总结
本发明提供了一种应用于高校实训的云虚拟机管理方法及系统,包括:根据配置信息、历史信息和分组中用户数在云服务器中选择目标服务器;在目标服务器中运行使用镜像生成的基础虚拟机,基于基础虚拟机和用户虚拟机所在的目标服务器确定生成用户虚拟机的方式;对基础虚拟机和所述用户虚拟机进行监测,若基础虚拟机出现异常,则根据所述镜像生成新基础虚拟机;若用户虚拟机出现异常,如果是即时克隆方式生成,则采用链接克隆方式重新生成用户虚拟机,如果是链接克隆方式生成,则采用完整克隆方式重新生成用户虚拟机。本发明提高了实训中虚拟机的稳定性而且便于其他类型用户对云资源的充分利用。充分利用。充分利用。


技术研发人员:李冬梅 朱晓珺 刘梦 刘亚同 王宇
受保护的技术使用者:郑州信息科技职业学院
技术研发日:2023.05.26
技术公布日:2023/8/16
版权声明

本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

航空之家 https://www.aerohome.com.cn/

飞机超市 https://mall.aerohome.com.cn/

航空资讯 https://news.aerohome.com.cn/

分享:

扫一扫在手机阅读、分享本文

相关推荐