CN102110009B - 一种在虚拟化平台中部署应用的方法及虚拟平台管理器 - Google Patents

一种在虚拟化平台中部署应用的方法及虚拟平台管理器 Download PDF

Info

Publication number
CN102110009B
CN102110009B CN200910243973.7A CN200910243973A CN102110009B CN 102110009 B CN102110009 B CN 102110009B CN 200910243973 A CN200910243973 A CN 200910243973A CN 102110009 B CN102110009 B CN 102110009B
Authority
CN
China
Prior art keywords
application
virtual machine
virtual
operating system
deployment
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
CN200910243973.7A
Other languages
English (en)
Other versions
CN102110009A (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.)
China Mobile Communications Group Co Ltd
Original Assignee
China Mobile Communications Group Co Ltd
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 China Mobile Communications Group Co Ltd filed Critical China Mobile Communications Group Co Ltd
Priority to CN200910243973.7A priority Critical patent/CN102110009B/zh
Publication of CN102110009A publication Critical patent/CN102110009A/zh
Application granted granted Critical
Publication of CN102110009B publication Critical patent/CN102110009B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Stored Programmes (AREA)

Abstract

本发明提供一种在虚拟化平台中部署应用的方法及虚拟平台管理器。所述方法包括:预先制作虚拟机的操作系统镜像以及应用软件包的安装脚本,所述操作系统镜像中安装有一个自动执行的应用部署程序;根据应用的部署请求产生应用请求号和虚拟机号,并在为所述应用分配物理机后,将所述部署请求对应的应用软件包和安装脚本存储到所述应用请求号对应的存储位置;将操作系统镜像拷贝到物理机上,并在所述物理机上将所述操作系统镜像作为虚拟机的虚拟磁盘启动;虚拟机启动后,所述操作系统镜像中的应用部署程序获取本虚拟机对应的应用请求号和虚拟机号后自动执行。依照本发明,能够对应用进行自动化的动态配置和部署,降低了应用部署的难度和工作量。

Description

一种在虚拟化平台中部署应用的方法及虚拟平台管理器
技术领域
本发明涉及计算机系统虚拟化技术领域,特别涉及一种在虚拟化平台中部署应用的方法及虚拟平台管理器。
背景技术
近年来,随着计算机虚拟化技术的飞速发展,虚拟化平台得到了越来越广泛的应用。通过虚拟化技术实现的快速部署、应用隔离、资源调度和服务器整合等技术,可以大大提高硬件资源利用率、简化服务器安装过程和降低IT管理和维护成本。
图1为现有技术中虚拟化平台管理系统的结构示意图。如图1所示,大量的物理机组成了硬件资源池,在每个物理机上运行着虚拟机监控器(VMM),虚拟机监控器负责管理底层的硬件资源和上层的虚拟机,每个虚拟机监控器可以启动和管理运行在本地物理机上的多个虚拟机;在每个虚拟机中可以安装不同的操作系统(如windows或linux)和应用,这些应用犹如运行在真实的物理机一样。由于每个虚拟机监控器只能管理本物理机上的虚拟机,因此在上层需要一个虚拟平台管理器,负责调度所有的底层硬件资源,通过每个物理机上的虚拟机监控器,动态创建和管理虚拟机,从而达到资源按需供应的目的。
在对虚拟机进行部署时,典型的做法是将某种类型的操作系统做成虚拟机镜像文件,以该镜像文件作为模版,当需要动态创建虚拟机时,只需要对模版镜像文件进行拷贝,就可以将该镜像文件作为虚拟机的虚拟磁盘进行启动。镜像文件中包含安装好的操作系统,虚拟机启动后用户可以直接使用虚拟机,而不需要进行操作系统安装的过程。而且,对于较为完善的虚拟化平台管理系统会通过自动化的方法对虚拟机的操作系统进行网络环境设置,大大方便和简化了用户使用。
然而,相比于自动化的操作系统部署,目前虚拟化平台上并没有简单易用的应用部署方法,用户通常采用以下两种方法进行应用部署:1.手动部署,即用户申请和启动虚拟机后,完全通过手动的方式进行应用的安装和部署;2.镜像部署,即将应用与操作系统一起做成磁盘镜像。手动部署的方式存在着较大的复杂度,往往造成大量的简单重复的劳动;而镜像部署方式通常只适合于单机版的应用,对于复杂的分布式的多机应用,往往需要在应用部署时进行动态配置,对于事先静态生成的镜像无法满足动态配置的需求。
通过以上的分析,可以发现有的基于镜像的部署方案尽管提供了简单易用的操作系统部署方案,但是无法解决分布式应用动态部署的需求。举个简单的例子,假如用户希望申请三个虚拟机运行一个网络服务的应用,并且要求这三个虚拟机分别运行apache web服务器、jboss应用服务器和mysql数据库。为了让apache、jboss和mysql有机的组成多层结构的网络服务整体,需要在动态申请到虚拟机资源后对每一个部件进行合理的配置,如在apache web服务器的配置文件中生成jboss应用服务器的IP地址或主机名,在jboss的jdbc连接的配置文件中生成mysql数据库的地址。然而,由于IP地址等网络环境是随着虚拟机调度动态而分配的,静态产生的镜像无法满足应用动态配置和部署的要求。
发明内容
本发明的目的是提供一种在虚拟化平台中部署应用的方法及虚拟平台管理器,以解决现有技术中无法对应用进行自动化的动态配置和部署的问题。
为解决上述技术问题,本发明提供技术方案如下:
一种在虚拟化平台中部署应用的方法,包括:
预先制作虚拟机的操作系统镜像以及应用软件包的安装脚本,所述操作系统镜像中安装有一个自动执行的应用部署程序,所述应用部署程序的执行参数为应用请求号和虚拟机号;
根据应用的部署请求产生应用请求号和虚拟机号,并在为所述应用分配物理机后,将所述部署请求对应的应用软件包和安装脚本存储到所述应用请求号对应的存储位置;
将操作系统镜像拷贝到物理机上,并在所述物理机上将所述操作系统镜像作为虚拟机的虚拟磁盘启动;
虚拟机启动后,所述操作系统镜像中的应用部署程序获取本虚拟机对应的应用请求号和虚拟机号后自动执行。
上述的方法,其中,所述操作系统镜像被配置为动态获取IP地址;
在虚拟机启动后,所述方法还包括:通过动态主机配置协议(DHCP)服务器动态配置虚拟机的网络环境,所述网络环境包括:虚拟机的IP地址、虚拟机的主机名、网关和域名服务器(DNS)地址。
上述的方法,其中,虚拟机的主机名被配置为包括本虚拟机对应的应用请求号和虚拟机号;
所述应用部署程序获取本虚拟机对应的应用请求号和虚拟机号为:从虚拟机的主机名中解析应用请求号和虚拟机号。
上述的方法,其中,所述应用部署程序中包括从与所述应用请求号对应的存储位置中调用所述安装脚本,并将所述应用请求号和虚拟机号传递给所述安装脚本后执行所述安装脚本的指令。
上述的方法,其中,所述应用部署程序中还包括虚拟机是否为首次启动的指令,以及,如果虚拟机不是首次启动则结束的指令。
上述的方法,其中,所述安装脚本中包括:根据所述虚拟机号为各虚拟机分配角色的指令,根据所述角色从所述应用请求号对应的存储位置中获取相应的应用软件包并安装所述应用软件包的指令,以及,根据所述角色对应用进行配置的指令。
上述的方法,其中,所述根据所述角色对应用进行配置的指令具体用于执行如下操作:
根据所述角色,获取其他虚拟机的IP地址和/或主机名;
将获取到的IP地址和/或主机名写入到所述应用在本虚拟机上的配置文件中。
一种虚拟平台管理器,包括:
部署请求接收模块,用于接收应用的部署请求,所述部署请求中包括:请求的虚拟机的个数、每个虚拟机的配置、每个虚拟机需要安装的操作系统镜像、应用所需的软件包以及安装脚本;所述操作系统镜像中安装有一个自动执行的应用部署程序,所述应用部署程序的执行参数为应用请求号和虚拟机号;
资源分配模块,用于根据所述部署请求产生应用请求号和虚拟机号,并在为所述应用分配物理机后,将所述部署请求对应的应用软件包和安装脚本存储到所述应用请求号对应的存储位置;
操作系统镜像分发模块,用于将所述操作系统镜像拷贝到物理机上,使得所述物理机将所述操作系统镜像作为虚拟机的虚拟磁盘启动,以及,在虚拟机启动后,所述操作系统镜像中的应用部署程序获取本虚拟机对应的应用请求号和虚拟机号后自动执行。
上述的虚拟平台管理器,其中,所述操作系统镜像被配置为动态获取IP地址,使得在虚拟机启动后,所述虚拟机通过动态主机配置协议DHCP服务器动态配置网络环境,所述网络环境包括:虚拟机的IP地址、虚拟机的主机名、网关和域名服务器DNS地址。
上述的虚拟平台管理器,其中,虚拟机的主机名被配置为包括本虚拟机对应的应用请求号和虚拟机号,使得所述应用部署程序从虚拟机的主机名中解析应用请求号和虚拟机号。
上述的虚拟平台管理器,其中,所述应用部署程序中包括从与所述应用请求号对应的存储位置中调用所述安装脚本,并将所述应用请求号和虚拟机号传递给所述安装脚本后执行所述安装脚本的指令。
上述的虚拟平台管理器,其中,所述应用部署程序中还包括虚拟机是否为首次启动的指令,以及,如果虚拟机不是首次启动则结束的指令。
上述的虚拟平台管理器,其中,所述安装脚本中包括:根据所述虚拟机号为各虚拟机分配角色的指令,根据所述角色从所述应用请求号对应的存储位置中获取相应的应用软件包并安装所述应用软件包的指令,以及,根据所述角色对应用进行配置的指令。
上述的虚拟平台管理器,其中,所述根据所述角色对应用进行配置的指令具体用于执行如下操作:
根据所述角色,获取其他虚拟机的IP地址和/或主机名;
将获取到的IP地址和/或主机名写入到所述应用在本虚拟机上的配置文件中。
本发明提供了一种对基于虚拟机的应用进行自动化动态部署的机制。现有的方法通过与操作系统镜像绑定的方式进行应用安装,之后需要根据实际申请的虚拟机的网络环境进行大量的参数设置;而本发明将应用部署与虚拟机资源请求进行有机的整合,一旦用户请求的虚拟机资源申请成功后,应用会按照具体的网络环境的设置进行自动安装部署,大大提高了应用部署的动态性,降低了部署的难度和工作量。
附图说明
图1为现有技术中虚拟化平台管理系统的结构示意图;
图2为本发明实施例的在虚拟化平台中部署应用的方法流程图;
图3为本发明实施例的在虚拟化平台中部署应用的系统结构示意图;
图4为本发明实施例中应用部署程序的执行流程图;
图5为本发明实施例中安装脚本的执行流程图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图及具体实施例对本发明进行详细描述。
本发明提供的在虚拟化平台中部署应用的方法及系统,通过建立一套编程框架,申请虚拟机的用户可以根据应用的特定需求按照编程框架的约定提交应用部署程序和安装脚本,然后应用可以在动态申请的虚拟机资源中自动部署,从而大大降低了在虚拟化平台中配置和部署分布式应用的难度。
图2为本发明实施例的在虚拟化平台中部署应用的方法流程图,参照图2,所述方法包括如下步骤:
步骤201:预先制作虚拟机的操作系统镜像以及应用软件包的安装脚本;
其中,所述操作系统镜像被配置为动态获取IP地址。所述操作系统镜像中还安装有一个能够自动执行的应用部署程序,所述应用部署程序的执行参数为应用请求号和虚拟机号,所述应用部署程序中包括从与所述应用请求号对应的存储位置中调用所述安装脚本,并将所述应用请求号和虚拟机号传递给所述安装脚本后执行所述安装脚本的指令。
优选地,所述应用部署程序中还包括虚拟机是否为首次启动的指令,以及,如果虚拟机不是首次启动则结束的指令。
所述安装脚本中包括:(1)根据所述虚拟机号为各虚拟机分配角色的指令;(2)根据所述角色从所述应用请求号对应的存储位置中获取相应的应用软件包并安装所述应用软件包的指令;(3)根据所述角色对应用进行配置的指令。
所述根据所述角色对应用进行配置的指令具体用于执行如下操作:
根据所述角色,获取其他虚拟机的IP地址和/或主机名;
将获取到的IP地址和/或主机名写入到所述应用在本虚拟机上的配置文件中。
步骤202:接收用户提交的应用部署请求;
所述应用部署请求中包括:请求的虚拟机的个数、每个虚拟机的配置(CPU、内存和磁盘的需求)、每个虚拟机需要安装的操作系统镜像、应用所需的软件包以及安装脚本。其中,所述操作系统镜像和安装脚本为步骤201中预先制作得到的操作系统镜像和安装脚本。
步骤203:根据应用的部署请求产生应用请求号和虚拟机号;
首先对用户提交的应用部署请求进行认证,一旦认证通过,将为该请求分配一个应用请求号,然后进行虚拟机调度,在硬件资源池中查找是否存在符合要求的物理机,如果资源无法满足请求,则拒绝用户的请求;否则,为该请求中的每个虚拟机依次产生虚拟机号,并为应用中的每个虚拟机分配物理机。
步骤204:在为所述应用分配物理机后,将所述部署请求对应的应用软件包和安装脚本存储到所述应用请求号对应的存储位置;
步骤205:将操作系统镜像拷贝到物理机上,并在所述物理机上将所述操作系统镜像作为虚拟机的虚拟磁盘启动;
步骤206:虚拟机启动后,通过动态主机配置协议(DHCP)服务器动态配置虚拟机的网络环境;
其中,所述网络环境包括:虚拟机的IP地址、虚拟机的主机名、网关和域名服务器(DNS)地址。
优选地,虚拟机的主机名被配置为包括本虚拟机对应的应用请求号和虚拟机号。
步骤207:所述操作系统镜像中的应用部署程序获取本虚拟机对应的应用请求号和虚拟机号后自动执行。
优选地,所述应用部署程序获取本虚拟机对应的应用请求号和虚拟机号为:从虚拟机的主机名中解析应用请求号和虚拟机号。
根据步骤201中制作的应用部署程序,其执行参数为应用请求号和虚拟机号,该应用部署程序执行时,首先从与所述应用请求号对应的存储位置中调用安装脚本,然后,将所述应用请求号和虚拟机号传递给所述安装脚本后执行所述安装脚本。所述安装脚本在执行时,首先根据所述虚拟机号为各虚拟机分配角色;然后,根据所述角色从所述应用请求号对应的存储位置中获取相应的应用软件包并安装所述应用软件包;最后,再根据所述角色对应用进行配置,具体包括:根据所述角色,获取其他虚拟机的IP地址和/或主机名;将获取到的IP地址和/或主机名写入到所述应用在本虚拟机上的配置文件中。
相应地,本发明实施例还提供一种在虚拟化平台中部署应用的系统。参照图3,所述系统中包括虚拟平台管理器、物理机资源池、配置管理服务器和包管理服务器。
虚拟平台管理器负责接收用户提交的应用部署请求,通过各种调度机制在物理机资源池中选择空闲物理机资源,进行虚拟机分配和调度;服务器资源池包含了一系列物理机,每个物理机上运行着虚拟机监控器(VMM),虚拟平台管理器监控着每个物理机的状态,包括已经运行的虚拟机数目、剩余资源数目(CPU、内存和磁盘等),系统资源利用状况等,这些监控信息为虚拟机调度提供参考依据;配置管理服务器负责管理和分配网络资源,通过对DHCP和DNS等服务器的配置管理实现对虚拟机网络环境的动态配置;包管理服务器通过网络文件系统(nfs)为虚拟机提供应用软件包及其安装脚本。
具体地,所述虚拟平台管理器中包括:
部署请求接收模块,用于接收应用的部署请求,所述部署请求中包括:请求的虚拟机的个数、每个虚拟机的配置、每个虚拟机需要安装的操作系统镜像、应用所需的软件包以及安装脚本;其中,所述操作系统镜像以及应用软件包的安装脚本为用户根据具体的应用的需求预先制作(参见方法实施例重的相关描述)。
资源分配模块,用于根据所述部署请求产生应用请求号和虚拟机号,并在为所述应用分配物理机后,将所述部署请求对应的应用软件包和安装脚本存储到所述应用请求号对应的存储位置;
操作系统镜像分发模块,用于将所述操作系统镜像拷贝到物理机上。物理机接收到所述操作系统镜像后,将所述操作系统镜像作为虚拟机的虚拟磁盘启动,在虚拟机启动后,所述操作系统镜像中的应用部署程序获取本虚拟机对应的应用请求号和虚拟机号后自动执行。
以下,结合图2和图3描述本发明实施例的在虚拟化平台中部署应用的方法的一个应用实例。
假设用户希望申请三个虚拟机运行一个网络服务的应用,并且要求这三个虚拟机分别运行apache web服务器、jboss应用服务器和mysql数据库。为了让apache、jboss和mysql有机的组成多层结构的网络服务整体,需要在动态申请到虚拟机资源后对每一个部件进行合理的配置,如在apache web服务器的配置文件中生成jboss应用服务器的IP地址或主机名,在jboss的jdbc连接的配置文件中生成mysql数据库的地址。
对该网络服务应用的部署过程如下:
步骤S01:虚拟平台管理器接收用户提交的网络服务应用的部署请求,所述部署请求的内容包括:申请3个虚拟机,每个虚拟机的配置(对CPU、内存和磁盘的需求)、每个虚拟机安装的操作系统镜像、网络服务应用的软件包(httpd、jboss和mysql这三个软件包)以及安装脚本。其中,操作系统镜像和安装脚本已由用户根据该应用的具体需求定制完成。
步骤S02:虚拟平台管理器对用户的部署请求进行认证,一旦认证通过,则为该请求分配一个请求号reqid,然后进行虚拟机调度,在物理机资源池中查找是否存在符合调度策略的物理机,如果资源无法满足请求,则拒绝用户的部署请求;否则,进入步骤S03的部署过程;
步骤S03:虚拟平台管理器首先为该部署请求中的每个虚拟机依次产生虚拟机号reqnum(从0起),然后将请求中包含的应用软件包和安装脚本部署在包管理服务器的/apps/reqid/目录下,其中应用的安装脚本被统一重命名为install_app;然后虚拟平台管理器将指定的虚拟机操作系统镜像拷贝到调度步骤中选定的物理机的本地目录中,并自动生成虚拟机配置文件,之后调用虚拟机监控器的虚拟机管理接口,将操作系统镜像作为虚拟机的虚拟磁盘启动;
步骤S04:虚拟机的操作系统镜像被配置为动态获取IP,因此,虚拟机启动后,通过配置管理服务器上的DHCP服务动态配置虚拟机的网络环境,包括设置IP地址,主机名,网关和DNS服务等。虚拟机的主机名对于虚拟机应用的配置部署至关重要,因此本实例中对虚拟机的命名规则做了以下的规定及实现:虚拟机的主机名格式为vm-reqid-reqnum,其中reqid代表应用请求号,由虚拟平台管理器根据请求的顺序自动分配,reqnum代表虚拟机在该请求中的编号(即虚拟机号),由虚拟平台管理器在调度过程中自动产生。假设本例中的请求号为3,则被调度的三个虚拟机的主机名分别为vm-3-0,vm-3-1和vm-3-2。虚拟平台管理器用动态产生的主机名和IP地址对更新DHCP的配置,并同时更新DNS服务器的配置。
步骤S05:每个虚拟机操作系统镜像中安装有一个自动执行的应用部署程序App_agent,虚拟机启动成功,并自动配置好网络环境后,App_agent根据操作系统的设置自动执行,其执行参数为标记本机身份的主机名。
以在虚拟机vm-3-0上运行的App_agent为例,其执行流程如图4所示,主要包括如下步骤:
步骤401:判断本虚拟机上是否存在标志文件.boot_once,若是,进入步骤402,否则,结束;
App_agent启动后检查虚拟机磁盘中设置的标志文件.boot_once,如果该文件不存在,则代表该虚拟机系统为初次启动,需要进行后续应用部署的工作;否则代表虚拟机非初次启动,程序自动退出。
步骤402:挂载包管理服务器上的网络文件系统(nfs)的/app目录到本地的/app目录;
步骤403:从主机名中解析出本虚拟机的reqid和reqnum;
步骤404:执行/app/reqid/Install_app安装脚本,对该脚本传递的参数为reqid和reqnum,具体为3和0。
安装脚本Install_app在虚拟机vm-3-0上执行的流程如图5所示,主要包括如下步骤:
步骤501:根据虚拟机号为虚拟机分配角色;
在本实例中,假设第0号虚拟机(vm-3-0)的角色被配置为apache web服务器,第1号虚拟机(vm-3-1)的角色被配置为jboss应用服务器,第2号虚拟机(vm-3-2)的角色被配置为mysql数据库
步骤502:根据所述角色获取相应的应用软件包并安装所述应用软件包;
当前虚拟机vm-3-0的角色为apache web服务器,则从/app/reqid/中获取并安装apache web服务器对应的软件包。
步骤503:根据所述角色对应用进行配置,具体为:在apache web服务器的配置文件中生成jboss应用服务器的IP地址或主机名;
步骤504:将脚本的执行过程输出到本机的/root/install.log中,以便进行调试;
步骤505:生成.boot_once标志文件。
最后应当说明的是,以上实施例仅用以说明本发明的技术方案而非限制,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或者等同替换,而不脱离本发明技术方案的精神范围,其均应涵盖在本发明的权利要求范围当中。

Claims (12)

1.一种在虚拟化平台中部署应用的方法,其特征在于,包括:
预先制作虚拟机的操作系统镜像以及应用软件包的安装脚本,所述操作系统镜像中安装有一个自动执行的应用部署程序,所述应用部署程序的执行参数为应用请求号和虚拟机号;
根据应用的部署请求产生应用请求号和虚拟机号,并在为所述应用分配物理机后,将所述部署请求对应的应用软件包和安装脚本存储到所述应用请求号对应的存储位置;
将操作系统镜像拷贝到物理机上,并在所述物理机上将所述操作系统镜像作为虚拟机的虚拟磁盘启动;
虚拟机启动后,所述操作系统镜像中的应用部署程序获取本虚拟机对应的应用请求号和虚拟机号后自动执行;
其中,所述操作系统镜像被配置为动态获取IP地址;
在虚拟机启动后,所述方法还包括:通过动态主机配置协议DHCP服务器动态配置虚拟机的网络环境,所述网络环境包括:虚拟机的IP地址、虚拟机的主机名、网关和域名服务器DNS地址。
2.如权利要求1所述的方法,其特征在于:
虚拟机的主机名被配置为包括本虚拟机对应的应用请求号和虚拟机号;
所述应用部署程序获取本虚拟机对应的应用请求号和虚拟机号为:从虚拟机的主机名中解析应用请求号和虚拟机号。
3.如权利要求1所述的方法,其特征在于:
所述应用部署程序中包括从与所述应用请求号对应的存储位置中调用所述安装脚本,并将所述应用请求号和虚拟机号传递给所述安装脚本后执行所述安装脚本的指令。
4.如权利要求3所述的方法,其特征在于:
所述应用部署程序中还包括虚拟机是否为首次启动的指令,以及,如果虚拟机不是首次启动则结束的指令。
5.如权利要求3所述的方法,其特征在于:
所述安装脚本中包括:根据所述虚拟机号为各虚拟机分配角色的指令,根据所述角色从所述应用请求号对应的存储位置中获取相应的应用软件包并安装所述应用软件包的指令,以及,根据所述角色对应用进行配置的指令。
6.如权利要求5所述的方法,其特征在于,所述根据所述角色对应用进行配置的指令具体用于执行如下操作:
根据所述角色,获取其他虚拟机的IP地址和/或主机名;
将获取到的IP地址和/或主机名写入到所述应用在本虚拟机上的配置文件中。
7.一种在虚拟化平台中部署应用的装置,其特征在于,包括:
用于预先制作虚拟机的操作系统镜像以及应用软件包的安装脚本的模块,所述操作系统镜像中安装有一个自动执行的应用部署程序,所述应用部署程序的执行参数为应用请求号和虚拟机号;
用于根据应用的部署请求产生应用请求号和虚拟机号,并在为所述应用分配物理机后,将所述部署请求对应的应用软件包和安装脚本存储到所述应用请求号对应的存储位置的模块;
用于将操作系统镜像拷贝到物理机上,并在所述物理机上将所述操作系统镜像作为虚拟机的虚拟磁盘启动的模块;
用于在虚拟机启动后,所述操作系统镜像中的应用部署程序获取本虚拟机对应的应用请求号和虚拟机号后自动执行的模块;
用于在虚拟机启动后,通过动态主机配置协议DHCP服务器动态配置虚拟机的网络环境的模块,所述网络环境包括:虚拟机的IP地址、虚拟机的主机名、网关和域名服务器DNS地址;
其中,所述操作系统镜像被配置为动态获取IP地址。
8.如权利要求7所述的装置,其特征在于:
虚拟机的主机名被配置为包括本虚拟机对应的应用请求号和虚拟机号;
所述应用部署程序获取本虚拟机对应的应用请求号和虚拟机号为:从虚拟机的主机名中解析应用请求号和虚拟机号。
9.如权利要求7所述的装置,其特征在于:
所述应用部署程序中包括从与所述应用请求号对应的存储位置中调用所述安装脚本,并将所述应用请求号和虚拟机号传递给所述安装脚本后执行所述安装脚本的指令。
10.如权利要求9所述的装置,其特征在于:
所述应用部署程序中还包括虚拟机是否为首次启动的指令,以及,如果虚拟机不是首次启动则结束的指令。
11.如权利要求9所述的装置,其特征在于:
所述安装脚本中包括:根据所述虚拟机号为各虚拟机分配角色的指令,根据所述角色从所述应用请求号对应的存储位置中获取相应的应用软件包并安装所述应用软件包的指令,以及,根据所述角色对应用进行配置的指令。
12.如权利要求11所述的装置,其特征在于,所述根据所述角色对应用进行配置的指令具体用于执行如下操作:
根据所述角色,获取其他虚拟机的IP地址和/或主机名;
将获取到的IP地址和/或主机名写入到所述应用在本虚拟机上的配置文件中。
CN200910243973.7A 2009-12-28 2009-12-28 一种在虚拟化平台中部署应用的方法及虚拟平台管理器 Active CN102110009B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN200910243973.7A CN102110009B (zh) 2009-12-28 2009-12-28 一种在虚拟化平台中部署应用的方法及虚拟平台管理器

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN200910243973.7A CN102110009B (zh) 2009-12-28 2009-12-28 一种在虚拟化平台中部署应用的方法及虚拟平台管理器

Publications (2)

Publication Number Publication Date
CN102110009A CN102110009A (zh) 2011-06-29
CN102110009B true CN102110009B (zh) 2014-06-11

Family

ID=44174183

Family Applications (1)

Application Number Title Priority Date Filing Date
CN200910243973.7A Active CN102110009B (zh) 2009-12-28 2009-12-28 一种在虚拟化平台中部署应用的方法及虚拟平台管理器

Country Status (1)

Country Link
CN (1) CN102110009B (zh)

Families Citing this family (60)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102916995B (zh) * 2011-08-05 2017-12-19 南京中兴新软件有限责任公司 应用托管方法及系统
CN102609295A (zh) * 2011-10-18 2012-07-25 华中科技大学 虚拟机作业动态调度系统
CN103067425B (zh) * 2011-10-20 2016-04-27 中国移动通信集团公司 虚拟机创建方法、虚拟机管理系统及相关设备
US8924954B2 (en) 2011-11-22 2014-12-30 Huawei Technologies Co., Ltd. Application software installation method and application software installation apparatus
CN102402446B (zh) * 2011-11-22 2014-12-17 华为数字技术(成都)有限公司 应用软件的安装方法和应用软件的安装装置
US8930685B2 (en) 2011-12-13 2015-01-06 International Business Machines Corporation Deployment of a software image on multiple targets with streaming technique
CN103200020B (zh) * 2012-01-04 2016-06-01 中兴通讯股份有限公司 一种资源部署方法和系统
CN103207802B (zh) * 2012-01-12 2018-10-19 上海盛大网络发展有限公司 软件操作系统及方法
CN103677858B (zh) * 2012-08-30 2019-09-10 南京中兴新软件有限责任公司 一种云环境中虚拟机软件管理的方法、系统及设备
CN103677983B (zh) * 2012-09-20 2018-05-04 三亚中兴软件有限责任公司 应用的调度方法及装置
CN103019802B (zh) * 2012-11-20 2015-11-25 中标软件有限公司 一种虚拟机管理方法及平台
CN103077034B (zh) * 2013-01-09 2015-08-19 上海交通大学 混合虚拟化平台java应用迁移方法与系统
CN103200255B (zh) * 2013-03-28 2016-04-20 汉柏科技有限公司 一种对虚拟服务器进行自动化布署的方法及装置
CN105051687B (zh) * 2013-05-31 2018-01-09 华为技术有限公司 应用部署方法和设备
GB2516842A (en) 2013-07-31 2015-02-11 Ibm Deployment of software images with distinct configuration logic
CN103475704B (zh) * 2013-09-06 2016-09-28 中国科学院计算技术研究所 一种面向虚拟机群应用的虚拟节点配置方法
CN103530162B (zh) * 2013-10-22 2016-05-11 中国科学院信息工程研究所 一种虚拟机在线自动软件安装的方法及系统
CN103605570A (zh) * 2013-11-18 2014-02-26 浪潮(北京)电子信息产业有限公司 一种基于虚拟机模板自动部署应用的方法及系统
CN103677961A (zh) * 2013-12-20 2014-03-26 国云科技股份有限公司 一种设置虚拟机主机名的方法
KR20150108230A (ko) * 2014-03-17 2015-09-25 한국전자통신연구원 클러스터 시스템 구축 방법 및 장치
CN104133670B (zh) * 2014-06-30 2017-06-09 中国科学院信息工程研究所 一种基于虚拟隔离技术的智能终端安全gui生成方法
CN104102531B (zh) * 2014-08-06 2017-11-14 汉柏科技有限公司 基于虚拟机的多网融合系统和方法
CN104318091B (zh) * 2014-10-13 2017-03-15 航天东方红卫星有限公司 一种基于虚拟化计算机系统的小卫星地面测试方法
CN104360821B (zh) * 2014-10-21 2018-08-10 中电科华云信息技术有限公司 实现混合虚拟化的系统及方法
CN104468223B (zh) * 2014-12-17 2017-11-14 浪潮电子信息产业股份有限公司 一种数据中心计算、存储、网络设备自动管理分配方法
CN104461698A (zh) * 2014-12-29 2015-03-25 成都致云科技有限公司 虚拟磁盘动态挂载的方法、管理装置及分布式存储系统
CN104754032A (zh) * 2015-02-27 2015-07-01 浪潮集团有限公司 一种部署OpenStack的方法及装置
CN104796469B (zh) * 2015-04-15 2018-04-03 北京中油瑞飞信息技术有限责任公司 云计算平台的配置方法及装置
CN105487880A (zh) * 2015-06-25 2016-04-13 哈尔滨安天科技股份有限公司 一种基于业务请求的镜像分发与使用方法及系统
CN105187245A (zh) * 2015-08-25 2015-12-23 浪潮(北京)电子信息产业有限公司 一种服务器虚拟化平台操作系统的批量部署系统及方法
CN105373417A (zh) * 2015-11-04 2016-03-02 浪潮(北京)电子信息产业有限公司 一种云计算下虚拟机管理的方法及系统
CN105528230A (zh) * 2015-12-23 2016-04-27 北京奇虎科技有限公司 一种配置参数的设置方法和装置
CN105700877A (zh) * 2016-01-06 2016-06-22 杭州数梦工场科技有限公司 一种应用部署方法和装置
CN106775799A (zh) * 2016-01-29 2017-05-31 新华三技术有限公司 一种脚本获取方法及装置
CN107291525B (zh) * 2016-04-01 2021-06-01 华为技术有限公司 一种部署虚拟机的方法、宿主机及系统
CN107608753A (zh) * 2016-07-12 2018-01-19 阿里巴巴集团控股有限公司 一种虚拟机创建方法及装置
CN107783814A (zh) * 2016-08-29 2018-03-09 中国石油化工股份有限公司 软件资产集中保护方法及系统
CN106528263B (zh) * 2016-10-21 2019-08-02 郑州云海信息技术有限公司 虚拟化环境中向虚拟机注入元信息并进行初始化的方法
CN106506217A (zh) * 2016-11-14 2017-03-15 天闻数媒科技(湖南)有限公司 一种应用软件安装方法及系统
CN106789269B (zh) * 2016-12-27 2019-11-19 中国建设银行股份有限公司 一种主机平台操作系统部署方法及系统
CN106843976B (zh) * 2017-01-25 2018-11-16 北京百度网讯科技有限公司 用于生成镜像文件的方法和装置
CN108664274A (zh) * 2017-03-27 2018-10-16 中兴通讯股份有限公司 操作系统初始化配置的实现方法、系统和装置
CN107256175A (zh) * 2017-06-12 2017-10-17 郑州云海信息技术有限公司 一种实现虚拟机进行差异化操作的方法、装置及系统
CN107273165B (zh) * 2017-06-19 2021-03-23 苏州浪潮智能科技有限公司 一种实现模块动态调用的系统及方法
CN109284153A (zh) * 2017-07-21 2019-01-29 中兴通讯股份有限公司 单机体验多操作系统的方法、相关设备及计算机介质
CN107368338A (zh) * 2017-07-25 2017-11-21 郑州云海信息技术有限公司 一种软件自动部署方法和装置
CN109840094B (zh) * 2017-11-24 2021-08-31 腾讯科技(深圳)有限公司 一种数据库的部署方法、装置及存储设备
CN108170508A (zh) * 2017-12-12 2018-06-15 顺丰科技有限公司 批量创建虚拟机的方法、装置、设备及其存储介质
CN109814980A (zh) * 2019-01-25 2019-05-28 新华三云计算技术有限公司 镜像文件获取方法及装置
CN110634561B (zh) * 2019-09-19 2022-07-19 江苏赛诺格兰医疗科技有限公司 一种pet-ct软件的自动部署方法
CN111949378B (zh) * 2020-08-28 2021-09-10 腾讯科技(深圳)有限公司 虚拟机启动模式切换方法和装置、存储介质及电子设备
CN112954040B (zh) * 2021-02-04 2022-08-12 深圳融安网络科技有限公司 嵌入应用发布服务器的方法、系统、设备及存储介质
CN113193986B (zh) * 2021-04-08 2023-05-05 上海云轴信息科技有限公司 云资源配置方法及用于实现云资源配置的物理机
CN113238835B (zh) * 2021-06-02 2023-10-31 中国联合网络通信集团有限公司 虚拟机配置方法、装置、服务器及系统
CN113360250B (zh) * 2021-08-09 2021-12-14 连连宝(杭州)信息技术有限公司 一种应用服务资源控制方法、装置、设备及介质
CN113590169B (zh) * 2021-09-30 2021-12-21 武汉四通信息服务有限公司 应用部署方法、应用部署系统和计算机可读存储介质
CN114531451B (zh) * 2021-12-30 2023-12-05 北京大学 一种机房计算机双ip管理方法
CN115002075B (zh) * 2021-12-30 2023-07-04 北京大学 一种系统双ip网络环境下的多机房合班教学管理方法
CN115509590B (zh) * 2022-11-09 2023-03-21 安超云软件有限公司 持续部署方法及计算机设备
CN117591245B (zh) * 2024-01-16 2024-06-07 麒麟软件有限公司 银河麒麟服务器迁移运维管理平台自动化部署方法及装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6738977B1 (en) * 2000-05-31 2004-05-18 International Business Machines Corporation Class sharing between multiple virtual machines
CN1694071A (zh) * 2005-06-16 2005-11-09 武汉理工大学 构建单机环境下的分布式应用系统的方法
CN101075198A (zh) * 2006-05-17 2007-11-21 国际商业机器公司 提供两级服务器虚拟化的方法和系统

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6738977B1 (en) * 2000-05-31 2004-05-18 International Business Machines Corporation Class sharing between multiple virtual machines
CN1694071A (zh) * 2005-06-16 2005-11-09 武汉理工大学 构建单机环境下的分布式应用系统的方法
CN101075198A (zh) * 2006-05-17 2007-11-21 国际商业机器公司 提供两级服务器虚拟化的方法和系统

Also Published As

Publication number Publication date
CN102110009A (zh) 2011-06-29

Similar Documents

Publication Publication Date Title
CN102110009B (zh) 一种在虚拟化平台中部署应用的方法及虚拟平台管理器
CN108809722B (zh) 一种部署Kubernetes集群的方法、装置和存储介质
US20210349706A1 (en) Release lifecycle management system for multi-node application
CN103167041B (zh) 一种支持云环境应用集群自动化部署的系统及方法
WO2018001004A1 (zh) 一种基于Docker的云平台控制方法及装置
JP6329547B2 (ja) クラウドコンピューティング環境で使用するサービス管理エンジンを提供するためのシステムおよび方法
US8762986B2 (en) Advanced packaging and deployment of virtual appliances
US8290998B2 (en) Systems and methods for generating cloud computing landscapes
CN102932408B (zh) 一种服务器集群的管理方法和平台
CN108089913B (zh) 一种超融合系统的虚拟机部署方法
CN102752137B (zh) 主动设置虚拟机网络参数的装置和方法
CN103064742A (zh) 一种hadoop集群的自动部署系统及方法
US20110265087A1 (en) Apparatus, method, and computer program product for solution provisioning
WO2014169870A1 (zh) 虚拟网元自动装载及虚拟机ip地址获取的方法与系统、存储介质
CN111212116A (zh) 一种基于容器云的高性能计算集群创建方法和系统
CN105656646A (zh) 一种虚拟网元的部署方法及装置
Lossent et al. PaaS for web applications with OpenShift Origin
CN103885833A (zh) 一种资源管理方法和系统
CN104717233A (zh) 数据库部署方法和装置
CN103077034B (zh) 混合虚拟化平台java应用迁移方法与系统
CN103064717A (zh) 一种集群系统并行安装软件的装置和方法
CN116010027A (zh) 管理任务处理集群的方法、执行任务的方法及容器集群
US20170317881A1 (en) Computing infrastructure provisioning
CN110262809B (zh) 基于持续集成和虚拟化容器的校园应用发布方法及系统
WO2015117278A1 (zh) 时钟中断信号的获取方法和nfv功能实体

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant