首页> 中国专利> 一种基于云计算的创新型课程实验自动管理方法及系统

一种基于云计算的创新型课程实验自动管理方法及系统

摘要

本发明涉及一种基于云计算的创新型课程实验自动管理方法及系统,该方法采用Ceph集群的RBD客户端作为OpenStack中Glance、Nova和Cinder组件的存储后端,并使用云硬盘快照作为课程实验模板对学生进行上下课实验自动管理,其中云硬盘快照生成具体为:首先上传实验课程所需的RAW格式镜像,然后将镜像制作为云硬盘,最后为云硬盘制作快照,所述系统包括实验管理节点单元、云平台控制节点单元、镜像节点单元、计算节点单元和存储节点单元。与现有技术相比,本发明解决了高校实验云平台在进行创新型课程实验管理过程中所面临的通信流量大、存储效率低和虚拟机启动时延长的问题。

著录项

  • 公开/公告号CN112948055A

    专利类型发明专利

  • 公开/公告日2021-06-11

    原文格式PDF

  • 申请/专利权人 华东理工大学;

    申请/专利号CN202110241259.5

  • 申请日2021-03-04

  • 分类号G06F9/455(20060101);H04L29/08(20060101);

  • 代理机构31225 上海科盛知识产权代理有限公司;

  • 代理人应小波

  • 地址 200237 上海市徐汇区梅陇路130号

  • 入库时间 2023-06-19 11:22:42

说明书

技术领域

本发明涉及云计算技术领域,尤其是涉及一种基于云计算(OpenStack)的创新型课程实验自动管理方法及系统。

背景技术

目前高校创新型课程实验具有如下特点:

(1)实验操作过程中学生有自主更新和安装软件的需求,且在下次上课实验时希望保存上一次的安装环境和实验状态;

(2)实验操作往往需要使用分布式集群实验环境;

(3)实验对于实验主机的计算及存储环境要求较高。

传统高校的实验机房围绕一人一机的管理模式展开,且计算机重新启动后会恢复为预安装状态,显然无法满足上述创新型课程实验的需求。云计算作为一种新的资源使用模式,具有按需分配、弹性扩展等优势,基于云计算技术构建高校实验云平台是解决创新型课程实验环境需求的一种有效手段。在云计算领域中,OpenStack得益于其松耦合、模块化的开源设计理念,已逐渐成为当前私有云的建设标准。使用OpenStack进行创新型课程实验管理,首先需要在上课时为每个学生按照课程实验需求创建虚拟机,并建立学生ID和虚拟机ID的映射关系;然后在下课时对每个学生的所有虚拟机执行快照操作,并建立学生ID和虚拟机快照ID的映射关系;最后在下次上课时,基于学生ID和虚拟机快照ID的映射关系,为每个学生创建相应的虚拟机。

但是上述方法存在如下问题:

(1)网络通信流量大,上下课过程中需要将虚拟机快照在存储节点和计算节点之间反复搬取;

(2)系统存储效率低,下课后系统需要为每个学生的所有虚拟机快照进行独立存储;

(3)虚拟机启动速度慢,上课时需要将虚拟机快照从存储节点传输至计算节点,然后在计算节点中基于虚拟机快照来创建虚拟机。

综上所述,如何避免快照内容传输环节、提高系统存储效率、加快虚拟机的部署速度,同时满足创新型课程实验需求是目前高校实验云平台亟待解决的技术问题。

发明内容

本发明的目的就是为了克服上述现有技术存在的缺陷而提供一种基于云计算的创新型课程实验自动管理方法及系统,解决了高校实验云平台在进行创新型课程实验管理过程中所面临的通信流量大、存储效率低和虚拟机启动时延长的问题。

本发明的目的可以通过以下技术方案来实现:

根据本发明的一个方面,提供了一种基于云计算的创新型课程实验自动管理方法,该方法采用Ceph集群的RBD客户端作为OpenStack中Glance、Nova和Cinder组件的存储后端,并使用云硬盘快照作为课程实验模板对学生进行上下课实验自动管理(使用云硬盘快照作为课程实验模板建立学生与快照的一对多映射关系,进而对学生进行上下课实验管理),其中云硬盘快照生成具体为:首先上传实验课程所需的RAW格式镜像,然后将镜像制作为云硬盘,最后为云硬盘制作快照。

作为优选的技术方案,该方法的具体步骤如下:

S1、根据课程实验需求,调用OpenStack镜像服务接口Glance-api上传RAW格式基础镜像;

S2、调用OpenStack块存储服务接口Cinder-api将上传的基础镜像制作为云硬盘;

S3、调用OpenStack块存储服务接口Cinder-api将云硬盘制作为云硬盘快照;

S4、在业务层数据库中,保存云硬盘快照ID与创新型课程ID的映射关系表;

S5、执行上课操作,判断该创新型课程是否为第一次上课,若为是,则执行如下步骤:

S51)基于业务层数据库中该课程所关联的云硬盘快照,调用Cinder-api服务为每个学生创建相应云硬盘,并在业务层数据库保存学生ID和云硬盘ID的映射关系;

S52)基于业务层数据库中每个学生ID所关联的云硬盘ID,调用Nova-api接口为学生创建相应虚拟机,并在业务层数据库保存学生ID和虚拟机ID的映射关系;

若该创新型课程不是第一次上课,则基于业务层数据库中每个学生ID所关联的云硬盘ID,调用Nova-api服务为学生创建相应虚拟机,并在业务层数据库中保存学生ID和虚拟机ID的映射关系;

S6、执行下课操作,根据业务层数据库中学生ID和虚拟机ID的映射关系,调用Nova-api服务将每个学生所对应的虚拟机删除(虚拟机云硬盘保留)。

作为优选的技术方案,所述步骤S3中的云硬盘快照基于rbd的写时复制技术创建,并基于rbd snap protect对快照执行保护。

作为优选的技术方案,所述步骤S4中的云硬盘快照ID与创新型课程ID的映射关系表包含CourseID、SnapshotID、InstanceName、FlavorID和OrderID五个关键字段;其中,InstanceName和FlavorID字段分别是为基于快照SnapshotID所创建的虚拟机指定名称和资源配置;OrderID字段是为了应对创新型课程的分布式集群实验环境需求而设置,该字段指明了当前快照在课程所关联的所有快照中的序号。

作为优选的技术方案,所述步骤S5中课程与学生的关联方式包括:一种是通过连通教务系统自动导入学生信息,另一种是针对临时创建的课程,将学生信息存放在Excel表格后手动导入并与课程建立关联。

作为优选的技术方案,所述步骤S5中的上课操作执行完毕后,用户基于Guacamole实现虚拟机的Web浏览器登录,其中Windows操作系统采用RDP协议连接,Linux操作系统采用SSH协议连接,分布式集群中的不同实验主机通过浏览器的Tab标签灵活切换。

作为优选的技术方案,该方法允许系统在两次实验课程之间灵活更换实验模板;更换实验模板时,系统需要删除该课程下所有学生已有的云硬盘,并在业务数据库中更新课程与新实验模板的映射关系;更换模板后,系统下次上课的处理流程与该课程第一次启动上课操作一致。

根据本发明的另一个方面,提供了一种用于所述的基于云计算的创新型课程实验自动管理方法的系统,该系统包括:

实验管理节点单元,部署在业务层应用程序和相应数据库中,提供以课程为中心的上下课管理服务,用于对创新型实验课程所涉及的实验人员、实验模板、实验主机以及实验资源进行过程化管控;

云平台控制节点单元,部署在OpenStack的Keystone、Neutron、以及Nova组件的控制类服务、Ceph存储集群的Monitor以及消息中间件RabbitMQ中,一方面负责接收实验管理节点单元的上下课(虚拟机创建和删除)请求;另一方面控制和管理计算节点、镜像节点以及存储节点之间的协同交互;

镜像节点单元,部署glance-api、glance-registry和python-rbd服务中,用于负责提供系统镜像的存取服务,包括镜像的上传、下载和删除操作;镜像节点与Ceph的集成过程需要拷贝Ceph.conf文件至镜像节点的/etc目录,并将glance-api.conf文件中default_store和rbd_store_pool选项的Value修改为:default_store=rbd,rbd_store_pool=images;

计算节点单元,部署Nova的计算类服务nova-compute、Neutron的网桥代理服务neutron-plugin-linuxbridge-agent以及ceph-common中,用于负责管理云平台中虚拟机的生命周期;计算节点与Ceph的集成过程需要拷贝Ceph.conf文件至计算节点的/etc目录,并将nova.conf文件中images_type、images_rbd_pool和disk_cachemode选项的Value修改为:images_type=rbd,images_rbd_pool=instances,disk_cachemode="network=writeback";

云硬盘节点单元,部署cinder-api、cinder-volume、cinder-scheduler和cpeh-common中,用于负责云硬盘的创建和删除;云硬盘节点与与Ceph的集成过程需要拷贝Ceph.conf文件至云硬盘节点的/etc目录,并将cinder.conf文件中enabled_backends、volume_driver和rbd_pool选项修改为:enabled_backends=rbd,volume_driver=volume_driver=cinder.volume.drivers.rbd.RBDDriver,rbd_pool=volumes;

存储节点单元,部署Ceph OSD中,通过RBD客户端创建images、instances和volumes三个块存储池向OpenStack的Glance、Nova以及Cinder组件提供块存储服务。

作为优选的技术方案,所述的实验管理节点单元使用OpenStack4j来调用云平台控制节点的计算和存储接口进行上下课过程管理;

所述的实验管理节点单元建立线程池对上下课过程中所涉及的虚拟机批量创建和删除请求进行并发调度,线程池中的活跃线程数量与OpenStack所设置的并发处理规模保持一致。

作为优选的技术方案,所述的镜像节点单元、计算节点单元、云硬盘节点单元和存储节点单元之间通过10Gbps光纤网口相连进行通信。

更优地,基于Cinder调用Ceph RBD进行快照操作时最大可克隆层级rbd_max_clone_depth参数设置为5。

与现有技术相比,本发明具有心有点:

(1)以云硬盘快照作为实验模板,实现了虚拟机计算资源和存储资源(云硬盘)的解耦,满足创新型课程实验过程动态更新的同时,避免了虚拟机镜像在计算节点和存储节点之间的传输;

(2)云硬盘快照基于写时复制的clone技术实现,只有虚拟机向云硬盘执行写操作时才会创建增量文件,提高了云平台的存储效率;

(3)创新型课程一旦完成第一次上课操作后,每个学生都会有相关联的可启动云硬盘保存在存储节点,下次上课时直接基于学生已有的可启动云硬盘来创建虚拟机,有效提高了虚拟机的启动速度。

附图说明

图1为本发明的创新型课程实验自动管理方法的流程图;

图2为本发明的创新型课程实验自动管理系统的结构框图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明的一部分实施例,而不是全部实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都应属于本发明保护的范围。

实施例1

如图1所示,本发明的基于OpenStack的创新型实验课程自动管理方法,该方法首先通过使用Ceph集群的RBD客户端作为OpenStack中Glance、Nova和Cinder组件的统一存储后端,再上传实验课程所需的RAW格式镜像,接着将上传的镜像制作成云硬盘,最后将云硬盘制作成快照,并使用云硬盘快照作为创新型课程实验模板对学生进行上下课实验管理;具体步骤如下:

S1、调用OpenStack镜像服务接口glance image-create上传课程实验所需的RAW格式基础镜像;

S2、调用OpenStack块存储服务接口cinder create将上传的基础镜像制作为可启动云硬盘;

S3、调用OpenStack块存储服务接口cinder snapshot-create将云硬盘制作为云硬盘快照,并将该快照信息存储在业务数据库snapshot表中;

S4、建立云硬盘快照ID与创新型课程ID的映射关系,并保存在业务层数据库course_snapshot表中;

S5、实验室管理员或教师通过实验管理节点单元提供的“上课”接口对课程执行上课操作,若本次操作是该创新型课程的第一次上课,则系统执行如下步骤:

1)基于业务层数据库course_snapshot表中该课程所关联的云硬盘快照,调用cinder volume create命令为每个学生创建相应云硬盘,并在业务层数据库user_volume表中保存学生ID和云硬盘ID的映射关系;

2)基于user_volume中每个学生ID所关联的云硬盘ID,调用openstack servercreate命令为学生的每个云硬盘绑定虚拟机,并在业务层数据库的user_instance表中保存学生ID和虚拟机ID的映射关系;

若该创新型课程不是第一次上课,则基于业务层数据库中每个学生ID所关联的云硬盘ID,直接调用openstack server create命令为学生创建相应虚拟机,并在业务层数据库中保存学生ID和虚拟机ID的映射关系;

S6、实验室教师或管理员通过实验管理节点单元提供的“下课”接口对课程执行下课操作,根据业务层数据库的user_instance表中学生ID和虚拟机ID的映射关系,调用openstack server delete命令将每个学生所对应的虚拟机删除,但保留虚拟机所挂载的云硬盘;

本发明允许系统在两次实验课程之间灵活更换实验模板;更换实验模板时,系统需要删除该课程下所有学生已有的云硬盘,并在业务数据库中更新课程与新实验模板的映射关系;更换模板后,系统下次上课的处理流程与该课程第一次启动上课操作一致。

实施例2

如图2所示,本发明基于OpenStack的创新型实验课程管理系统,该系统包括:

实验管理节点单元,实验管理节点部署业务层应用程序和相应数据库,提供以课程为中心的上下课管理服务,用于对创新型实验课程所涉及的实验人员、实验模板、实验主机以及实验资源进行过程化管控;

云平台控制节点单元,云平台控制节点部署OpenStack的Keystone、Neutron、以及Nova组件的控制类服务、Ceph存储集群的Monitor以及消息中间件RabbitMQ,一方面负责接收实验管理节点单元的上下课(虚拟机创建和删除)请求;另一方面控制和管理计算节点、镜像节点以及存储节点之间的协同交互;

镜像节点单元,镜像节点部署glance-api、glance-registry和python-rbd服务,主要负责提供系统镜像的存取服务,包括镜像的上传、下载和删除操作;镜像节点与Ceph的集成过程需要拷贝Ceph.conf文件至镜像节点的/etc目录,并将glance-api.conf文件中default_store和rbd_store_pool选项的Value修改为:default_store=rbd,rbd_store_pool=images;

计算节点单元,计算节点部署Nova的计算类服务nova-compute、Neutron的网桥代理服务neutron-plugin-linuxbridge-agent以及ceph-common,主要负责管理云平台中虚拟机的生命周期;计算节点与Ceph的集成过程需要拷贝Ceph.conf文件至计算节点的/etc目录,并将nova.conf文件中images_type、images_rbd_pool和disk_cachemode选项的Value修改为:images_type=rbd,images_rbd_pool=instances,disk_cachemode="network=writeback";

云硬盘节点单元,云硬盘节点部署cinder-api、cinder-volume、cinder-scheduler和cpeh-common,主要负责云硬盘的创建和删除;云硬盘节点与与Ceph的集成过程需要拷贝Ceph.conf文件至云硬盘节点的/etc目录,并将cinder.conf文件中enabled_backends、volume_driver和rbd_pool选项修改为:enabled_backends=rbd,volume_driver=volume_driver=cinder.volume.drivers.rbd.RBDDriver,rbd_pool=volumes;

存储节点单元,存储节点部署Ceph OSD,通过RBD客户端创建images、instances和volumes三个块存储池向OpenStack的Glance、Nova以及Cinder组件提供块存储服务;存储节点与镜像节点、计算节点、云硬盘节点之间通过10Gbps光纤网口相连。

以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号