一种虚拟机创建方法与流程

文档序号:17474776发布日期:2019-04-20 06:03阅读:179来源:国知局
一种虚拟机创建方法与流程

本发明涉及虚拟机管理技术领域,特别是一种虚拟机创建方法。



背景技术:

随着科技的发展,使用虚拟机的人越来越多。要为有需要的人提供虚拟机,创建虚拟机就成了一个必要的过程。而创建虚拟机涉及存储、计算、网络等方方面面,过程复杂、步骤繁多。一般的创建虚拟机存在以下不足:

一是传统的创建虚拟机一般都呈现顺序执行的流程,可并行执行的操作往往要等待其他没有先后顺序关系的任务执行完才能执行,造成不必要的耗时;

二是修改风险大,如果创建虚拟机的流程有改动,必须阅读并理解整个创建过程的代码,并针对特定位置修改,如果修改位置有误可能影响后面流程;

三是不够灵活,无法快速实现增删一个子操作而不修改原有代码;

四是无法监控和了解每个步骤的执行情况及结果。

为了便捷灵活高效地实现创建虚拟机,了解在创建过程中的执行情况及结果,本发明提供了一种基于可并行多嵌套工作流创建虚拟机的方法。



技术实现要素:

本发明解决的技术问题在于提供一种基于可并行多嵌套工作流创建虚拟机的方法,可以更便捷、灵活地通过配置实现创建虚拟机。

本发明解决上述技术问题的技术方案是:

所述的方法是将创建虚拟机功能拆分为若干个子步骤;定义并行、嵌套和单工作流模板,基于模板设置镜像、块设备、网卡;通过执行工作流创建虚拟机。

所述的方法包括以下步骤:

步骤1:把创建虚拟机功能拆分为若干个子步骤;

步骤2:根据并行工作流模板设置镜像、块设备、网卡的并行点;

步骤3:根据嵌套工作流模板设置镜像、块设备、网卡的嵌套流;

步骤4:根据单工作流模板设置镜像、块设备、网卡的单工作流;

步骤5:执行工作流创建虚拟机。

所述创建虚拟机功能拆分后的子步骤包括文件系统检测、镜像操作及子操作步骤、块设备操作及子操作步骤、网卡操作及子操作步骤;子步骤可以配置为并行工作流、嵌套工作流或者单工作流。

所述并行工作流模板是一套配置并行操作的模板,需要配置任务名称、操作实现类、任务id,有子操作的需要配置子任务;子任务的父任务id为此前所述的任务id,子任务可以是嵌套工作流,也可以是单工作流;根据配置好的并行工作流,指定可以并行执行的镜像、块设备、网卡操作。

所述的并行点包括开始标识点和结束标识点;开始标志点是一个任务的开始标识,开始标识条件成立任务开始执行;结束标志点是一个任务的结束标识,结束标识条件成立时结束任务;根据配置的并行点决定镜像、块设备、网卡的工作流走向。

所述嵌套工作流模板是一套配置嵌套操作的模板,需要配置任务名称、操作实现类、任务id及父任务id,有子操作的需要配置子任务;子任务的父任务id为此前所述的任务id;嵌套工作流中的父任务可以有子任务,子任务可以是嵌套工作流,也可以是单工作流;有子任务的嵌套工作流需等子任务完成后,才能执行父任务;根据配置好的嵌套工作流,指定可以嵌套执行的镜像、块设备、网卡操作。

所述单工作流模板是一套配置单操作的模板,需要配置任务名称、操作实现类、任务id,没有子操作,无需配置子任务;单工作流是顺序执行的工作流,根据配置好的单工作流,指定可以单独顺序执行的镜像、块设备、网卡操作。

本发明通过定义并行、嵌套、单工作流模板,可以灵活地定义在创建虚拟机时各子操作的关系,并记录操作情况和结果。当需要增删子操作时,只需要修改对应的模板表的关系即可实现功能的扩展或者变更。本发明的实现方法灵活且具有一定的通用性,通过配置就能扩展创建虚拟机的原有步骤。

附图说明

下面结合附图对本发明进一步说明:

图1为本发明的方法流程图。

具体实施方式

见图1所示,本发明的流程如下:

1、把创建虚拟机功能拆分为若干个子步骤的实现:

把创建虚拟机拆分为如下子步骤:1)生成虚拟机路径、2)文件系统检测、3)镜像操作及子操作步骤、4)块设备操作及子操作步骤、5)网卡操作及子操作步骤等。

2、根据并行工作流模板设置镜像、块设备、网卡等操作的并行点实现如下:

例如根据并行工作流模板设置激活镜像操作并行的并行点,新增一个镜像并行模板文件image_paralle_template,设置任务名称paralle_flow_name为active_image,任务idtask_id为cc8aeac2-2c53-4772-aa1b-af1772808fa7,开始标识点start_flag为image.active=false,结束标识点end_flag为image.active=true,操作实现类operate_class=com.gcloud.vm.create.image.imageactivecommand,并行步骤parallel_step=1,就可以与其他并行步骤为1的操作并行执行,实现激活镜像操作。

3、根据嵌套工作流模板设置镜像、块设备、网卡等操作的嵌套流实现如下:

例如根据嵌套工作流模板设置块设备创建嵌套流,新增一个创建块设备嵌套流模板文件volume_nest_template,设置任务名称nest_flow_name为create_volume,任务idtask_id为b0501022-9dbd-4a23-80f3-c872dad8959e,嵌套子任务模板children_templates=create_block_nest_template,format_block_nest_template,操作实现类operate_class=com.gcloud.vm.create.volume.volumecreatecommand,父任务idparent_task_id=fc88e6be-2d0a-43ba-981a-a589c32ce79e(此id为创建系统盘任务id),就可实现创建并格式化块设备。

4、根据单工作流模板设置镜像、块设备、网卡等操作的单工作流实现如下:

例如根据单工作流模板设置网络检测单工作流,创建一个网络检测单工作流模板文件check_network_simple_template,设置任务名称simple_flow_name为check_network,任务idtask_id为ce9d83d0-0bba-4aeb-85a7-17f573c896aa,操作实现类operate_class=com.gcloud.vm.create.network.checknetworkcommand,父任务idparent_task_id=e7d00399-e715-4bbe-ae5a-d0b90b579bd0(此id为挂载网卡任务id),就可实现检测网络。

5、执行工作流创建虚拟机实现如下:

运行服务,加载工作流配置模板,根据优先级和设定的工作流程,执行对应的任务流,记录各个子流程的操作情况及结果。



技术特征:

技术总结
本发明涉及虚拟机管理技术领域,特别是一种虚拟机创建方法。本发明的方法是将创建虚拟机功能拆分为若干个子步骤;定义并行、嵌套和单工作流模板,基于模板设置镜像、块设备、网卡等操作;通过执行工作流创建虚拟机。本发明解决了传统创建虚拟机时无法拆分子步骤并监控操作结果的问题,方便在创建虚拟机的过程中了解每个步骤的执行情况及结果。

技术研发人员:孔美琪;季统凯
受保护的技术使用者:国云科技股份有限公司
技术研发日:2018.11.29
技术公布日:2019.04.19
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1