CN115220871A - 一种虚拟机克隆方法、装置及存储介质 - Google Patents
一种虚拟机克隆方法、装置及存储介质 Download PDFInfo
- Publication number
- CN115220871A CN115220871A CN202210870106.1A CN202210870106A CN115220871A CN 115220871 A CN115220871 A CN 115220871A CN 202210870106 A CN202210870106 A CN 202210870106A CN 115220871 A CN115220871 A CN 115220871A
- Authority
- CN
- China
- Prior art keywords
- cloning
- virtual machine
- request
- clone
- computing module
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/547—Remote procedure calls [RPC]; Web services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45562—Creating, deleting, cloning virtual machine instances
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请公开了一种虚拟机克隆方法、装置及存储介质,用于降低虚拟机克隆的复杂度,提高克隆的效率和可操作性。本申请公开的虚拟机克隆方法包括:计算模块接收用户的克隆请求,所述克隆请求中包括克隆相关参数;所述计算模块检验所述克隆相关参数的合法性,并向所述用户发送克隆请求反馈消息;若所述合法性检验不通过,则克隆失败;若所述合法性检验通过,则进行以下操作:所述计算模块进行调度处理;所述计算模块向网络模块发送网络克隆请求;所述计算模块向存储模块发送卷克隆请求;所述计算模块向所述用户反馈克隆状态信息。本申请还提供了一种虚拟机克隆装置及存储介质。
Description
技术领域
本申请涉及计算技术领域,尤其涉及一种虚拟机克隆方法、装置和存储介质。
背景技术
虚拟机在线和离线克隆功能能够方便使用者对现有的虚拟机进行复制,从而无需在新创建的虚拟机上重复性地安装相同的环境。OpenStack是一个开源的云计算管理平台项目,是一系列软件开源项目的组合。当前OpenStack并不支持虚拟机进行简便的克隆操作,想要达到此目的,必须要通过相关复杂的操作完成,但是这种方式存在着几个问题:克隆时需登录原虚机所在的主机,不支持在OpenStack控制节点操作;使用virt-clone命令无法实现跨主机克隆,只能克隆到原虚机所在的主机中;克隆时必须要关闭原虚拟机,无法实现虚拟机的在线克隆;克隆时,若原虚拟机所在网络未开启DHCP服务,则克隆虚机后会出现IP冲突问题,需要克隆完成后手动修改虚机IP;克隆后的虚机无法被OpenStack管理;操作流程复杂,对操作人员的技术水平要求较高,对使用者不友好。
可见,现有的虚拟机克隆方法存在亟待解决的问题:克隆过程复杂度高,克隆的效率低和可操作性较差。
发明内容
针对上述技术问题,本申请实施例提供了一种虚拟机克隆方法、装置及存储介质。
第一方面,本申请实施例提供的一种虚拟机克隆方法,包括:
计算模块接收用户的克隆请求,所述克隆请求中包括克隆相关参数;
所述计算模块检验所述克隆相关参数的合法性,并向所述用户发送克隆请求反馈消息;
若所述合法性检验不通过,则克隆失败;若所述合法性检验通过,则进行以下操作:
所述计算模块进行调度处理;
所述计算模块向网络模块发送网络克隆请求;
所述计算模块向存储模块发送卷克隆请求;
所述计算模块向所述用户反馈克隆状态信息。
优选的,所述所述计算模块检验所述克隆相关参数的合法性包括以下之一或者组合:
源虚拟机校验,校验源虚拟机是否存在;
虚拟机规格校验,校验指定的规格是否存在以及资源是否足够;
可用域校验,校验可用域是否存在以及可用域内的主机能否满足克隆后的虚拟机对资源的要求;
主机校验,校验指定的主机是否存在、主机是否处于正常服务状态、主机资源是否能满足克隆需求;
网络校验,校验指定的网络是否存在以及指定的网络是否能够满足克隆需求;
安全组校验:校验指定的安全组是否存在。
优选的,所述克隆相关参数包括:
若未指定克隆相关参数,则使用默认的参数作为克隆相关参数;
所述默认的参数包括:
虚拟机的网络个数与原虚拟机保持一致,且每个网络均与原虚拟机处于相同的网络下的相同的子网中;
虚拟机的卷所使用的后端存储默认与原虚拟机相同;
虚拟机的规格默认与原虚拟机相同。
优选的,所述计算模块检验所述克隆相关参数的合法性,并向所述用户发送克隆请求反馈消息还包括:
若合法性检验不通过,则所述克隆请求反馈消息为请求失败;
若合法性检验通过,则所述克隆请求反馈消息为正在调度。
优选的,计算模块行调度处理包括:
更新虚拟机的任务状态为正在调度;
所述计算模块的组件二作为代理将克隆后的虚拟机的信息记录至数据库中,并向所述计算模块的组件三发送远程方法调用请求。
进一步的,所述所述计算模块的组件三发送远程方法调用请求之后,还包括:
所述计算模块的组件三进行以下处理:
判断克隆时是否指定克隆后的虚拟所在的节点,若指定了节点,则判断该节点的性能是否满足资源请求,若不能满足资源请求,则返回错误信息;若能够满足资源需求,则将该节点作为同步远程调用的结果返回给所述计算模块的组件二;若未指定节点,则从当前可用的节点列表中找出可用的计算节点列表,并将该节点列表返回给所述计算模块的组件二。
进一步的,所述计算模块的组件二接收到所述计算模块的组件三的返回结果时,判断所述节点列表是否非空,若节点列表为空,则标识没有计算节点可用,更新虚拟机的任务状态为失败,并向所述用户反馈克隆状态信息,所述克隆状态信息中包括虚拟机的ID、虚拟机的规格及失败的原因;若所述节点列表为非空,则从所述节点列表中选择资源最优的节点,并将所述克隆请求发送到该节点的计算模块的组件四。
优选的,所述选择资源最优的节点包括:
所述计算模块的组件三对每个节点的中央处理器CPU余量,随机存取存储器RAM余量,磁盘余量分别赋予相应的权重系数,并根据余量和相应的权重系数计算资源综合得分,对所有节点的资源综合得分进行排序,选择资源综合得分最高的节点作为资源最优的节点。
进一步的,所述将所述克隆请求发送到该节点的计算模块的组件四之后,还包括:
所述计算模块的组件四以异步远程调用方式向网络模块发送网络克隆请求;
所述计算模块的组件四以同步远程调用方式向存储模块发送卷克隆请求。
进一步的,所述计算模块的组件四以异步远程调用方式向网络模块发送网络克隆请求之后,还包括:
所述网络模块接收到所述网络克隆请求之后,进行以下操作:
对所述网络克隆请求进行校验,校验通过后,根据所述克隆请求创建指定数量、指定网络下的网络端口,并将创建的端口的信息返回给所述计算模块的组件四。
进一步的,所述计算模块的组件四以同步远程调用方式向存储模块发送卷克隆请求之后,还包括:
所述存储模块接收到所述卷克隆请求后,进行以下操作:
对所述卷克隆请求进行校验,校验通过后,对原虚机的卷做快照,基于所述快照在指定的后端存储中克隆生成新的卷,并在克隆完成后将所述快照删除;
在完成所有的卷克隆操作后,将克隆后的卷的信息返回给所述计算模块的组件四。
进一步的,所述计算模块的组件四更新虚拟机的任务状态为开始克隆;
所述计算模块的组件四根据所述端口的信息和克隆后的卷的信息创建一个新的虚拟机,若新的虚拟机创建成功,则更新虚拟机的任务状态为克隆成功;若新的虚拟机创建失败,则更新虚拟机的任务状态为克隆失败,并通知所述网络模块删除创建的端口,通知所述存储模块删除已克隆的卷。
使用本发明提供的方法,为了实现虚拟机的克隆操作,计算模块、存储模块和网络模块的相互配合完成克隆操作。计算模块,负责接收克隆虚拟机的请求、校验克隆虚拟机的参数、选择克隆后的主机、完成数据库的信息记录、在底层虚拟化的支持下完成虚拟机的克隆操作并且同时负责与存储模块和网络模块交互;存储模块主要负责接收计算模块发送的卷克隆请求并完成虚拟机的卷的克隆操作;网络模块主要负责接收计算模块发送的网络克隆请求并完成虚拟机的网络的克隆操作。通过本发明的方法,具备以下优点,从而降低虚拟机克隆的复杂度,提高克隆的效率和可操作性:不需要登录原虚机所在的主机,只需要登录OpenStack的控制节点;可以实现虚机的跨可用域、跨主机克隆;可以实现虚机卷的跨存储后端克隆;可以在克隆时,指定克隆后的虚机的的IP地址;克隆操作不需要关闭原虚机;克隆后的虚机可以被OpenStack管理。
第二方面,本申请实施例还提供一种虚拟机克隆装置,包括:
计算模块、网络模块和存储模块;
所述计算模块被配置用于接收用户的克隆请求,所述克隆请求中包括克隆相关参数;检验所述克隆相关参数的合法性,并向所述用户发送克隆请求反馈消息;若所述合法性检验不通过,则克隆失败;若所述合法性检验通过,则进行以下操作:行调度处理;向所述网络模块发送网络克隆请求;向所述存储模块发送卷克隆请求;向所述用户反馈克隆状态信息;
所述网络模块被配置用于接收所述网络克隆请求,对所述网络克隆请求进行校验,校验通过后,根据所述克隆请求创建指定数量、指定网络下的网络端口,并将创建的端口的信息返回给所述计算模块;
所述存储模块被配置用于接收所述卷克隆请求,对所述卷克隆请求进行校验,校验通过后,对原虚机的卷做快照,基于所述快照在指定的后端存储中克隆生成新的卷,并在克隆完成后将所述快照删除;在完成所有的卷克隆操作后,将克隆后的卷的信息返回给所述计算模块。
第三方面,本申请实施例还提供一种虚拟机克隆装置,包括:存储器、处理器和用户接口;
所述存储器,用于存储计算机程序;
所述用户接口,用于与用户实现交互;
所述处理器,用于读取所述存储器中的计算机程序,所述处理器执行所述计算机程序时,实现本发明提供的虚拟机克隆方法。
第四方面,本申请实施例还提供一种处理器可读存储介质,所述处理器可读存储介质存储有计算机程序,所述处理器执行所述计算机程序时实现本发明提供的虚拟机克隆方法。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简要介绍,显而易见地,下面描述中的附图仅是本申请的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的虚拟机克隆方法流程示意图;
图2为本申请实施例提供的计算机模块进行调度处理示意图一;
图3为本申请实施例提供的计算机模块进行调度处理示意图二;
图4为本申请实施例提供的计算机模块进行调度处理示意图三;
图5为本申请实施例提供的虚拟机克隆装置结构示意图;
图6为本申请实施例提供的计算模块结构示意图;
图7为本申请实施例提供的另一种虚拟机克隆装置结构示意图。
具体实施方式
为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述,显然,所描述的实施例仅仅是本发明一部份实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
下面对文中出现的一些词语进行解释:
1、本发明实施例中术语“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。
2、本申请实施例中术语“多个”是指两个或两个以上,其它量词与之类似。
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,并不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
需要说明的是,本申请实施例的展示顺序仅代表实施例的先后顺序,并不代表实施例所提供的技术方案的优劣。
实施例一
参见图1,本申请实施例提供的一种虚拟机克隆方法示意图,如图1所示,该方法包括步骤S101到S107:
S101、计算模块接收用户的克隆请求,所述克隆请求中包括克隆相关参数;
作为一种优选示例,克隆相关参数包括:
若未指定克隆相关参数,则使用默认的参数作为克隆相关参数;
所述默认的参数包括:
虚拟机的网络个数与原虚拟机保持一致,且每个网络均与原虚拟机处于相同的网络下的相同的子网中;
虚拟机的卷所使用的后端存储默认与原虚拟机相同;
虚拟机的规格默认与原虚拟机相同。
以Openstack为例,调用API接口时,用户需指定操作(即action)为克隆(即clone),同时指定克隆虚拟机的参数;若克隆虚机的参数未指定,则系统会使用默认的参数。默认情况下,虚拟机的网络个数与原虚拟机保持一致,且每个网络均与原虚拟机处于相同的网络下的相同的子网中;虚拟机的卷所使用的后端存储默认与原虚拟机相同;虚拟机的规格默认与原虚拟机相同。
S102、所述计算模块检验所述克隆相关参数的合法性,并向所述用户发送克隆请求反馈消息;
作为一种优选示例,所述计算模块检验所述克隆相关参数的合法性包括以下之一或者组合;
源虚拟机校验,校验源虚拟机是否存在;
虚拟机规格校验,校验指定的规格是否存在以及资源是否足够;
可用域校验,校验可用域是否存在以及可用域内的主机能否满足克隆后的虚拟机对资源的要求;
主机校验,校验指定的主机是否存在、主机是否处于正常服务状态、主机资源是否能满足克隆需求;
网络校验,校验指定的网络是否存在以及指定的网络是否能够满足克隆需求;
安全组校验:校验指定的安全组是否存在。
也就是说,上述合法性检验的内容,可以根据需要执行全部或者只执行其中一部分,本发明不做限定。
具体的,上述检验是否通过可以为:
源虚拟机校验,校验源虚拟机是否存在,若源虚拟机存在则通过,若源虚拟机不存在则不通过;
虚拟机规格校验,校验指定的规格是否存在以及资源是否足够,若指定的规格不存在,或者虽然指定的规格存在但是资源不足,则检验不通过,否则通过。也就是说,只有指定的规格存在并且资源满足预设的要求才检验通过,否则不通过。
可用域校验,校验可用域是否存在。若可用域不存在则检验不通过,否则通过。
主机校验,校验指定的主机是否存在、主机是否处于正常服务状态。只有主机存在,并且处于正常服务状态才检验通过,否则不通过。
网络校验,校验指定的网络是否存在以及指定的网络是否能够满足克隆需求。若指定的网络不存在,或者虽然指定的网络存在但是不能满足克隆需求,则检验不通过,否则通过。也就是说,只有指定的网络存在且满足克隆需求才检验通过,否则不通过。
安全组校验:校验指定的安全组是否存在。若指定的安全组不存在则检验不通过,指定的安全组存在则检验通过。
需要说明的是,在合法性检查内容中,只要有其中至少一项检验未通过,则合法性检查未通过。例如,根据需要执行以下6个检验:源虚拟机校验,虚拟机规格校验,可用域校验,主机校验,网络校验,安全组校验。若源虚拟机校验发现校验源虚拟机不存在,则源虚拟机校验不通过,其他检验均通过,但是合法性检验不通过。
作为一种优选示例,所述计算模块检验所述克隆相关参数的合法性,并向所述用户发送克隆请求反馈消息还包括:
若合法性检验不通过,则所述克隆请求反馈消息为请求失败;
若合法性检验通过,则所述克隆请求反馈消息为正在调度。
本发明实施例中,检验失败和检验不通过,是相同的概念。
S103、若所述合法性检验不通过,则执行S108;若所述合法性检验通过,则执行S104到S107:
本步骤中,若所述合法性检验不通过,则克隆失败;若所述合法性检验通过,则执行S104到S107。
需要说明的是,若合法性检验不通过,则通过所述克隆请求反馈消息将克隆失败的信息反馈给用户,即克隆请求失败。若合法性检验通过,执行S104到S107之前,通过所述克隆请求反馈消息向用户反馈正在调度。
S104、所述计算模块进行调度处理;
作为一种优选示例,如图2所示为调度处理的流程图。
S201、更新虚拟机的任务状态为正在调度;
S202、所述计算模块的组件二作为代理将克隆后的虚拟机的信息记录至数据库中,并向所述计算模块的组件三发送远程方法调用请求。
需要说明的是,以OpenStack平台下实施本发明为例,可通过三个模块共同配合实施本发明的实施例。三个模块如图5所示,分别是:计算模块,也称为Nova模块;网络模块,也称为Neutron模块;存储模块,也称为Cinder模块。Nova模块是主要处理模块,负责接收克隆虚拟机的请求、校验克隆虚拟机的参数、选择克隆后的主机、完成数据库的信息记录、在底层虚拟化的支持下完成虚拟机的克隆操作并且同时负责与Cinder模块和Neutron模块交互;Cinder模块主要负责接收Nova模块发送的卷克隆请求并完成虚拟机的卷的克隆操作;Neutron模块主要负责接收Nova模块发送的网络克隆请求并完成虚拟机的网络的克隆操作。
其中,计算模块Nova由4个组件组成,如图6所示,包括四个组件:
组件一:也称为Nova-api组件,组件一实现了RESTful API功能,是外部访问Nova的唯一途径,该组件接收外部的克隆虚拟机的请求并通过Message Queue将请求发送给其他的服务组件。
组件二:也称为Nova-conductor组件,组件二是计算节点访问数据的中间件,Nova-compute服务和数据库之间的中间件。组件二消除了对云数据库的直接访问;
组件三:也称为Nova-scheduler组件,组件三决策虚拟机创建在哪个主机(计算节点)上;
组件四:也称为Nova-compute组件,组件四执行守护进程,基于各种虚拟化技术Hyperivisor实现创建和终止虚拟机。
作为另一种优选示例,如图3所示为调度处理的另一个流程图,包括:
S201、更新虚拟机的任务状态为正在调度;
S202、所述计算模块的组件二作为代理将克隆后的虚拟机的信息记录至数据库中,并向所述计算模块的组件三发送远程方法调用请求。
S203、计算模块的组件三判断克隆时是否指定克隆后的虚拟机所在的节点,若未指定则执行S206,若已指定则执行S204;
S204、判断该节点的性能是否满足资源请求。即判断S203中指定的节点能性能是否满足资源请求。若满足则执行S205,若不满足则执行S207;
S205、将该节点作为同步远程调用的结果返回给所述计算模块的组件二;
S206、从当前可用的节点列表中找出可用的计算节点列表,并将改节点列表返回给所述计算模块的组件二。
S207、返回错误信息。
也就是说,图3所示的调度处理由计算模块的组件三执行,具体流程为:判断克隆时是否指定的克隆后的虚拟所在的节点,若指定了节点,则判断该节点的性能是否满足资源请求,若不能满足资源请求,则返回错误信息;若能够满足资源需求,则将该节点作为同步远程调用的结果返回给所述计算模块的组件二;若未指定节点,则从当前可用的节点列表中找出可用的计算节点列表,并将该节点列表返回给所述计算模块的组件二。
作为另一个优选示例,如图4所示,计算模块的组件二执行如下步骤:
S301、计算模块的组件二接收到所述计算模块的组件三的返回结果;
S302、判断所述节点列表是否非空。若为非空则执行S303,否则执行S304。
S303、从所述节点列表中选择资源最优的节点,并将所述克隆请求发送到该节点的计算模块的组件四;
S304、标识没有计算节点可用,更新虚拟机的任务状态为失败,并向所述用户反馈克隆状态信息,即将克隆状态信息更新为克隆出错状态。
也就是说,图4所示的调度处理流程由计算模块的组件二执行,具体包括:所述计算模块的组件二接收到所述计算模块的组件三的返回结果时,判断所述节点列表是否非空,若节点列表为空,则标识没有计算节点可用,更新虚拟机的任务状态为失败,并向所述用户反馈克隆状态信息,即将克隆状态信息更新为克隆出错状态,所述克隆状态信息中包括虚拟机的ID、虚拟机的规格及失败的原因;若所述节点列表为非空,则从所述节点列表中选择资源最优的节点,并将所述克隆请求发送到该节点的计算模块的组件四。
作为一种优选示例,本步骤中选择资源最优的节点方法可以是:
所述计算模块的组件三对每个节点的中央处理器CPU余量,随机存取存储器RAM余量,磁盘余量分别赋予相应的权重系数,并根据余量和相应的权重系数计算资源综合得分,对所有节点的资源综合得分进行排序,选择资源综合得分最高的节点作为资源最优的节点。作为一种优选示例,计算模块的组件三可以是在接收到计算模块的组件二的请求后,再按照上述步骤选择资源最优的节点。
需要说明的是,CPU余量的权重系数,RAM余量的权重系数和磁盘余量的权重系数,管理员根据业务等需求进行确定,并在配置文件中记录,计算模块使用时从配置文件中读取即可。
需要说明的是,根据余量和相应的权重系数计算资源综合得分的方法,是根据需要事先设定的,具体方法本发明不做限定。例如针对每一个节点,可以是如下公式:
Q=k1*Q1+k2*Q2+k3*Q3,
其中,Q为资源综合得分,k1为CPU余量的权重系数,Q1为CPU余量,k2为RAM余量的权重系数,Q2为RAM余量,k3为磁盘余量的权重系数,Q3为磁盘余量。
S105、所述计算模块向网络模块发送网络克隆请求;
作为一种优选示例,具体的,计算模块的组件四以异步远程调用方式向网络模块发送网络克隆请求。
进一步的,作为一种优选示例,所述网络模块接收到所述网络克隆请求之后,进行以下操作:
对所述网络克隆请求进行校验,校验通过后,根据所述克隆请求创建指定数量、指定网络下的网络端口,并将创建的端口的信息返回给所述计算模块的组件四。
S106、所述计算模块向存储模块发送卷克隆请求;
作为一种优选示例,具体的,计算模块的组件四以同步远程调用方式向存储模块发送卷克隆请求。
进一步的,作为一种优选示例,所述存储模块接收到所述卷克隆请求后,进行以下操作:
对所述卷克隆请求进行校验,校验通过后,对原虚机的卷做快照,基于所述快照在指定的后端存储中克隆生成新的卷,并在克隆完成后将所述快照删除;
在完成所有的卷克隆操作后,将克隆后的卷的信息返回给所述计算模块的组件四。
进一步的,作为一种优选示例,克隆后的卷的信息返回给所述计算模块的组件四之后,所述计算模块的组件四更新虚拟机的任务状态为开始克隆;所述计算模块的组件四根据所述端口的信息和克隆后的卷的信息创建一个新的虚拟机,若新的虚拟机创建成功,则更新虚拟机的任务状态为克隆成功;若新的虚拟机创建失败,则更新虚拟机的任务状态为克隆失败,并通知所述网络模块删除创建的端口,通知所述存储模块删除已克隆的卷。
S107、所述计算模块向所述用户反馈克隆状态信息;
S108、克隆失败。
下面以在OpenStack中实现实施例一所述的虚拟机克隆方法为例,可通过三个模块共同配合实施本发明的实施例,三个模块分别是:计算模块,也称为Nova模块;其中,计算模块Nova由4个组件组成,包括四个组件:组件一:也称为Nova-api组件。组件二:也称为Nova-conductor组件;组件三:也称为Nova-scheduler组件;组件四:也称为Nova-compute组件。以OpenStack平台下实施本发明为例,对上述S101到S108的整个过程进行具体的描述:
在Nova模块中,通过复用现有的API的方式,为虚拟机增加一个操作(即action),实现虚拟机的克隆操作。
调用API接口时,用户需指定action为克隆(即clone),同时指定克隆虚拟机的参数;若克隆虚机的参数未指定,则系统使用默认的参数。默认情况下,虚拟机的网络个数与原虚拟机保持一致,且每个网络均与原虚拟机处于相同的网络下的相同的子网中;虚拟机的卷所使用的后端存储默认与原虚拟机相同;虚拟机的规格默认与原虚拟机相同。
当服务器收到用户请求后,检验入参的合法性。
远程调用成功后,API侧更新虚拟机的任务状态为正在调度,API返回204给客户端,表明克隆虚机的请求已经接收,后端正通过nova-conductor服务组件、nova-scheduler服务组件以及nova-compute服务组件进行处理。
Nova-conductor服务组件在接收到远程调用后,作为代理将克隆后的虚拟机的信息记录至数据库中,并以同步的远程方法调用的形式发送到nova-scheduler服务组件。
Nova-scheduler服务组件在接收到远程方法调用的请求后,进行如下判断:
判断克隆时时否指定的克隆后的虚拟所在的节点:
若指定了节点,则将判断该节点的能否满足请求,若不能满足CPU、内存、磁盘、网络等资源请求,则返回错误信息;若能够满足,则将该节点作为同步远程调用的结果返回给nova-conductor服务组件。
若未指定节点,则从当前可用的节点列表中找出可用的计算节点列表,并将该节点列表返回给nova-conductor服务组件。
当nova-conductor服务接收到来自nova-scheduler服务组件的返回结果时,应当判断返回列表是否非空:
若返回的候选节点列表为空,则标识没有计算节点可用,此时需要更新虚拟机的任务状态为失败,并发送一个通知事件到消息队列;并且通知事件中包含虚拟机的ID、虚拟机的规格及失败的原因等信息,以方便之后进行问题的定位;
若返回的候选节点列表为非空,则从候选列表中选择一个最优节点,将克隆虚拟机的任务发送到该节点的nova-compute服务组件中。
Nova-compute服务组件在接收到该异步远程调用请求后,将发送通知到消息队列,表明开始进行虚拟机的克隆操作;
Nova-compute服务组件通过异步远程调用的方式通知Neutron模块克隆生成新的网络端口信息以提供给克隆后的虚拟机使用;
完成Neutron模块的通知后,将发送通知到消息队列,通知开始进行虚拟机的卷的克隆操作,同时通过同步远程调用的方式通知Cinder模块进行虚拟机的卷克隆操作。
Neutron模块在接收到该异步远程调用请求后,首先对接收到的网络克隆参数进行校验,校验通过后,使用接收到的参数创建指定数量、指定网络下的端口,并且在完成创建后,将创建的端口的信息返回给nova-compute服务组件。
Cinder模块在接收到该同步远程调用请求后,首先对接收到的卷克隆参数进行校验,校验通过后,首先对原虚机的卷做快照,然后基于原卷的快照在指定的后端存储中克隆生成新的卷,在克隆完成后将该快照删除。在完成所有的卷克隆操作后,将克隆后的卷的信息返回给nova-compute服务组件。
Nova-compute服务组件在接收到Neutron模块返回的网络克隆成功信息和Cinder模块返回的卷克隆成功信息后,将发送通知到消息队列,通知开始进行虚拟机的克隆操作。Nova-compute服务组件会调用底层虚拟化能力使用克隆后的网络和克隆后的卷等信息创建一个新的虚拟机,从而实现虚拟机的克隆。
同时,nova-compute服务组件会持续监测虚拟机的克隆状态:
若虚拟机克隆成功,nova-compute服务组件会发送通知到消息队列,表明虚拟机克隆成功;
若虚拟机克隆失败,Compute服务组件会发送通知到消息队列,表明虚拟机克隆失败;同时,会触发虚拟机克隆失败的回退机制,通知Neutron模块删除已克隆生成的网络、通知Cinder模块删除已克隆的卷等资源。
使用本发明提供的方法,为了实现虚拟机的克隆操作,计算模块、存储模块和网络模块的相互配合完成克隆操作。计算模块,负责接收克隆虚拟机的请求、校验克隆虚拟机的参数、选择克隆后的主机、完成数据库的信息记录、在底层虚拟化的支持下完成虚拟机的克隆操作并且同时负责与存储模块和网络模块交互;存储模块主要负责接收计算模块发送的卷克隆请求并完成虚拟机的卷的克隆操作;网络模块主要负责接收计算模块发送的网络克隆请求并完成虚拟机的网络的克隆操作。通过本发明的方法,具备以下优点,从而降低虚拟机克隆的复杂度,提高克隆的效率和可操作性:不需要登录原虚机所在的主机,只需要登录OpenStack的控制节点;可以实现虚机的跨可用域、跨主机克隆;可以实现虚机卷的跨存储后端克隆;可以在克隆时,指定克隆后的虚机的的IP地址;克隆操作不需要关闭原虚机;克隆后的虚机可以被OpenStack管理。
实施例二
基于同一个发明构思,本发明实施例还提供了一种虚拟机克隆装置,如图5所示,该装置包括:
计算模块501、网络模块502和存储模块503;
所述计算模块501被配置用于接收用户的克隆请求,所述克隆请求中包括克隆相关参数;检验所述克隆相关参数的合法性,并向所述用户发送克隆请求反馈消息;若所述合法性检验不通过,则克隆失败;若所述合法性检验通过,则进行以下操作:行调度处理;向所述网络模块发送网络克隆请求;向所述存储模块发送卷克隆请求;向所述用户反馈克隆状态信息;
所述网络模块502被配置用于接收所述网络克隆请求,对所述网络克隆请求进行校验,校验通过后,根据所述克隆请求创建指定数量、指定网络下的网络端口,并将创建的端口的信息返回给所述计算模块;
所述存储模块503被配置用于接收所述卷克隆请求,对所述卷克隆请求进行校验,校验通过后,对原虚机的卷做快照,基于所述快照在指定的后端存储中克隆生成新的卷,并在克隆完成后将所述快照删除;在完成所有的卷克隆操作后,将克隆后的卷的信息返回给所述计算模块。
作为一种优选示例,所述计算模块501还被配置用于通过以下方式之一或者组合检验所述克隆相关参数的合法性:
源虚拟机校验,校验源虚拟机是否存在;
虚拟机规格校验,校验指定的规格是否存在以及资源是否足够;
可用域校验,校验可用域是否存在以及可用域内的主机能否满足克隆后的虚拟机对资源的要求;
主机校验,校验指定的主机是否存在、主机是否处于正常服务状态、主机资源是否能满足克隆需求;
网络校验,校验指定的网络是否存在以及指定的网络是否能够满足克隆需求;
安全组校验:校验指定的安全组是否存在。
所述克隆相关参数包括:
若未指定克隆相关参数,则使用默认的参数作为克隆相关参数;
所述默认的参数包括:
虚拟机的网络个数与原虚拟机保持一致,且每个网络均与原虚拟机处于相同的网络下的相同的子网中;
虚拟机的卷所使用的后端存储默认与原虚拟机相同;
虚拟机的规格默认与原虚拟机相同。
所述计算模块检验所述克隆相关参数的合法性,并向所述用户发送克隆请求反馈消息还包括:
若合法性检验失败,则所述克隆请求反馈消息为请求失败;
若合法性检验通过,则所述克隆请求反馈消息为正在调度。
作为一种优选示例,所述计算模块501如图6所示,包括:
组件一601:也称为Nova-api组件,组件一实现了RESTful API功能,是外部访问Nova的唯一途径,该组件接收外部的克隆虚拟机的请求并通过Message Queue将请求发送给其他的服务组件。
组件二602:也称为Nova-conductor组件,组件二是计算节点访问数据的中间件,Nova-compute服务和数据库之间的中间件。组件二消除了对云数据库的直接访问;
组件三603:也称为Nova-scheduler组件,组件三决策虚拟机创建在哪个主机(计算节点)上;
组件四604:也称为Nova-compute组件,组件四执行守护进程,基于各种虚拟化技术Hyperivisor实现创建和终止虚拟机。
作为一种优选示例,所述计算模块501还被配置用于进行如下调度处理:
更新虚拟机的任务状态为正在调度;
所述计算模块的组件二作为代理将克隆后的虚拟机的信息记录至数据库中,并向所述计算模块的组件三发送远程方法调用请求。
作为一种优选示例,所述计算模块501还被配置用于:
所述所述计算模块的组件三发送远程方法调用请求之后,还包括:
所述计算模块的组件三进行以下处理:
判断克隆时是否指定的克隆后的虚拟所在的节点,若指定了节点,则判断该节点的性能是否满足资源请求,若不能满足资源请求,则返回错误信息;若能够满足资源需求,则将该节点作为同步远程调用的结果返回给所述计算模块的组件二;若未指定节点,则从当前可用的节点列表中找出可用的计算节点列表,并将该节点列表返回给所述计算模块的组件二。
作为一种优选示例,所述计算模块501还被配置用于:
所述计算模块的组件二接收到所述计算模块的组件三的返回结果时,判断所述节点列表是否非空,若节点列表为空,则标识没有计算节点可用,更新虚拟机的任务状态为失败,并向所述用户反馈克隆状态信息,所述克隆状态信息中包括虚拟机的ID、虚拟机的规格及失败的原因;若所述节点列表为非空,则从所述节点列表中选择资源最优的节点,并将所述克隆请求发送到该节点的计算模块的组件四。
作为一种优选示例,所述计算模块501还被配置用于:
所述计算模块的组件三对每个节点的中央处理器CPU余量,随机存取存储器RAM余量,磁盘余量分别赋予相应的权重系数,并根据余量和相应的权重系数计算资源综合得分,对所有节点的资源综合得分进行排序,选择资源综合得分最高的节点作为资源最优的节点。
作为一种优选示例,所述计算模块501还被配置用于:
所述计算模块的组件四以异步远程调用方式向网络模块发送网络克隆请求;
所述计算模块的组件四以同步远程调用方式向存储模块发送卷克隆请求。
作为一种优选示例,所述网络模块502还被配置用于:
所述网络模块接收到所述网络克隆请求之后,进行以下操作:
对所述网络克隆请求进行校验,校验通过后,根据所述克隆请求创建指定数量、指定网络下的网络端口,并将创建的端口的信息返回给所述计算模块的组件四。
作为一种优选示例,所述存储模块503还被配置用于:
所述存储模块接收到所述卷克隆请求后,进行以下操作:
对所述卷克隆请求进行校验,校验通过后,对原虚机的卷做快照,基于所述快照在指定的后端存储中克隆生成新的卷,并在克隆完成后将所述快照删除;
在完成所有的卷克隆操作后,将克隆后的卷的信息返回给所述计算模块的组件四。
作为一种优选示例,所述计算模块501还被配置用于:
所述计算模块的组件四更新虚拟机的任务状态为开始克隆;
所述计算模块的组件四根据所述端口的信息和克隆后的卷的信息创建一个新的虚拟机,若新的虚拟机创建成功,则更新虚拟机的任务状态为克隆成功;若新的虚拟机创建失败,则更新虚拟机的任务状态为克隆失败,并通知所述网络模块删除创建的端口,通知所述存储模块删除已克隆的卷。
需要说明的是,实施例二提供的装置与实施例一提供的方法属于同一个发明构思,解决相同的技术问题,达到相同的技术效果,实施例二提供的装置能实现实施例一的所有方法,相同之处不再赘述。
实施例三
基于同一个发明构思,本发明实施例还提供了一种虚拟机克隆装置,如图7所示,该装置包括:
包括存储器702、处理器701和用户接口703;
所述存储器702,用于存储计算机程序;
所述用户接口703,用于与用户实现交互;
所述处理器701,用于读取所述存储器702中的计算机程序,所述处理器701执行所述计算机程序时,实现:
计算模块接收用户的克隆请求,所述克隆请求中包括克隆相关参数;
所述计算模块检验所述克隆相关参数的合法性,并向所述用户发送克隆请求反馈消息;
若所述合法性检验不通过,则克隆失败;若所述合法性检验通过,则进行以下操作:
所述计算模块进行调度处理;
所述计算模块向网络模块发送网络克隆请求;
所述计算模块向存储模块发送卷克隆请求;
所述计算模块向所述用户反馈克隆状态信息。
其中,在图7中,总线架构可以包括任意数量的互联的总线和桥,具体由处理器701代表的一个或多个处理器和存储器702代表的存储器的各种电路链接在一起。总线架构还可以将诸如外围设备、稳压器和功率管理电路等之类的各种其他电路链接在一起,这些都是本领域所公知的,因此,本文不再对其进行进一步描述。总线接口提供接口。处理器701负责管理总线架构和通常的处理,存储器702可以存储处理器701在执行操作时所使用的数据。
处理器701可以是CPU、ASIC、FPGA或CPLD,处理器701也可以采用多核架构。
处理器701执行存储器702存储的计算机程序时,实现实施例一中的任一虚拟机克隆方法。
需要说明的是,实施例三提供的装置与实施例一提供的方法属于同一个发明构思,解决相同的技术问题,达到相同的技术效果,实施例三提供的装置能实现实施例一的所有方法,相同之处不再赘述。
本申请还提出一种处理器可读存储介质。其中,该处理器可读存储介质存储有计算机程序,所述处理器执行所述计算机程序时实现实施例一中的任一虚拟机克隆方法。
需要说明的是,本申请实施例中对单元的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。
Claims (15)
1.一种虚拟机克隆方法,其特征在于,包括:
计算模块接收用户的克隆请求,所述克隆请求中包括克隆相关参数;
所述计算模块检验所述克隆相关参数的合法性,并向所述用户发送克隆请求反馈消息;
若所述合法性检验不通过,则克隆失败;若所述合法性检验通过,则进行以下操作:
所述计算模块进行调度处理;
所述计算模块向网络模块发送网络克隆请求;
所述计算模块向存储模块发送卷克隆请求;
所述计算模块向所述用户反馈克隆状态信息。
2.根据权利要求1所述的方法,其特征在于,所述计算模块检验所述克隆相关参数的合法性包括以下之一或者组合:
源虚拟机校验,校验源虚拟机是否存在;
虚拟机规格校验,校验指定的规格是否存在以及资源是否足够;
可用域校验,校验可用域是否存在以及可用域内的主机能否满足克隆后的虚拟机对资源的要求;
主机校验,校验指定的主机是否存在、主机是否处于正常服务状态、主机资源是否能满足克隆需求;
网络校验,校验指定的网络是否存在以及指定的网络是否能够满足克隆需求;
安全组校验:校验指定的安全组是否存在。
3.根据权利要求1所述的方法,其特征在于,所述克隆相关参数包括:
若未指定克隆相关参数,则使用默认的参数作为克隆相关参数;
所述默认的参数包括:
虚拟机的网络个数与原虚拟机保持一致,且每个网络均与原虚拟机处于相同的网络下的相同的子网中;
虚拟机的卷所使用的后端存储默认与原虚拟机相同;
虚拟机的规格默认与原虚拟机相同。
4.根据权利要求1所述的方法,其特征在于,所述计算模块检验所述克隆相关参数的合法性,并向所述用户发送克隆请求反馈消息还包括:
若合法性检验不通过,则所述克隆请求反馈消息为请求失败;
若合法性检验通过,则所述克隆请求反馈消息为正在调度。
5.根据权利要求1所述的方法,其特征在于,所述计算模块进行调度处理包括:
更新虚拟机的任务状态为正在调度;
所述计算模块的组件二作为代理将克隆后的虚拟机的信息记录至数据库中,并向所述计算模块的组件三发送远程方法调用请求。
6.根据权利要求5所述的方法,其特征在于,所述所述计算模块的组件三发送远程方法调用请求之后,还包括:
所述计算模块的组件三进行以下处理:
判断克隆时是否指定克隆后的虚拟所在的节点,若指定了节点,则判断该节点的性能是否满足资源请求,若不能满足资源请求,则返回错误信息;若能够满足资源需求,则将该节点作为同步远程调用的结果返回给所述计算模块的组件二;若未指定节点,则从当前可用的节点列表中找出可用的计算节点列表,并将该节点列表返回给所述计算模块的组件二。
7.根据权利要求6所述的方法,其特征在于,还包括:
所述计算模块的组件二接收到所述计算模块的组件三的返回结果时,判断所述节点列表是否非空,若节点列表为空,则标识没有计算节点可用,更新虚拟机的任务状态为失败,并向所述用户反馈克隆状态信息,所述克隆状态信息中包括虚拟机的ID、虚拟机的规格及失败的原因;若所述节点列表为非空,则从所述节点列表中选择资源最优的节点,并将所述克隆请求发送到该节点的计算模块的组件四。
8.根据权利要求7所述的方法,其特征在于,所述选择资源最优的节点包括:
所述计算模块的组件三对每个节点的中央处理器CPU余量,随机存取存储器RAM余量,磁盘余量分别赋予相应的权重系数,并根据余量和相应的权重系数计算资源综合得分,对所有节点的资源综合得分进行排序,选择资源综合得分最高的节点作为资源最优的节点。
9.根据权利要求7所述的方法,其特征在于,所述将所述克隆请求发送到该节点的计算模块的组件四之后,还包括:
所述计算模块的组件四以异步远程调用方式向网络模块发送网络克隆请求;
所述计算模块的组件四以同步远程调用方式向存储模块发送卷克隆请求。
10.根据权利要求9所述的方法,其特征在于,所述计算模块的组件四以异步远程调用方式向网络模块发送网络克隆请求之后,还包括:
所述网络模块接收到所述网络克隆请求之后,进行以下操作:
对所述网络克隆请求进行校验,校验通过后,根据所述克隆请求创建指定数量、指定网络下的网络端口,并将创建的端口的信息返回给所述计算模块的组件四。
11.根据权利要求10所述的方法,其特征在于,所述计算模块的组件四以同步远程调用方式向存储模块发送卷克隆请求之后,还包括:
所述存储模块接收到所述卷克隆请求后,进行以下操作:
对所述卷克隆请求进行校验,校验通过后,对原虚机的卷做快照,基于所述快照在指定的后端存储中克隆生成新的卷,并在克隆完成后将所述快照删除;
在完成所有的卷克隆操作后,将克隆后的卷的信息返回给所述计算模块的组件四。
12.根据权利要求11所述的方法,其特征在于,还包括:
所述计算模块的组件四更新虚拟机的任务状态为开始克隆;
所述计算模块的组件四根据所述端口的信息和克隆后的卷的信息创建一个新的虚拟机,若新的虚拟机创建成功,则更新虚拟机的任务状态为克隆成功;若新的虚拟机创建失败,则更新虚拟机的任务状态为克隆失败,并通知所述网络模块删除创建的端口,通知所述存储模块删除已克隆的卷。
13.一种虚拟机克隆装置,其特征在于,包括:
计算模块、网络模块和存储模块;
所述计算模块被配置用于接收用户的克隆请求,所述克隆请求中包括克隆相关参数;检验所述克隆相关参数的合法性,并向所述用户发送克隆请求反馈消息;若所述合法性检验不通过,则克隆失败;若所述合法性检验通过,则进行以下操作:行调度处理;向所述网络模块发送网络克隆请求;向所述存储模块发送卷克隆请求;向所述用户反馈克隆状态信息;
所述网络模块被配置用于接收所述网络克隆请求,对所述网络克隆请求进行校验,校验通过后,根据所述克隆请求创建指定数量、指定网络下的网络端口,并将创建的端口的信息返回给所述计算模块;
所述存储模块被配置用于接收所述卷克隆请求,对所述卷克隆请求进行校验,校验通过后,对原虚机的卷做快照,基于所述快照在指定的后端存储中克隆生成新的卷,并在克隆完成后将所述快照删除;在完成所有的卷克隆操作后,将克隆后的卷的信息返回给所述计算模块。
14.一种虚拟机克隆装置,其特征在于,包括存储器、处理器和用户接口;
所述存储器,用于存储计算机程序;
所述用户接口,用于与用户实现交互;
所述处理器,用于读取所述存储器中的计算机程序,所述处理器执行所述计算机程序时,实现如权利要求1到12之一所述的虚拟机克隆方法。
15.一种处理器可读存储介质,其特征在于,所述处理器可读存储介质存储有计算机程序,所述处理器执行所述计算机程序时实现如权利要求1至12之一所述的虚拟机克隆方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210870106.1A CN115220871A (zh) | 2022-07-22 | 2022-07-22 | 一种虚拟机克隆方法、装置及存储介质 |
PCT/CN2023/108045 WO2024017274A1 (zh) | 2022-07-22 | 2023-07-19 | 一种虚拟机克隆方法、装置及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210870106.1A CN115220871A (zh) | 2022-07-22 | 2022-07-22 | 一种虚拟机克隆方法、装置及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115220871A true CN115220871A (zh) | 2022-10-21 |
Family
ID=83614219
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210870106.1A Pending CN115220871A (zh) | 2022-07-22 | 2022-07-22 | 一种虚拟机克隆方法、装置及存储介质 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN115220871A (zh) |
WO (1) | WO2024017274A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2024017274A1 (zh) * | 2022-07-22 | 2024-01-25 | 中电信数智科技有限公司 | 一种虚拟机克隆方法、装置及存储介质 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8135818B2 (en) * | 2009-06-22 | 2012-03-13 | Red Hat Israel, Ltd. | Automatic virtual machine migration in mixed SBC/CBC environment |
CN106126318A (zh) * | 2016-07-05 | 2016-11-16 | 云南大学 | 一种Openstack云平台中虚拟机的动态迁移方法 |
CN109814978A (zh) * | 2018-12-15 | 2019-05-28 | 华南理工大学 | 基于多OpenStack平台的跨集群迁移方法及系统 |
CN110750334B (zh) * | 2019-10-25 | 2024-02-02 | 北京计算机技术及应用研究所 | 一种基于Ceph的网络靶场后端存储系统设计方法 |
CN115220871A (zh) * | 2022-07-22 | 2022-10-21 | 中电信数智科技有限公司 | 一种虚拟机克隆方法、装置及存储介质 |
-
2022
- 2022-07-22 CN CN202210870106.1A patent/CN115220871A/zh active Pending
-
2023
- 2023-07-19 WO PCT/CN2023/108045 patent/WO2024017274A1/zh unknown
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2024017274A1 (zh) * | 2022-07-22 | 2024-01-25 | 中电信数智科技有限公司 | 一种虚拟机克隆方法、装置及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
WO2024017274A1 (zh) | 2024-01-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110647580B (zh) | 分布式容器集群镜像管理主节点、从节点、系统及方法 | |
CN113169952B (zh) | 一种基于区块链技术的容器云管理系统 | |
US8935375B2 (en) | Increasing availability of stateful applications | |
CN112840326A (zh) | 用于自动化操作管理的测试引擎 | |
US20200319982A1 (en) | Notification mechanism for disaster recovery events | |
CN110138577B (zh) | 集群创建方法、第一服务器以及可读存储介质 | |
CN111240806B (zh) | 一种分布式容器镜像构建调度方法 | |
KR20190041033A (ko) | 서비스의 2차 위치에서의 작업의 재생 기법 | |
EP3442201B1 (en) | Cloud platform construction method and cloud platform | |
CN107688489B (zh) | 一种调度任务的方法和系统 | |
CN105740047A (zh) | 一种基于云计算的虚拟机模板管理系统和方法 | |
CN112395047A (zh) | 虚拟机故障疏散方法、系统及计算机可读介质 | |
CN110890987A (zh) | 自动创建集群的方法、装置、设备和系统 | |
CN111181780A (zh) | 基于ha集群的主机池切换方法、系统、终端及存储介质 | |
CN115220871A (zh) | 一种虚拟机克隆方法、装置及存储介质 | |
CN111311254A (zh) | 一种基于区块链的业务处理方法、装置和系统 | |
WO2018118812A1 (en) | On-demand generation of a contact center | |
CN107995319B (zh) | 虚拟设备配置方法及网络设备 | |
WO2018018459A1 (zh) | 一种策略处理的方法和设备 | |
CN115480910A (zh) | 多集群资源管理方法、装置及电子设备 | |
CN114070856B (zh) | 数据处理方法、装置、系统、运维审计设备和存储介质 | |
CN110677469B (zh) | 一种证券灾备系统及灾备实现方法 | |
CN113535358A (zh) | 任务处理方法及装置 | |
CN112889247B (zh) | Vnf服务实例化方法及装置 | |
CN108540301A (zh) | 一种预置账户的密码初始化方法及相关设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |