CN104035808B - 虚拟机集合的部署方法和装置 - Google Patents

虚拟机集合的部署方法和装置 Download PDF

Info

Publication number
CN104035808B
CN104035808B CN201310067737.0A CN201310067737A CN104035808B CN 104035808 B CN104035808 B CN 104035808B CN 201310067737 A CN201310067737 A CN 201310067737A CN 104035808 B CN104035808 B CN 104035808B
Authority
CN
China
Prior art keywords
virtual machine
placement strategy
machine set
placement
strategy
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.)
Active
Application number
CN201310067737.0A
Other languages
English (en)
Other versions
CN104035808A (zh
Inventor
楚俊生
顾忠禹
丁兆明
高洪
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
ZTE Corp
Original Assignee
ZTE Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by ZTE Corp filed Critical ZTE Corp
Priority to CN201310067737.0A priority Critical patent/CN104035808B/zh
Priority to PCT/CN2013/089695 priority patent/WO2014134949A1/zh
Publication of CN104035808A publication Critical patent/CN104035808A/zh
Application granted granted Critical
Publication of CN104035808B publication Critical patent/CN104035808B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5077Logical partitioning of resources; Management or configuration of virtualized resources
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45566Nested virtual machines
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/4557Distribution of virtual machine instances; Migration and load balancing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/5021Priority

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • General Factory Administration (AREA)
  • Stored Programmes (AREA)

Abstract

本发明公开了一种虚拟机集合的部署方法和装置。其中,该方法包括:接收OVF包的放置策略信息;根据该放置策略信息判断虚拟机集合的放置策略是否为嵌套式放置策略;如果是,采取放置策略深度优先原则部署虚拟机集合,其中,该虚拟机集合根据嵌套式放置策略被划分为多个级别,每个级别包含有虚拟机集合和/或虚拟机,该放置策略深度优先原则指部署虚拟机集合时,按照级别由低到高的顺序满足虚拟机集合的放置策略。通过本发明,解决了相关技术中虚拟机集合的部署方式无法满足用户应用部署需求的问题,增强了虚拟化平台的部署能力。

Description

虚拟机集合的部署方法和装置
技术领域
本发明涉及通信领域,具体而言,涉及一种虚拟机集合的部署方法和装置。
背景技术
虚拟化技术是云服务平台构建的基础。虚拟化技术是指在物理服务器上,通过虚拟化管理软件Hypervisor将物理资源分割为多个逻辑分区,每个分区相互隔离,成为独立的虚拟机。对操作系统和应用程序来说虚拟机与物理服务器没有区别,它们可以共享同一台物理服务器的资源。
虚拟化平台支持为云服务用户提供虚拟系统出租服务,所谓的虚拟系统是指包含一组虚拟机、存储和网络并且彼此间相互连接或关联的资源集合。为了便于用户将传统的应用系统托管在虚拟系统上,虚拟化平台还为云服务用户提供了虚拟系统的部署、管理功能,包括将传统应用系统的应用程序部署在虚拟机上,以及对存在位置依赖关系的应用程序之间在虚拟机上部署时提供放置策略功能。
所谓的放置策略功能主要是指应用系统中应用程序部署在虚拟机中后,由于某些应用程序之间依赖于彼此之间的快速通信或对公共硬件的依赖性,要求两个或多个虚拟机之间在部署时能够靠的尽可能近;或者应用程序之间由于高可靠性或者故障恢复方面的考虑,要求两个或多个虚拟机之间在部署时能够尽量分开。目前云服务平台对虚拟机的放置通过放置策略控制,即亲近关系(Affinity)表示虚拟机之间要尽可能靠近部署,典型的做法是部署在同一个物理主机上,或者具有快速网络连接的不同主机上;可用关系(Availability)表示虚拟机之间要尽可能的分开部署,典型的做法是部署在不同的物理主机上。
图1示例云服务平台模型。该模型图中包括打包/部署管理器101,是原服务平台对应用系统及其包含的虚拟机和/或虚拟机组进行打包,形成开放虚拟格式(OVF,OpenVirtualization Format)包,OVF包包括应用系统及其包含的虚拟机的配置、映像、环境等信息,以及目标云服务平台对OVF包进行部署,恢复应用系统及其包含的虚拟机的环境配置信息;应用系统产品信息102,包含应用系统中应用程序相关的产品信息,如应用程序的位置依赖关系等;应用系统管理器103,负责为应用系统选择满足放置策略等要求的主机系统104,以及负责应用系统的加载、资源申请、配置和管理等功能;虚拟机(图中具体为虚拟机X1、虚拟机X2,…,虚拟机Z4)105是封装了CPU、内存、本地磁盘和网络等虚拟化的资源实体。
图2示例现有OVF规范中的包格式图,如图中所示,该格式可以包括:
OVF包201,描述了一个开放的、可携带的、有效的并且可扩展的运行在虚拟机中的应用软件的打包和分发格式;OVF包201包含一个OVF描述符文件201a,0个或一个OVF的清单文件201b,0个或一个证书文件201c,0个或多个镜像文件201d,0个或多个资源文件201e;
OVF信封221,描述虚拟机(及其虚拟硬件)相关的所有元数据信息,以及OVF包本身的结构;
磁盘231,描述OVF包中虚拟磁盘相关的元数据信息;
网络232,描述OVF包使用的所有逻辑网络列表;
资源分配233,描述OVF包中虚拟机集合所需的资源要求;
启动234,描述OVF包中虚拟机集合的上电和关闭;
部署选项235,规定一套资源配置信息,如虚拟机的最小配置、正常配置和最大配置等;
产品236,规定虚拟机及其运行程序的产品信息,如产品名称、版本和设备商等。
放置组/放置(或者称为“放置策略组/放置策略”)237,描述OVF包中两个或多个虚拟机之间的部署关系,是尽可能的靠近还是尽可能分开等。
图3示例现有OVF规范中的放置策略组结构图。该结构图中包括:打包/部署管理器301、应用系统管理器302、放置策略303、放置策略组310、放置策略311、虚拟机312(为便于区分,图中具体为虚拟机11、虚拟机12、……、虚拟机4x)。其中,打包/部署管理器301、应用系统管理器302和虚拟机312的功能如上述图1中所述;放置策略303,即OVF包中所包含的所有策略组信息;放置策略组310,描述OVF包中具有亲近关系或可用关系的两个或多个虚拟机组;放置策略311,描述放置策略组中虚拟机之间的关系,即是亲近关系还是可用关系;虚拟机312中加载应用系统的应用程序。
图4示例OVF规范中的高级别虚拟机集合有放置策略,其内部的低级别虚拟机和/或虚拟机集合无放置策略的部署示意图,其中,预置条件如下:
1)虚拟机集合0包含虚拟机1和虚拟机2,虚拟机集合3和虚拟机集合4。
2)虚拟机集合3包含虚拟机31、虚拟32、虚拟机33和虚拟机34。
3)虚拟机集合4包含虚拟机41、虚拟42、虚拟机43和虚拟机44。
4)虚拟机集合0上设置了放置策略:可用关系。
按相关的规范要求,该放置策略将透传并应用于该虚拟机集合0所包含的虚拟机1和虚拟机2,虚拟机集合3和虚拟机集合4,以及虚拟机集合3和虚拟机集合4所包含的虚拟机。即虚拟化平台要将虚拟机1和虚拟机2、虚拟机集合3和虚拟机集合4分别部署在不同的主机上,虚拟机集合3和虚拟机集合4所包含的虚拟机也要分别部署在不同的主机上。虚拟机集合0最终的部署情况为:
虚拟机1部署在主机A上,虚拟机2部署在主机B上;
虚拟机集合3的虚拟机31部署在主机C上,虚拟机32部署在主机D上,虚拟机33部署在主机E上,虚拟机34部署在主机F上;
虚拟机集合4的虚拟机41部署在主机H上,虚拟机42部署在主机I上,虚拟机43部署在主机J上,虚拟机44部署在主机K上。
图5示例OVF规范中的高级别虚拟机集合无放置策略,其内部的低级别虚拟机和/或虚拟机集合有放置策略的部署示意图。其中,预置条件如下:
1)虚拟机集合0包含虚拟机1和虚拟机2,虚拟机集合3和虚拟机集合4。
2)虚拟机集合3包含虚拟机31、虚拟32、虚拟机33和虚拟机34。
3)虚拟机集合4包含虚拟机41、虚拟42、虚拟机43和虚拟机44。
4)虚拟机集合3的虚拟机31和虚拟机32之间设置了放置策略:亲近关系,虚拟机33和虚拟机34之间设置了放置策略:可用关系。
5)虚拟机集合4的虚拟机41和虚拟机42之间设置了放置策略:亲近关系,虚拟机43和虚拟机44之间设置了放置策略:可用关系。
按相关的规范要求,虚拟机集合3的虚拟机31和虚拟机32将部署在同一个主机上,虚拟机33和虚拟机34将分别部署在不同的主机上。虚拟机集合4的虚拟机41和虚拟机42将部署在同一个主机上,虚拟机43和虚拟机44将分别部署在不同的主机上。虚拟机集合0所包含的虚拟机1和虚拟机2可根据虚拟化平台选择合适的主机进行部署,虚拟机集合3和虚拟机集合4之间可根据虚拟化平台选择合适的主机进行部署。
图5中的主机编号只是虚拟化平台选择的一种部署方式,具体如下:
虚拟机1部署在主机A上,虚拟机2部署在主机B上;
虚拟机集合3的虚拟机31和虚拟机32部署在主机C上,虚拟机33部署在主机D上,虚拟机34部署在主机E上;
虚拟机集合4的虚拟机41和虚拟机42部署在主机D上,虚拟机43部署在主机E上,虚拟机44部署在主机A上。
如图中的部署情况,虚拟机集合4与虚拟机集合3重用了主机D和E,并与虚拟机1重用了主机A资源。
目前云服务平台对虚拟机和虚拟机集合的放置策略要求通过放置策略组进行控制,所谓的放置策略组是指满足亲近或可用放置策略关系的虚拟机组和/或虚拟机集合组,并且规定如果虚拟机集合是某放置策略的成员,则放置策略将传递并应用于该虚拟机集合的所有子虚拟机和子虚拟机集合。但是对于一些传统的应用系统当采用虚拟化平台进行部署时,需要申请多个虚拟机,并且虚拟机要按照应用系统的组成划分为多个级别,即应用系统是一个大的虚拟机集合,其内部还包含多层应用程序,需要采用嵌套的虚拟机及子虚拟机集合的方式满足多层应用程序的部署。应用系统对应的虚拟机集合内的子虚拟机集合和/或其下级子虚拟机集合内的虚拟机之间可能也存在一定的放置策略要求,而子虚拟机集合和/或其下级子虚拟机集合内的放置策略可能不同于虚拟机集合的放置策略,而如果将虚拟机集合的放置策略传递并应用于其内部的子虚拟机集合和/或下级子虚拟机集合,将无法满足较复杂应用系统的部署要求。
上述问题如图5所示,如果虚拟机集合3和虚拟机集合4上部署的是主备关系的应用程序,要求物理位置上分离,即放置策略为可用关系。但是虚拟机集合3和虚拟机集合4内部的虚拟机之间既存在亲近关系又存在可用关系,如果放置策略按当前标准按照传递的方式,虚拟机集合3和虚拟机结合4内部的虚拟机之间的放置策略都将被上级虚拟机集合3和虚拟机集合4之间的放置策略所替代,造成无法满足用户应用部署的需求。
针对相关技术中虚拟机集合的部署方式无法满足用户应用部署需求的问题,目前尚未提出有效的解决方案。
发明内容
针对虚拟机集合的部署方式无法满足用户应用部署需求的问题,本发明提供了一种虚拟机集合的部署方法和装置,以至少解决上述问题。
根据本发明的一个方面,提供了一种虚拟机集合的部署方法,包括:接收OVF包的放置策略信息;根据该放置策略信息判断虚拟机集合的放置策略是否为嵌套式放置策略;如果是,采取放置策略深度优先原则部署虚拟机集合,其中,该虚拟机集合根据嵌套式放置策略被划分为多个级别,每个级别包含有虚拟机集合和/或虚拟机,该放置策略深度优先原则指部署虚拟机集合时,按照级别由低到高的顺序满足虚拟机集合的放置策略。
上述采取放置策略深度优先原则部署虚拟机集合包括:当当前级别的虚拟机集合和/或虚拟机没有放置策略时,查找当前级别的虚拟机集合和/或虚拟机的上一级别虚拟机集合是否有放置策略,如果有,按照当前级别的虚拟机集合和/或虚拟机的上一级别虚拟机集合的放置策略部署当前级别的虚拟机集合和/或虚拟机。
上述采取放置策略深度优先原则部署虚拟机集合包括:如果当前的主机资源无法满足虚拟机集合和/或虚拟机的放置策略的要求,根据预先设定的放置策略异常处理指示进行处理,其中,该放置策略异常处理指示至少包括以下之一:不通知用户并继续处理、通知用户并继续处理、悬置处理并等待用户干预、返回错误并退出执行。
上述根据预先设定的放置策略异常处理指示进行处理包括:当放置策略异常处理指示为不通知用户并继续处理或通知用户并继续处理时,调整虚拟机集合和/或虚拟机的放置策略,直至当前的主机资源能够满足调整后的放置策略为止。
上述根据预先设定的放置策略异常处理指示进行处理包括:当放置策略异常处理指示为悬置处理并等待用户干预时,向用户发送建议的放置策略;根据用户反馈的确认消息或者用户反馈的新的放置策略进行处理。
上述采取放置策略深度优先原则部署虚拟机包括:如果当前的主机资源无法满足虚拟机集合和/或虚拟机的放置策略的要求,检查虚拟机集合和/或虚拟机所属的放置策略组;其中,放置策略组包括:支持调整的指示和调整处理指示;当支持调整的指示为否,向用户发送部署错误通知,并退出部署操作;当支持调整的指示为是,按照调整处理指示进行处理,其中,调整处理指示至少包括以下之一:不通知用户并继续处理、通知用户并继续处理、悬置处理并等待用户干预。
上述采取放置策略深度优先原则部署虚拟机集合包括:如果当前的主机资源无法满足虚拟机集合和/或虚拟机的放置策略的要求,检查虚拟机集合和/或虚拟机所属的放置策略组;其中,该放置策略组包括:支持调整的指示和调整处理指示;该调整处理指示至少包括以下之一:不通知用户并继续处理、通知用户并继续处理、悬置处理并等待用户干预;优先为支持调整指示为否的放置策略组预置资源,然后按照调整处理指示对支持调整为是的放置策略组进行处理。
上述采取放置策略深度优先原则部署虚拟机集合包括:如果当前的主机资源无法满足虚拟机集合和/或虚拟机的放置策略的要求,检查虚拟机集合和/或虚拟机所属的放置策略组;如果放置策略组配置有支持调整的指示,按照支持调整的指示进行处理;如果放置策略组未配置支持调整的指示,而放置策略组的上级策略组配置有支持调整的指示,按照与放置策略组最接近的上级策略组配置的支持调整的指示进行处理;如果放置策略组及放置策略组的上级策略组都未配置支持调整的指示,根据预先设定的放置策略异常处理指示进行处理,其中,放置策略异常处理指示至少包括以下之一:不通知用户并继续处理、通知用户并继续处理、悬置处理并等待用户干预、返回错误并退出执行。
上述根据预先设定的放置策略异常处理指示进行处理包括:如果放置策略异常处理指示为空,按照系统默认方式进行处理。
上述采取放置策略深度优先原则部署虚拟机集合包括:当OVF包为多个时,优先部署各个OVF包内的放置策略;当各个OVF包内的放置策略完成部署时,部署各个OVF包之间的放置策略。
根据本发明的另一方面,提供了一种虚拟机集合的部署装置,包括:信息接收模块,用于接收OVF包的放置策略信息;放置策略类型判断模块,用于根据信息接收模块接收的放置策略信息判断虚拟机集合的放置策略是否为嵌套式放置策略;部署模块,用于如果放置策略类型判断模块判断结果为是,采取放置策略深度优先原则部署虚拟机集合,其中,该虚拟机集合根据嵌套式放置策略被划分为多个级别,每个级别包含有虚拟机集合和/或虚拟机;该放置策略深度优先原则指部署虚拟机集合时,按照级别由低到高的顺序满足虚拟机集合的放置策略。
上述部署模块包括:放置策略查找单元,用于当当前级别的虚拟机集合和/或虚拟机没有放置策略时,查找当前级别的虚拟机集合和/或虚拟机的上一级别虚拟机集合是否有放置策略;策略传递单元,用于如果放置策略查找单元查找的结果为有,按照当前级别的虚拟机集合和/或虚拟机的上一级别虚拟机集合的放置策略部署当前级别的虚拟机集合和/或虚拟机。
上述部署模块包括:第一异常处理单元,用于如果当前的主机资源无法满足虚拟机集合和/或虚拟机的放置策略的要求,根据预先设定的放置策略异常处理指示进行处理,其中,放置策略异常处理指示至少包括以下之一:不通知用户并继续处理、通知用户并继续处理、悬置处理并等待用户干预、返回错误并退出执行。
上述部署模块包括:第一检查单元,如果当前的主机资源无法满足虚拟机集合和/或虚拟机的放置策略的要求,检查虚拟机集合和/或虚拟机所属的放置策略组;其中,放置策略组包括:支持调整的指示和调整处理指示;第二异常处理单元,用于当第一检查单元的检查结果为支持调整的指示为否,向用户发送部署错误通知,并退出部署操作;当第一检查单元的检查结果为支持调整的指示为是,按照调整处理指示进行处理,其中,调整处理指示至少包括以下之一:不通知用户并继续处理、通知用户并继续处理、悬置处理并等待用户干预。
上述部署模块包括:第二检查单元,用于如果当前的主机资源无法满足虚拟机集合和/或虚拟机的放置策略的要求,检查虚拟机集合和/或所属的放置策略组;其中,放置策略组包括:支持调整的指示和调整处理指示;调整处理指示至少包括以下之一:不通知用户并继续处理、通知用户并继续处理、悬置处理并等待用户干预;第三异常处理单元,用于根据第二检查单元的检查结果,优先为支持调整指示为否的放置策略组预置资源,然后按照调整处理指示对支持调整为是的放置策略组进行处理。
上述部署模块包括:第三检查单元,用于如果当前的主机资源无法满足虚拟机集合和/或虚拟机的放置策略的要求,检查虚拟机集合和/或虚拟机所属的放置策略组;第四异常处理单元,用于如果第三检查单元的检查结果是放置策略组配置有支持调整的指示,按照支持调整的指示进行处理;如果第三检查单元的检查结果是放置策略组未配置支持调整的指示,而放置策略组的上级策略组配置有支持调整的指示,按照与放置策略组最接近的上级策略组配置的支持调整的指示进行处理;如果第三检查单元的检查结果是放置策略组及放置策略组的上级策略组都未配置支持调整的指示,根据预先设定的放置策略异常处理指示进行处理,其中,该放置策略异常处理指示至少包括以下之一:不通知用户并继续处理、通知用户并继续处理、悬置处理并等待用户干预、返回错误并退出执行。
上述部署模块包括:OVF包处理单元,用于当OVF包为多个时,优先部署各个OVF包内的放置策略;当各个OVF包内的放置策略完成部署时,部署各个OVF包之间的放置策略。
通过本发明,采取放置策略深度优先原则部署虚拟机集合,可以满足嵌套式放置策略的需求,解决了相关技术中虚拟机集合的部署方式无法满足用户应用部署需求的问题,增强了虚拟化平台的部署能力。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是根据相关技术的云服务平台模型的结构示意图;
图2是根据相关技术的OVF包格式的示意图;
图3是根据相关技术的OVF包中放置策略组结构示意图;
图4是根据相关技术的高级别虚拟机集合有放置策略,其内部的低级别虚拟机和/或虚拟机集合无放置策略的部署示意图;
图5是根据相关技术的高级别虚拟机集合无放置策略,其内部的低级别虚拟机和/或虚拟机集合有放置策略的部署示意图;
图6是根据本发明实施例的虚拟机集合的部署方法的流程图;
图7是根据本发明实施例的虚拟机集合及其子成员和/或下级子成员都有放置策略时的部署方法示意图;
图8是根据本发明实施例的放置策略无法满足,异常处理指示为调整放置策略继续处理时的处理方法示意图;
图9是根据本发明实施例的放置策略无法满足,异常处理指示为悬置处理并与用户交互时的处理方法示意图;
图10是根据本发明实施例的放置策略无法满足,异常处理指示向用户返回错误,退出处理时的处理方法示意图;
图11是根据本发明实施例的虚拟化平台部署具有嵌套放置策略的虚拟机集合时的处理方法示意图;
图12是根据本发明实施例的合成OVF在OVF包之间和OVF包内都有放置策略时的部署示意图;
图13是根据本发明实施例的虚拟机集合的部署装置的结构框图。
具体实施方式
下文中将参考附图并结合实施例来详细说明本发明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
本发明实施例考虑到在数据中心和云服务平台中,用户的应用部署需求有时比较复杂,为了更好地满足用户的部署需求,提供了一种虚拟机集合的部署方法和装置。
实施例1
参见图6所示的虚拟机集合的部署方法流程图,该方法可以应用在虚拟化平台中,例如:虚拟资源管理器(相当于图1中的应用系统管理器),如图6所示,该方法包括以下步骤:
步骤S602,接收OVF包的放置策略信息;
步骤S604,根据上述放置策略信息判断虚拟机集合的放置策略是否为嵌套式放置策略;该嵌套式放置策略指对于虚拟机集合之间、虚拟机集合内部的子成员或下级子成员之间的位置关系分别通过不同的放置策略组进行嵌套描述;
步骤S606,如果是,采取放置策略深度优先原则部署虚拟机集合,其中,该虚拟机集合根据所述嵌套式放置策略被划分为多个级别,每个级别包含有虚拟机集合和/或虚拟机;该放置策略深度优先原则指部署所述虚拟机集合时,按照级别由低到高的顺序满足虚拟机集合的放置策略;即对嵌套的虚拟机集合,首先满足最底层成员的放置策略部署要求,再满足高一级别成员的放置策略部署要求,然后是较高级别成员的放置策略部署要求,最后满足最上层放置策略部署要求。
本实施例中的上述虚拟机集合不仅包括虚拟机,而且也包括虚拟机集合等。
上述方法采用嵌套的放置策略实现具有多重位置策略关系的虚拟机集合的部署。当虚拟机集合、其内部嵌套的子成员以及下级子成员分别有各自的放置策略时,虚拟化平台对虚拟机集合,其内部嵌套的子成员和下级子成员采取放置策略深度优先原则进行部署。
本实施例的方法采取放置策略深度优先原则部署虚拟机集合,可以满足嵌套式放置策略的需求,解决了相关技术中虚拟机集合的部署方式无法满足用户应用部署需求的问题,增强了虚拟化平台的部署能力。
其中,上述OVF包的放置策略信息的获取过程可以如下:
1)OVF打包管理器根据用户的请求对虚拟化平台中的某个应用系统的虚拟机及其系统环境进行OVF打包;
2)OVF打包管理器根据应用系统的应用程序位置关系要求设置应用系统的放置策略组;对于虚拟机集合之间、虚拟机集合内部的子成员或下级子成员之间的位置关系分别通过不同的放置策略组进行嵌套描述;
3)部署管理器接收到OVF打包管理器发送的OVF包后,在目标平台根据OVF包对应用系统进行恢复,包括根据嵌套的放置策略为虚拟机集合之间、虚拟机集合内部的子成员和下级子成员之间选择放置位置等,然后将这些放置策略信息发送给虚拟资源管理器。
本实施例的虚拟机集合子成员是指虚拟机集合内所包含的虚拟机和/或虚拟机集合。虚拟机集合下级子成员是指虚拟机集合的子虚拟机集合所包含的虚拟机和/或虚拟机集合。
进一步地,所述虚拟机集合对应的OVF合成场景,即应用系统采用多个OVF包进行合成部署时,要按照OVF包级别的深度优先原则。即如果OVF包内部和OVF包之间都需要设置放置策略,则部署平台要按深度优先原则优先满足各OVF包内的放置策略,然后再满足OVF包之间的放置策略。
考虑到用户的放置策略需求具有多样性,本实施例的上述采取放置策略深度优先原则部署虚拟机在具体实现时,可以采取以下方式:
当当前级别的虚拟机集合和/或虚拟机没有放置策略时,查找当前级别的虚拟机集合和/或虚拟机的上一级别虚拟机集合是否有放置策略,如果有,按照当前级别的虚拟机集合和/或虚拟机的上一级别虚拟机集合的放置策略部署当前级别的虚拟机集合和/或虚拟机。即:如果虚拟机集合设置了放置策略,如果其子成员和/或下级子成员没有设置放置策略的情况,虚拟机集合的放置策略将传递并应用于其所包含的没有设置放置策略的子成员和/或下级子成员。
同时,上述放置策略深度优先原则在满足高级别的放置策略要求时,不影响具有放置策略的子成员和下级子成员的低级别的放置策略要求。进一步地,虚拟机集合及其子成员或下级子成员同时都有各自不同的放置策略的情况,放置策略采用深度优先的方式,即首先满足下级子成员和/或子成员的放置策略部署要求,然后再满足该虚拟机集合级别的放置策略部署要求。
如果虚拟机集合没有设置放置策略,如果其所包含的子成员和/或下级子成员设置了放置策略,则部署平台首先满足其下级子成员和/或子成员的放置策略要求。
当然,实际应用过程中,可能会存在当前的主机资源无法满足该OVF包中的所有放置策略的要求,对应这种情况,本发明实施例给出以下处理方式:
1)依据放置策略异常处理指示进行处理的方式
如果当前的主机资源无法满足虚拟机集合的放置策略的要求,根据预先设定的放置策略异常处理指示进行处理,其中,该放置策略异常处理指示至少包括以下之一:不通知用户并继续处理、通知用户并继续处理、悬置处理并等待用户干预、返回错误并退出执行。
具体地,根据预先设定的放置策略异常处理指示进行处理可以包括:当放置策略异常处理指示为不通知用户并继续处理或通知用户并继续处理时,调整虚拟机集合和/或虚拟机的放置策略,直至当前的主机资源能够满足调整后的放置策略为止。当放置策略异常处理指示为悬置处理并等待用户干预时,向用户发送建议的放置策略;根据用户反馈的确认消息或者用户反馈的新的放置策略进行处理。
这种方式下,当虚拟化平台在部署虚拟机集合时,如果在资源调度过程中,发现无法找到满足放置策略要求的主机资源,可以根据虚拟化平台设置的放置策略异常处理指示进行处理。具体地:虚拟化平台在资源调度过程中发现无法找到满足放置策略要求的主机资源,并且放置策略异常处理指示为不通知用户并继续处理或通知用户并继续处理时,虚拟化平台将调整虚拟机集合放置策略中无法满足的放置策略,直至能够提供满足虚拟机集合放置策略的主机资源。或者,虚拟化平台在资源调度过程中发现无法找到满足放置策略要求的资源,并根据放置策略异常处理指示向用户给出建议的放置策略,悬置处理并与用户交互,等待用户确认或用户设置新的放置策略。
2)单个放置策略组时的处理方式
如果当前的主机资源无法满足虚拟机集合和/或虚拟机的放置策略的要求,检查所述该虚拟机集合和/或虚拟机所属的放置策略组;其中,该放置策略组包括:支持调整的指示和调整处理指示;当该支持调整的指示为否,向用户发送部署错误通知,并退出部署操作;当该支持调整的指示为是,按照调整处理指示进行处理,其中,该调整处理指示至少包括以下之一:不通知用户并继续处理、通知用户并继续处理、悬置处理并等待用户干预。
3)多个放置策略组时的处理方式
如果当前的主机资源无法满足虚拟机集合和/或虚拟机的放置策略的要求,检查所述虚拟机集合和/或虚拟机的放置策略组;其中,放置策略组包括:支持调整的指示和调整处理指示;调整处理指示至少包括以下之一:不通知用户并继续处理、通知用户并继续处理、悬置处理并等待用户干预;根据检查的结果,优先为支持调整指示为否的放置策略组预置资源,然后按照上述调整处理指示对支持调整为是的放置策略组进行处理。
这种方式下,放置策略组设置了支持调整指示和调整处理指示,如果支持调整指示设置为否,表示放置策略必须要满足,如果不满足要向用户返回错误,并退出执行;如果支持调整指示设置为是,表示放置策略要尽量被满足,如果不满足要按照调整处理指示进行处理。该调整处理指示包括:不通知用户并继续处理、通知用户并继续处理、悬置处理并等待用户干预。进一步地,若上述放置策略组为多个,并均配置了是否支持调整的情况,虚拟化平台在资源调度过程中优先为不支持调整的放置策略组预置资源,然后为支持调整的放置策略组预置资源,保证具有嵌套放置策略的虚拟机集合尽可能实现在虚拟化平台上进行部署。
关于多放置策略组场景下,如果主机资源无法满足某个放置策略组,而该放置策略组没有设置支持调整指示和调整处理指示的情况,可以采用其最接近的上级放置策略组的支持调整指示和调整处理指示进行进一步的处理。
4)放置策略异常处理指示和放置策略组结合的处理方式
如果当前的主机资源无法满足虚拟机集合和/或虚拟机的放置策略的要求,检查所述虚拟机集合和/或虚拟机所属的放置策略组;如果放置策略组配置有支持调整的指示,按照支持调整的指示进行处理;如果该放置策略组未配置支持调整的指示,而该放置策略组的上级策略组配置有支持调整的指示,按照与该放置策略组最接近的上级策略组配置的支持调整的指示进行处理;如果放置策略组及该放置策略组的上级策略组都未配置支持调整的指示,根据预先设定的放置策略异常处理指示进行处理,其中,放置策略异常处理指示至少包括以下之一:不通知用户并继续处理、通知用户并继续处理、悬置处理并等待用户干预、返回错误并退出执行。
如果放置策略异常处理指示为空,按照系统默认方式进行处理。即如果虚拟化平台和放置策略组都没有配置放置策略处理指示,当虚拟化平台在资源调度过程中发现无法找到满足放置策略要求的资源时,将按照虚拟化平台默认的方式进行处理。
这种方式中,虚拟化平台设置了放置策略异常处理指示并且放置策略组也配置了是否支持调整的情况,当虚拟化平台在资源调度过程中发现无法找到满足放置策略要求的资源时,优先按照放置策略组配置的是否支持调整指示进行处理,如果放置策略组及其上级策略组都没有设置是否支持调整,则根据虚拟化平台设置的放置策略异常处理指示进行处理。
由此可见,上述方式的虚拟化平台在部署具有嵌套放置策略的虚拟机集合时,要根据虚拟机集合的放置策略要求并结合当前主机资源的可用情况,进行资源预分配和综合规划,在确保满足虚拟机集合放置位置要求的情况下能够充分的提高主机资源的利用率。
另外,本发明实施例中的OVF包也可以是由多个OVF包合成的,当OVF包为多个时,优先部署各个OVF包内的放置策略;当各个OVF包内的放置策略完成部署时,部署各个OVF包之间的放置策略。
下面通过具体的应用实例对上述方法进行描述。
实例1
图7所示为高级别和低级别虚拟机集合都有放置策略时的部署方法示意图。其中,预置条件:
1)虚拟机集合0包含虚拟机1和虚拟机2,虚拟机集合3和虚拟机集合4。
2)虚拟机集合3包含虚拟机31、虚拟机32、虚拟机33和虚拟机34
3)虚拟机集合4包含虚拟机41、虚拟机42、虚拟机43和虚拟机44。
4)虚拟机集合3的虚拟机31和虚拟机32之间设置了放置策略:亲近关系,虚拟机33和虚拟机34之间设置了放置策略:可用关系。
5)虚拟机集合4的虚拟机41和虚拟机42之间设置了放置策略:亲近关系,虚拟机43和虚拟机44之间设置了放置策略:可用关系。
6)虚拟机集合3和虚拟机集合4之间设置了放置策略:可用关系。
按深度优先的放置原则,虚拟机集合3的虚拟机31和虚拟机32将部署在同一个主机上,虚拟机33和虚拟机34将分别部署在不同的主机上。虚拟机集合4的虚拟机41和虚拟机42将部署在同一个主机上,虚拟机43和虚拟机44将分别部署在不同的主机上。虚拟机集合3和虚拟机集合4按照可用关系要求在物理上不能重用主机资源。虚拟机集合0所包含的虚拟机1和虚拟机2可根据虚拟化平台选择合适的主机进行部署。
图中的主机编号只是虚拟化平台选择的一种部署方式:
虚拟机1部署在主机A上,虚拟机2部署在主机B上;
虚拟机集合3的虚拟机31和虚拟机32部署在主机C上,虚拟机33部署在主机D上,虚拟机34部署在主机E上;
虚拟机集合4的虚拟机41和虚拟机42部署在主机F上,虚拟机43部署在主机G上,虚拟机44部署在主机H上。
实例2
图8所示为放置策略无法满足,异常处理指示为调整放置策略继续处理时的处理方法示意图,该方法包括以下步骤:
步骤S802,虚拟资源管理器对主机资源池的资源进行注册,包括各个主机的已用资源,可用资源,资源类型等信息进行注册。
步骤S804,用户发起OVF包部署请求,该OVF中的虚拟机集合包含嵌套的放置策略。
步骤S806,部署管理器对OVF包进行解包,并向虚拟资源管理器发送资源分配请求,由虚拟资源管理器判断目标平台能否提供OVF包所要求的资源。
步骤S808,虚拟资源管理器判断虚拟机集合的某个放置策略组要求无法满足,比如没有足够的主机满足可用关系的虚拟机的部署,或者所有的主机上都没有足够的虚拟机能够满足亲近关系的虚拟机集合的部署等。
步骤S810,虚拟资源管理器判断放置策略异常处理指示,如果该放置策略组的支持调整和调整处理指示为继续处理,或者该放置策略组没有设置支持调整指示,而虚拟化平台设置的放置策略异常处理指示为继续,则虚拟资源管理器调整该放置策略组的放置策略,直至从资源注册信息里能够找到满足位置要求的资源。
步骤S812,可选的,如果该放置策略组的调整处理指示为继续处理并通知用户,或者该放置策略组没有设置支持调整,而虚拟化平台设置的放置策略异常处理指示为继续处理并通知用户,则虚拟资源管理器通过部署管理器通知用户,该OVF包的放置策略组的放置策略已被调整及调整后的内容。
步骤S814,虚拟资源管理器从主机资源池中调度OVF所需的资源,该资源满足调整后的放置策略要求。
步骤S816,虚拟资源管理器通知部署管理器资源分配成功。
步骤S818,部署管理器通知用户OVF包部署成功。
实例3
图9所示为放置策略无法满足,异常处理指示为悬置处理并与用户交互时的处理方法示意图,该方法包括以下步骤:
步骤S902~步骤S908,同图8中步骤S802~步骤S808所描述。
步骤S910,虚拟资源管理器判断放置策略异常处理指示,如果该放置策略组的支持调整和调整处理指示为悬置处理并等待用户干预,或者该放置策略组没有设置支持调整指示,而虚拟化平台设置的放置策略异常处理指示为悬置处理并等待用户干预,则虚拟资源管理器向部署管理器返回放置策略调整请求,其中携带建议的放置策略。
步骤S911,部署管理器向用户返回放置策略调整请求,其中携带建议的放置策略。
步骤S913,用户向部署管理器返回放置策略调整指示,其中携带的放置策略可以是建议的放置策略,也可以是用户新设置的放置策略。
步骤S914,部署管理器向虚拟资源管理器返回放置策略调整指示。
步骤S916,虚拟资源管理器判断根据用户返回的放置策略能够在虚拟化平台上调度满足要求的资源。
步骤S918,可选的,虚拟资源管理器向用户返回放置策略调整确认消息。
步骤S919,部署管理器向用户转发虚拟资源管理器发送的放置策略调整确认消息。
步骤S921~步骤S925,同图8中步骤S814~步骤S818所描述。
实例4
图10所示为放置策略无法满足,异常处理指示为返回错误并退出执行时的处理方法示意图,该方法包括以下步骤:
步骤S1002~步骤S1008,同图8中步骤S802~步骤S808所描述。
步骤S1010,虚拟资源管理器判断放置策略异常处理指示,如果该放置策略组不支持调整,或者该放置策略组没有设置支持调整指示,而虚拟化平台设置的放置策略异常处理指示为返回错误并退出处理,则虚拟资源管理器向部署管理器返回资源申请响应,其中携带失败原因为放置策略无法满足。
步骤S1012,部署管理器向用户返回OVF包部署响应,其中携带失败原因为放置策略无法满足。
实例5
图11所示为虚拟化平台部署具有嵌套放置策略的虚拟机集合时的处理方法示意图,该方法包括以下步骤:
步骤S1101,用户请求目标虚拟化平台部署OVF包,其中OVF中的虚拟系统集合包含嵌套的放置策略。
步骤S1102,虚拟化平台根据深度优先的原则和当前主机资源池的可用资源情况,对包含嵌套放置策略的虚拟系统集合按照深度优先的原则进行部署。
步骤S1103,虚拟化平台在无法满足虚拟机集合的放置策略要求时,要能够根据配置对放置策略进行动态调整,包括调整后继续,悬置处理并与用户交互、返回错误并退出执行等。
实例6
图12所示为在合成OVF包内,OVF包之间和OVF包内都有放置策略的部署方法示意图。其中,预置条件如下:
1)合成OVF包内包含3个OVF包:OVF包1、OVF包2和OVF包3。
2)OVF包1包含虚拟机11和虚拟机12。
3)OVF包2包含虚拟机集合21和虚拟机集合22,虚拟机集合21包含虚拟机211和虚拟机212,虚拟机集合22包含虚拟机221和虚拟机222。
4)OVF包3包含虚拟机集合31和虚拟机集合32,虚拟机集合31包含虚拟机311和虚拟机312,虚拟机集合32包含虚拟机321和虚拟机322。
5)OVF包1内虚拟机11和虚拟机12没有放置策略;
6)OVF包2内虚拟机集合21内的虚拟机211和虚拟机212之间没有设置放置策略,虚拟机集合22内的虚拟机221和虚拟机222之间设置了放置策略:可用关系。虚拟机集合21和虚拟机集合22之间设置了放置策略:可用关系。
7)OVF包3内虚拟机集合31内的虚拟机311和虚拟机312之间设置放置策略:亲近关系,虚拟机集合32内的虚拟机321和虚拟机322之间设置了放置策略:可用关系。虚拟机集合31和虚拟机集合32之间设置了放置策略:亲近关系。
8)OVF包1、OVF包2和OVF包3之间设置了放置策略:可用关系。
按深度优先的放置原则:
1)OVF包1内的虚拟机11和虚拟机12将应用OVF包级别的放置策略,则虚拟机11和虚拟机12分别部署在不同的主机上。
2)OVF包2内的虚拟机集合21没有设置放置策略,虚拟机211和虚拟机212将应用OVF包级别的放置策略,则虚拟机211和虚拟机212分别部署在不同的主机上。虚拟机集合22内的虚拟机221和虚拟机222将部署在不同主机上。虚拟机集合21和虚拟机集合22按照可用关系要求在物理上不能重用主机资源。
3)OVF包3内的虚拟机集合31内的虚拟机311和虚拟机312将部署在同一个主机上,虚拟机集合32内的虚拟机321和虚拟机322将分别部署在不同的主机上。虚拟机集合31和虚拟机集合32按照亲近关系要求在物理上可重用主机资源,这里假定虚拟机321与虚拟机集合31部署在同一个主机上。
图中的主机编号只是虚拟化平台选择的一种部署方式:
OVF包1内的虚拟机11部署在主机A上,虚拟机12部署在主机B上。
OVF包2内的虚拟机集合21内的虚拟机211部署在主机C上,虚拟机212部署在主机D上,虚拟机集合22内的虚拟机221部署在主机E上,虚拟机222部署在主机F上。
OVF包3内的虚拟机集合31内的虚拟机311,虚拟机312和虚拟机集合32内的虚拟机321部署在主机G上,虚拟机集合32内的虚拟机322部署在主机H上。
对应于上述方法,本发明实施例还提供了一种虚拟机集合的部署装置,该装置可以设置在虚拟资源管理器中,如图13所示的虚拟机集合的部署装置的结构框图,该装置包括以下模块:
信息接收模块132,用于接收OVF包的放置策略信息;
放置策略类型判断模块134,与信息接收模块132相连,用于根据信息接收模块132接收的放置策略信息判断虚拟机集合的放置策略是否为嵌套式放置策略;
部署模块136,与放置策略类型判断模块134相连,用于如果放置策略类型判断模块判断结果为是,采取放置策略深度优先原则部署虚拟机集合,其中,该虚拟机集合根据上述嵌套式放置策略被划分为多个级别,每个级别包含有虚拟机集合和/或虚拟机,该放置策略深度优先原则指部署虚拟机集合时,按照级别由低到高的顺序满足虚拟机集合的放置策略。
本实施例的装置采取放置策略深度优先原则部署虚拟机集合,可以满足嵌套式放置策略的需求,解决了相关技术中虚拟机集合的部署方式无法满足用户应用部署需求的问题,增强了虚拟化平台的部署能力。
根据实现应用情况,部署模块136可以采用下述多种方式实现。
例如:部署模块136可以包括:放置策略查找单元,用于当当前级别的虚拟机集合和/或虚拟机没有放置策略时,查找该当前级别的虚拟机的上一级别虚拟机集合是否有放置策略;策略传递单元,与放置策略查找单元相连,用于如果上述放置策略查找单元查找的结果为有,按照该当前级别的虚拟机集合和/或虚拟机的上一级别虚拟机集合的放置策略部署当前级别的虚拟机集合和/或虚拟机。
部署模块136可以包括:第一异常处理单元,用于如果当前的主机资源无法满足虚拟机集合和/或虚拟机的放置策略的要求,根据预先设定的放置策略异常处理指示进行处理,其中,该放置策略异常处理指示至少包括以下之一:不通知用户并继续处理、通知用户并继续处理、悬置处理并等待用户干预、返回错误并退出执行。
部署模块136可以包括:第一检查单元,如果当前的主机资源无法满足虚拟机集合和/或虚拟机的放置策略的要求,检查所述虚拟机集合和/或虚拟机所属的放置策略组;其中,放置策略组包括:支持调整的指示和调整处理指示;第二异常处理单元,与第一检查单元相连,用于当第一检查单元的检查结果为支持调整的指示为否,向用户发送部署错误通知,并退出部署操作;当第一检查单元的检查结果为支持调整的指示为是,按照上述调整处理指示进行处理,其中,该调整处理指示至少包括以下之一:不通知用户并继续处理、通知用户并继续处理、悬置处理并等待用户干预。
部署模块136可以包括:第二检查单元,用如果当前的主机资源无法满足虚拟机集合和/或虚拟机的放置策略的要求,检查所述虚拟机集合和/或虚拟机所属的放置策略组;其中,放置策略组包括:支持调整的指示和调整处理指示;调整处理指示至少包括以下之一:不通知用户并继续处理、通知用户并继续处理、悬置处理并等待用户干预;第三异常处理单元,与第二检查单元相连,用于根据第二检查单元的检查结果,优先为支持调整指示为否的放置策略组预置资源,然后按照调整处理指示对支持调整为是的放置策略组进行处理。
部署模块136可以包括:第三检查单元,用于如果当前的主机资源无法满足虚拟机集合和/或虚拟机的放置策略的要求,检查所述虚拟机集合和/或虚拟机所属的放置策略组;第四异常处理单元,与第三检查单元相连,用于如果第三检查单元的检查结果是放置策略组配置有支持调整的指示,按照支持调整的指示进行处理;如果第三检查单元的检查结果是该放置策略组未配置支持调整的指示,而该放置策略组的上级策略组配置有支持调整的指示,按照与该放置策略组最接近的上级策略组配置的支持调整的指示进行处理;如果第三检查单元的检查结果是该放置策略组及该放置策略组的上级策略组都未配置支持调整的指示,根据预先设定的放置策略异常处理指示进行处理,其中,该放置策略异常处理指示至少包括以下之一:不通知用户并继续处理、通知用户并继续处理、悬置处理并等待用户干预、返回错误并退出执行。
部署模块136可以包括:OVF包处理单元,用于当OVF包为多个时,优先部署各个OVF包内的放置策略;当各个OVF包内的放置策略完成部署时,部署各个OVF包之间的放置策略。
部署模块136的具体部署方式,可以参考上述方法中的方式实现,这里不再赘述。
从以上的描述中可以看出,本发明实施例采用放置策略深度优先原则部署虚拟机集合,可以解决当虚拟机集合及其子虚拟机集合和/或虚拟机,和/或下级虚拟机集合和/或虚拟机都存在放置策略的情况下,虚拟化平台如何为该虚拟机集合预留资源,并保证满足放置策略的要求的问题,增强了系统的部署性能。
显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (17)

1.一种虚拟机集合的部署方法,其特征在于,包括:
接收开放虚拟格式OVF包的放置策略信息;
根据所述放置策略信息判断虚拟机集合的放置策略是否为嵌套式放置策略;
如果是,采取放置策略深度优先原则部署所述虚拟机集合,其中,所述虚拟机集合根据所述嵌套式放置策略被划分为多个级别,每个级别包含有虚拟机集合和/或虚拟机,所述放置策略深度优先原则指部署所述虚拟机集合时,按照级别由低到高的顺序满足所述虚拟机集合的放置策略。
2.根据权利要求1所述的方法,其特征在于,采取放置策略深度优先原则部署所述虚拟机集合包括:
当当前级别的虚拟机集合和/或虚拟机没有放置策略时,查找所述当前级别的虚拟机集合和/或虚拟机的上一级别虚拟机集合是否有放置策略,如果有,按照所述当前级别的虚拟机集合和/或虚拟机的上一级别虚拟机集合的放置策略部署所述当前级别的虚拟机集合和/或虚拟机。
3.根据权利要求1所述的方法,其特征在于,采取放置策略深度优先原则部署所述虚拟机集合包括:
如果当前的主机资源无法满足所述虚拟机集合和/或虚拟机的放置策略的要求,根据预先设定的放置策略异常处理指示进行处理,其中,所述放置策略异常处理指示至少包括以下之一:不通知用户并继续处理、通知用户并继续处理、悬置处理并等待用户干预、返回错误并退出执行。
4.根据权利要求3所述的方法,其特征在于,根据预先设定的放置策略异常处理指示进行处理包括:
当所述放置策略异常处理指示为所述不通知用户并继续处理或所述通知用户并继续处理时,调整所述虚拟机集合和/或虚拟机的放置策略,直至所述当前的主机资源能够满足调整后的所述放置策略为止。
5.根据权利要求3所述的方法,其特征在于,根据预先设定的放置策略异常处理指示进行处理包括:
当所述放置策略异常处理指示为所述悬置处理并等待用户干预时,向所述用户发送建议的放置策略;
根据所述用户反馈的确认消息或者所述用户反馈的新的放置策略进行处理。
6.根据权利要求1所述的方法,其特征在于,采取放置策略深度优先原则部署所述虚拟机包括:
如果当前的主机资源无法满足所述虚拟机集合和/或虚拟机的放置策略的要求,检查所述虚拟机集合和/或虚拟机所属的放置策略组;其中,所述放置策略组包括:支持调整的指示和调整处理指示;
当所述支持调整的指示为否,向用户发送部署错误通知,并退出部署操作;
当所述支持调整的指示为是,按照所述调整处理指示进行处理,其中,所述调整处理指示至少包括以下之一:不通知用户并继续处理、通知用户并继续处理、悬置处理并等待用户干预。
7.根据权利要求1所述的方法,其特征在于,采取放置策略深度优先原则部署所述虚拟机集合包括:
如果当前的主机资源无法满足所述虚拟机集合和/或虚拟机的放置策略的要求,检查所述虚拟机集合和/或虚拟机所属的放置策略组;其中,所述放置策略组包括:支持调整的指示和调整处理指示;所述调整处理指示至少包括以下之一:不通知用户并继续处理、通知用户并继续处理、悬置处理并等待用户干预;
优先为所述支持调整指示为否的放置策略组预置资源,然后按照所述调整处理指示对所述支持调整为是的放置策略组进行处理。
8.根据权利要求1所述的方法,其特征在于,采取放置策略深度优先原则部署所述虚拟机集合包括:
如果当前的主机资源无法满足所述虚拟机集合和/或虚拟机的放置策略的要求,检查所述虚拟机集合和/或虚拟机所属的放置策略组;
如果所述放置策略组配置有支持调整的指示,按照所述支持调整的指示进行处理;
如果所述放置策略组未配置支持调整的指示,而所述放置策略组的上级策略组配置有支持调整的指示,按照与所述放置策略组最接近的上级策略组配置的支持调整的指示进行处理;
如果所述放置策略组及所述放置策略组的上级策略组都未配置支持调整的指示,根据预先设定的放置策略异常处理指示进行处理,其中,所述放置策略异常处理指示至少包括以下之一:不通知用户并继续处理、通知用户并继续处理、悬置处理并等待用户干预、返回错误并退出执行。
9.根据权利要求8所述的方法,其特征在于,根据预先设定的放置策略异常处理指示进行处理包括:
如果所述放置策略异常处理指示为空,按照系统默认方式进行处理。
10.根据权利要求1所述的方法,其特征在于,采取放置策略深度优先原则部署所述虚拟机集合包括:
当所述OVF包为多个时,优先部署各个OVF包内的放置策略;
当所述各个OVF包内的放置策略完成部署时,部署各个OVF包之间的放置策略。
11.一种虚拟机集合的部署装置,其特征在于,包括:
信息接收模块,用于接收开放虚拟格式OVF包的放置策略信息;
放置策略类型判断模块,用于根据所述信息接收模块接收的所述放置策略信息判断虚拟机集合的放置策略是否为嵌套式放置策略;
部署模块,用于如果所述放置策略类型判断模块判断结果为是,采取放置策略深度优先原则部署所述虚拟机集合,其中,所述虚拟机集合根据所述嵌套式放置策略被划分为多个级别,每个级别包含有虚拟机集合和/或虚拟机;所述放置策略深度优先原则指部署所述虚拟机集合时,按照级别由低到高的顺序满足所述虚拟机集合的放置策略。
12.根据权利要求11所述的装置,其特征在于,所述部署模块包括:
放置策略查找单元,用于当当前级别的虚拟机集合和/或虚拟机没有放置策略时,查找所述当前级别的虚拟机集合和/或虚拟机的上一级别虚拟机集合是否有放置策略;
策略传递单元,用于如果所述放置策略查找单元查找的结果为有,按照所述当前级别的虚拟机集合和/或虚拟机的上一级别虚拟机集合的放置策略部署所述当前级别的虚拟机集合和/或虚拟机。
13.根据权利要求11所述的装置,其特征在于,所述部署模块包括:
第一异常处理单元,用于如果当前的主机资源无法满足所述虚拟机集合和/或虚拟机的放置策略的要求,根据预先设定的放置策略异常处理指示进行处理,其中,所述放置策略异常处理指示至少包括以下之一:不通知用户并继续处理、通知用户并继续处理、悬置处理并等待用户干预、返回错误并退出执行。
14.根据权利要求11所述的装置,其特征在于,所述部署模块包括:
第一检查单元,如果当前的主机资源无法满足所述虚拟机集合和/或虚拟机的放置策略的要求,检查所述虚拟机集合和/或虚拟机所属的放置策略组;其中,所述放置策略组包括:支持调整的指示和调整处理指示;
第二异常处理单元,用于当所述第一检查单元的检查结果为所述支持调整的指示为否,向用户发送部署错误通知,并退出部署操作;当所述第一检查单元的检查结果为所述支持调整的指示为是,按照所述调整处理指示进行处理,其中,所述调整处理指示至少包括以下之一:不通知用户并继续处理、通知用户并继续处理、悬置处理并等待用户干预。
15.根据权利要求11所述的装置,其特征在于,所述部署模块包括:
第二检查单元,用于如果当前的主机资源无法满足所述虚拟机集合和/或虚拟机的放置策略的要求,检查所述虚拟机集合和/或所属的放置策略组;其中,所述放置策略组包括:支持调整的指示和调整处理指示;所述调整处理指示至少包括以下之一:不通知用户并继续处理、通知用户并继续处理、悬置处理并等待用户干预;
第三异常处理单元,用于根据所述第二检查单元的检查结果,优先为所述支持调整指示为否的放置策略组预置资源,然后按照所述调整处理指示对所述支持调整为是的放置策略组进行处理。
16.根据权利要求11所述的装置,其特征在于,所述部署模块包括:
第三检查单元,用于如果当前的主机资源无法满足所述虚拟机集合和/或虚拟机的放置策略的要求,检查所述虚拟机集合和/或虚拟机所属的放置策略组;
第四异常处理单元,用于如果所述第三检查单元的检查结果是所述放置策略组配置有支持调整的指示,按照所述支持调整的指示进行处理;如果所述第三检查单元的检查结果是所述放置策略组未配置支持调整的指示,而所述放置策略组的上级策略组配置有支持调整的指示,按照与所述放置策略组最接近的上级策略组配置的支持调整的指示进行处理;如果所述第三检查单元的检查结果是所述放置策略组及所述放置策略组的上级策略组都未配置支持调整的指示,根据预先设定的放置策略异常处理指示进行处理,其中,所述放置策略异常处理指示至少包括以下之一:不通知用户并继续处理、通知用户并继续处理、悬置处理并等待用户干预、返回错误并退出执行。
17.根据权利要求11所述的装置,其特征在于,所述部署模块包括:
OVF包处理单元,用于当所述OVF包为多个时,优先部署各个OVF包内的放置策略;当所述各个OVF包内的放置策略完成部署时,部署各个OVF包之间的放置策略。
CN201310067737.0A 2013-03-04 2013-03-04 虚拟机集合的部署方法和装置 Active CN104035808B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201310067737.0A CN104035808B (zh) 2013-03-04 2013-03-04 虚拟机集合的部署方法和装置
PCT/CN2013/089695 WO2014134949A1 (zh) 2013-03-04 2013-12-17 虚拟机集合的部署方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310067737.0A CN104035808B (zh) 2013-03-04 2013-03-04 虚拟机集合的部署方法和装置

Publications (2)

Publication Number Publication Date
CN104035808A CN104035808A (zh) 2014-09-10
CN104035808B true CN104035808B (zh) 2018-03-27

Family

ID=51466583

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310067737.0A Active CN104035808B (zh) 2013-03-04 2013-03-04 虚拟机集合的部署方法和装置

Country Status (2)

Country Link
CN (1) CN104035808B (zh)
WO (1) WO2014134949A1 (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105635190B (zh) * 2014-10-27 2018-11-09 新华三技术有限公司 数据中心网络中的服务执行方法及装置
US10002014B2 (en) * 2015-07-10 2018-06-19 International Business Machines Corporation Management of a virtual machine in a virtualized computing environment based on a fabric limit
CN105224388A (zh) * 2015-09-14 2016-01-06 北京百度网讯科技有限公司 基于嵌套虚拟化的云系统持续集成方法和装置
CN108628660B (zh) * 2017-03-24 2021-05-18 华为技术有限公司 一种虚拟机扩缩容方法及虚拟管理设备
CN107562371A (zh) * 2017-07-26 2018-01-09 广东睿江云计算股份有限公司 一种云主机存储介质切换方法及其系统
CN108037977B (zh) * 2017-12-08 2021-10-29 上海市信息网络有限公司 虚拟计算机资源的管理方法、设备、计算机介质、及系统

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101788920A (zh) * 2010-02-05 2010-07-28 北京航空航天大学 一种基于处理器分区技术的cpu虚拟化方法
CN102236582A (zh) * 2011-07-15 2011-11-09 浙江大学 虚拟化集群负载在多台物理机中均衡分配的方法
CN102646052A (zh) * 2011-02-16 2012-08-22 中国移动通信集团公司 一种虚拟机部署方法、装置及系统

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9244716B2 (en) * 2009-10-30 2016-01-26 Avaya Inc. Generation of open virtualization framework package for solution installations and upgrades
JP5499688B2 (ja) * 2009-12-23 2014-05-21 富士通株式会社 計算機システム、情報処理装置、仮想計算機運用方法及びプログラム
US8429449B2 (en) * 2010-03-01 2013-04-23 International Business Machines Corporation Optimized placement of virtual machines in a network environment
CN101986274B (zh) * 2010-11-11 2012-10-03 东软集团股份有限公司 一种私有云环境下资源调配系统及资源调配方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101788920A (zh) * 2010-02-05 2010-07-28 北京航空航天大学 一种基于处理器分区技术的cpu虚拟化方法
CN102646052A (zh) * 2011-02-16 2012-08-22 中国移动通信集团公司 一种虚拟机部署方法、装置及系统
CN102236582A (zh) * 2011-07-15 2011-11-09 浙江大学 虚拟化集群负载在多台物理机中均衡分配的方法

Also Published As

Publication number Publication date
CN104035808A (zh) 2014-09-10
WO2014134949A1 (zh) 2014-09-12

Similar Documents

Publication Publication Date Title
CN104035808B (zh) 虚拟机集合的部署方法和装置
CN104115447B (zh) 一种云计算架构下的容灾方案配置方法及装置
US20210004258A1 (en) Method and Apparatus for Creating Virtual Machine
EP4180953A1 (en) Orchestrator execution planning using a distributed ledger
CN109144478B (zh) 组件框架系统以及组件框架系统的使用方法
WO2020197683A1 (en) Dynamically determining routing during shipping
CN111527474B (zh) 软件功能的动态交付
CN108111470A (zh) 容器的部署方法、服务间的通信方法及相关装置
CN109684054A (zh) 信息处理方法及装置、电子设备及存储器
US20210144202A1 (en) Extended peer-to-peer (p2p) with edge networking
EP1914631A1 (en) Method and apparatus for interacting with a web service
CN114077462A (zh) 软件操作系统调用Android HIDL接口的方法、装置、设备及介质
US20170161057A1 (en) Plug-in-based artifact-management subsystem
CN106776067A (zh) 多容器系统中系统资源的管理方法及管理装置
WO2020103925A1 (zh) 一种容器化虚拟网络功能的部署方法和装置
CN111443985A (zh) 实例化虚拟网络功能的方法及设备
JP2023532324A (ja) プロセス実行方法および装置
CN115686805A (zh) Gpu资源共享的方法和装置、调度gpu资源共享的方法和装置
CN109343970B (zh) 基于应用程序的操作方法、装置、电子设备及计算机介质
CN115048642A (zh) 多可信执行环境下可信应用间的通信方法及电子设备
CN104735109A (zh) 一种医学影像数据的存储系统
CN114930788A (zh) 安全地处理多租户容器中的集成消息流
US20240053973A1 (en) Deployable container scheduling and execution on cloud development environment
US20230014064A1 (en) Decentralized reputation management in a named-function network
CN116828035A (zh) 一种基于云计算的数据集成系统

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant