一种虚拟机的创建方法、装置、服务器及存储介质制造方法及图纸

技术编号:23890020 阅读:40 留言:0更新日期:2020-04-22 06:05
一种虚拟机创建方法、装置、服务器及存储介质,其中方法包括服务器在确定需要创建虚拟机时,同步调用第一组件、第二组件和第三组件,第一组件用于为虚拟机创建卷资源,第二组件用于为虚拟机创建网络资源,第三组件用于为虚拟机调度宿主机并根据卷资源和网络资源在宿主机上创建虚拟机;若第三组件调度宿主机失败,服务器调用第三组件通知第一组件终止创建卷资源并通知第二组件终止创建网络资源。由于第三组件调度宿主机比第一组件创建卷资源和第二组件创建网络资源速度快。如此,若第三组件调度宿主机失败,第一组件无需创建剩余的卷资源,第二组件无需创建剩余的网络资源;因此,可节约创建剩余卷资源和网络资源所需用的网络、时间资源。

A virtual machine creation method, device, server and storage medium

【技术实现步骤摘要】
一种虚拟机的创建方法、装置、服务器及存储介质
本申请涉及虚拟
,尤其涉及一种虚拟机的创建方法、装置、服务器及存储介质。
技术介绍
虚拟机指通过软件模拟的具有完整硬件系统功能的、运行在一个完全隔离环境中的完整计算机系统。在虚拟机创建时,需要为虚拟机选择合适的宿主机、以及创建各种资源,例如,网络资源和卷资源等。目前,创建虚拟机时,需要服务器调用多个组件来完成虚拟机的创建。具体的过程为:服务器先调用第一组件创建卷资源,并调用第二组件创建网络资源;在服务器确定第一组件创建卷资源成功、且第二组件创建网络资源成功之后,服务器再调用第三组件进行宿主机的调度。当第三组件的上级组件通过周期性查询获取到第三组件调度宿主机失败,第三组件的上级组件分别通知第一组件的上级组件和第二组件的上级组件,之后第一组件的上级组件通知第一组件释放创建的卷资源,第二组件的上级组件通知第二组件释放创建的网络资源。如此,虚拟机创建失败时,浪费了较多的资源,比如时间、网络资源。
技术实现思路
本申请提供一种虚拟机创建方法、装置、服务器及存储介质,用于减小虚拟机创建失败时造成的时间、网络资源的浪费。第一方面,本申请实施例提供一种虚拟机创建方法,该方法包括服务器在确定需要创建虚拟机时,同步调用第一组件、第二组件和第三组件,其中,第一组件用于为虚拟机创建卷资源,第二组件用于为虚拟机创建网络资源,第三组件用于为虚拟机调度宿主机并根据卷资源和网络资源在宿主机上创建虚拟机;若第三组件调度宿主机失败,则服务器调用第三组件通知第一组件终止创建卷资源并通知第二组件终止创建网络资源。基于该方案,服务器同步调度第一组件、第二组件和第三组件,一般情况下,第三组件调度宿主机相较于第一组件创建卷资源和第二组件创建网络资源的速度较快,因此,若第三组件调度宿主机失败,服务器调用第三组件直接通知第一组件终止创建卷资源并通知第二组件终止创建网络资源。如此,第一组件无需继续创建剩余的卷资源,可以节约第一组件创建剩余卷资源所需的时间和网络资源等。同样的,第二组件也无需创建剩余的网络资源,进而也可以节约第二组件创建剩余网络资源所需的时间和网络资源等。在一种可能的实现方式中,若第三组件调度宿主机成功、第一组件创建卷资源成功且第二组件创建网络资源成功,服务器调用第三组件根据卷资源和网络资源在宿主机上创建虚拟机。服务器调用第三组件获取创建虚拟机所需的卷资源和网络资源包括两种实现方式。第一种实现方式,服务器调用第一组件将创建的卷资源存储至消息队列、以及调用第二组件将创建的网络资源存储至消息队列,之后服务器调用第三组件从消息队列获取卷资源和网络资源,并根据卷资源和网络资源在宿主机上创建虚拟机。通过该实现方式,服务器可以同时进行多个虚拟机的创建;第一组件创建的卷资源和第二组件创建的网络资源可以缓存在消息队列中。第二种实现方式,服务器可以调用第一组件向第三组件发送卷资源,以及调用第二组件向第三组件发送网络资源。此外,当第三组件调度宿主机成功之后,第三组件也可等待第一组件发送卷资源、以及等待第二组件发送网络资源。一种可能的实现方式中,若第一组件的上级组件为第四组件,为了便于第一组件与第四组件之间信息的同步,服务器可调用第一组件向第四组件发送第一消息,第一消息用于上报第一组件创建卷资源的结果。通过第一组件向第四组件上报创建卷资源的结果,有助于节省第四组件向第一组件周期性查询结果所浪费的时间和网络资源。一种可能的实现方式中,可以在第四组件上设计通知模块,通过运行该通知模块以实现第四组件接收第一组件发送的第一消息。进一步,为了提高第一组件与第四组件信息同步的可靠性,若第四组件在第一时长内未收到来自第一组件的第一消息,则服务器也可以调用第四组件向第一组件发送第一请求消息,第一请求消息用于请求查询第一组件创建卷资源的结果。一种可能的实现方式中,若第二组件的上级组件为第五组件,为了便于第二组件与第五组件之间信息的同步,服务器可以调用第二组件向第五组件发送第二消息,第二消息用于上报第二组件创建网络资源的结果。通过第二组件向第五组件上报创建网络资源的结果,有助于节省第五组件向第二组件周期性查询结果所浪费的时间和网络资源。一种可能的实现方式中,可以在第五组件上也设计通知模块,通过运行该通知模块以实现第五组件接收第二组件发送的第二消息。进一步,为了提高第二组件与第五组件信息同步的可靠性,若第五组件在第二时长内未收到来自第二组件的第二消息,则服务器也可以调用第五组件向第二组件发送第二请求消息,第二请求消息用于请求查询第二组件创建网络资源的结果;一种可能的实现方式中,若第三组件的上级组件为第六组件,为了便于第三组件与第六组件之间信息的同步,服务器可调用第三组件向第六组件发送第三消息,第三消息用于上报第三组件创建虚拟机的结果。通过第三组件向第六组件上报创建虚拟机的结果,有助于节省第六组件向第三组件周期性查询结果所浪费的时间和网络资源。一种可能的实现方式中,可以在第六组件上也设计通知模块,通过运行该通知模块以实现第六组件接收第三组件发送的第三消息。进一步,为了提高第三组件与第六组件信息同步的可靠性,若第六组件在第三时长内未收到来自第三组件的第三消息,则服务器也可以调用第六组件向第三组件发送第三请求消息,第三请求消息用于请求查询第三组件创建虚拟机的结果。在具体实现中,可以单独执行第一组件与第四组件之间信息的同步、或者单独执行第二组件与第五组件之间信息的同步、或者单独执行第三组件与第六组件之间信息的同步。或者还可以既执行第一组件与第四组件之间信息的同步,也执行第二组件与第五组件之间信息的同步。或者还可以既执行第一组件与第四组件之间信息的同步,也执行第三组件与第六组件之间信息的同步。或者还可以既执行第二组件与第五组件之间信息的同步,也执行第三组件与第六组件之间信息的同步。或者还可以既执行第一组件与第四组件之间信息的同步,也第二组件与第五组件之间信息的同步,也执行第三组件与第六组件之间信息的同步。在一种可能的实现方式中,上述任一实施例中的第一组件可以为cinder组件、第二组件可以为neutron组件、第三组件可以为nova组件。相应地,第四组件为cinder组件、第五组件为neutron组件、第六组件为nova组件。第二方面,本申请实施例提供一种虚拟机创建方法,适用于部署有第一组件、第二组件和第三组件的服务器,第一组件接收第一指令,第一指令用于指示第一组件为虚拟机创建卷资源,第二组件接收第二指令,第二指令用于指示第二组件为虚拟机创建网络资源,第三组件接收第三指令,第三指令用于指示第三组件为虚拟机调度宿主机并根据卷资源和网络资源在宿主机上创建虚拟机;若第三组件调度宿主机失败,第三组件通知第一组件终止创建卷资源、并通知第二组件终止创建网络资源。基于该方案,第一组件、第二组件和第三组件同步接收到指令,一般情况下,第三组件调度宿主机相较于第一组件创建卷资源和第二组件创建网络资源的速度较快,因此,若第三组件调度宿主机失败,第三组件通知本文档来自技高网...

【技术保护点】
1.一种虚拟机创建方法,其特征在于,包括:/n服务器在确定需要创建虚拟机时,同步调用第一组件、第二组件和第三组件,所述第一组件用于为虚拟机创建卷资源,所述第二组件用于为虚拟机创建网络资源,所述第三组件用于为虚拟机调度宿主机并根据所述卷资源和所述网络资源在所述宿主机上创建虚拟机;/n若所述第三组件调度宿主机失败,所述服务器调用所述第三组件通知所述第一组件终止创建卷资源、并通知所述第二组件终止创建网络资源。/n

【技术特征摘要】
1.一种虚拟机创建方法,其特征在于,包括:
服务器在确定需要创建虚拟机时,同步调用第一组件、第二组件和第三组件,所述第一组件用于为虚拟机创建卷资源,所述第二组件用于为虚拟机创建网络资源,所述第三组件用于为虚拟机调度宿主机并根据所述卷资源和所述网络资源在所述宿主机上创建虚拟机;
若所述第三组件调度宿主机失败,所述服务器调用所述第三组件通知所述第一组件终止创建卷资源、并通知所述第二组件终止创建网络资源。


2.如权利要求1所述的方法,其特征在于,所述方法还包括:
若所述第三组件调度宿主机成功、所述第一组件创建卷资源成功且所述第二组件创建网络资源成功,所述服务器调用所述第三组件根据所述卷资源和所述网络资源在所述宿主机上创建虚拟机。


3.如权利要求2所述的方法,其特征在于,所述服务器调用所述第三组件根据所述卷资源和所述网络资源在所述宿主机上创建虚拟机之前,还包括:
所述服务器调用所述第一组件将创建的卷资源存储至消息队列、以及调用所述第二组件将创建的网络资源存储至所述消息队列;
所述服务器调用所述第三组件根据所述卷资源和所述网络资源在所述宿主机上创建虚拟机,包括:
所述服务器调用所述第三组件从所述消息队列获取所述卷资源和所述网络资源,并根据所述卷资源和所述网络资源在所述宿主机上创建所述虚拟机。


4.如权利要求2所述的方法,其特征在于,所述服务器调用所述第三组件根据所述卷资源和所述网络资源在所述宿主机上创建虚拟机之前,还包括:
所述服务器调用所述第一组件向所述第三组件发送所述卷资源,以及调用所述第二组件向所述第三组件发送所述网络资源。


5.如权利要求1至4任一项所述的方法,其特征在于,所述方法还包括:
所述服务器调用所述第一组件向第四组件发送第一消息,所述第一消息用于上报所述第一组件创建卷资源的结果,所述第四组件为所述第一组件的上级组件;和/或,
所述服务器调用所述第二组件向第五组件发送第二消息,所述第二消息用于上报所述第二组件创建网络资源的结果,所述第五组件为所述第二组件的上级组件;和/或,
所述服务器调用所述第三组件向第六组件发送第三消息,所述第三消息用于上报所述第三组件创建虚拟机的结果,所述第六组件为所述第三组件的上级组件。


6.如权利要求5所述的方法,其特征在于,所述方法还包括:
若所述第四组件在第一时长内未收到来自所述第一组件的所述第一消息,则所述服务器调用所述第四组件向所述第一组件发送第一请求消息,所述第一请求消息用于请求查询所述第一组件创建卷资源的结果;和/或,
若所述第五组件在第二时长内未收到来自所述第二组件的所述第二消息,则所述服务器调用所述第五组件向所述第二组件发送第二请求消息,所述第二请求消息用于请求查询所述第二组件创建网络资源的结果;和/或,
若所述第六组件在第三时长内未收到来自所述第三组件的所述第三消息,则所述服务器调用所述第六组件向所述第三组件发送第三请求消息,所述第三请求消息用于请求查询所述第三组件创建虚拟机的结果。


7.如权利要求1至6任一项所述的方法,其特征在于,所述第一组件为cinder组件、所述第二组件为neutron组件、所述第三组件为nova组件。


8.一种虚拟机创建装置,其特征在于,包括:
第一组件,用于为虚拟机创建卷资源;
第二组件,用于为虚拟机创建网络资源;
第三组件,用...

【专利技术属性】
技术研发人员:朱暾田行辉吕志畅
申请(专利权)人:华为技术有限公司
类型:发明
国别省市:广东;44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1