CN110851144B - 云主机部署方法及装置、计算机可存储介质 - Google Patents

云主机部署方法及装置、计算机可存储介质 Download PDF

Info

Publication number
CN110851144B
CN110851144B CN201910842285.6A CN201910842285A CN110851144B CN 110851144 B CN110851144 B CN 110851144B CN 201910842285 A CN201910842285 A CN 201910842285A CN 110851144 B CN110851144 B CN 110851144B
Authority
CN
China
Prior art keywords
initialization
service
image
cloud host
program
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
CN201910842285.6A
Other languages
English (en)
Other versions
CN110851144A (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.)
Beijing Jingdong Century Trading Co Ltd
Beijing Jingdong Shangke Information Technology Co Ltd
Original Assignee
Beijing Jingdong Century Trading Co Ltd
Beijing Jingdong Shangke Information Technology 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 Beijing Jingdong Century Trading Co Ltd, Beijing Jingdong Shangke Information Technology Co Ltd filed Critical Beijing Jingdong Century Trading Co Ltd
Priority to CN201910842285.6A priority Critical patent/CN110851144B/zh
Publication of CN110851144A publication Critical patent/CN110851144A/zh
Application granted granted Critical
Publication of CN110851144B publication Critical patent/CN110851144B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation
    • G06F8/63Image based installation; Cloning; Build to order
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Stored Programmes (AREA)

Abstract

本公开涉及云主机部署方法及装置、计算机可存储介质,涉及云计算领域。云主机部署方法包括:获取与用户所需的服务程序对应的初始化镜像;利用所述初始化镜像部署目标云主机;获取与服务程序对应的服务镜像;利用所述服务镜像重置所述目标云主机。根据本公开,无需开发不同的部署程序,简化了部署流程,提升了云主机部署的速度。

Description

云主机部署方法及装置、计算机可存储介质
技术领域
本公开涉及云计算领域,特别涉及云主机部署方法及装置、计算机可存储介质。
背景技术
随着云计算平台在不同行业的深入应用,更多的用户选择使用云平台对外提供Web等服务,从而需要将大量的服务程序等应用软件部署在云平台上。
使用云平台对外提供Web等服务,经常需要在云平台上部署大量的云主机,因此云主机的部署和管理就成为了一项重要的工作,并且有很多同质化的云主机,即服务程序相同,但是需要不同的初始化来实现不同的服务功能。
相关的云主机部署技术,通过针对不同的服务程序提供的不同服务开发相对应的部署程序,以完成云主机的部署。
发明内容
发明人认为:相关的云主机部署技术中,需要开发不同的部署程序,云主机部署的速度慢。
针对上述技术问题,本公开提出了一种解决方案,无需开发不同的部署程序,简化了部署流程,提升了云主机部署的速度。
根据本公开的第一方面,提供了一种云主机部署方法,包括:获取与用户所需的服务程序对应的初始化镜像;利用所述初始化镜像部署目标云主机;获取与所述服务程序对应的服务镜像;利用所述服务镜像重置所述目标云主机。
在一些实施例中,利用所述初始化镜像部署目标云主机包括:将所述初始化镜像部署到目标云主机的系统盘并挂载目标数据盘;获取与所述服务程序对应的初始化数据;根据所述初始化数据来初始化所述目标数据盘,从而在所述目标数据盘中生成启动所述服务程序所依赖的启动数据;利用所述服务镜像重置所述目标云主机包括:使用所述服务镜像置换所述系统盘的所述初始化镜像,从而在所述系统盘中部署所述服务程序。
在一些实施例中,所述初始化数据包括所述服务程序对应的配置数据。
在一些实施例中,所述初始化镜像包括初始化服务,获取与所述服务程序对应的初始化数据包括:调用所述初始化服务,以获取与所述服务程序对应的初始化数据。
在一些实施例中,利用所述初始化镜像部署目标云主机还包括:调用所述初始化服务,以轮询所述初始化的状态;在所述初始化的状态为完成状态的情况下,完成所述初始化。
在一些实施例中,所述初始化镜像包括初始化程序,根据所述初始化数据来初始化所述目标数据盘包括:调用所述初始化程序,以根据所述初始化数据来初始化所述目标数据盘。
在一些实施例中,利用所述服务镜像重置所述目标云主机还包括:开启所述目标云主机,使所述目标云主机读取所述目标数据盘的所述启动数据,并启动所述服务程序。
在一些实施例中,在获取初始化镜像和服务镜像之前,云主机部署方法还包括:根据所述服务程序,生成所述初始化镜像和所述服务镜像。
在一些实施例中,生成所述初始化镜像包括:获取根据所述服务程序预先生成的初始化服务、初始化程序以及与所述初始化服务和所述初始化程序对应的第一操作系统镜像;利用所述第一操作系统镜像,创建第一云主机;在所述第一云主机的第一操作系统上,部署所述初始化服务和所述初始化程序,得到所述初始化镜像。
在一些实施例中,生成所述服务镜像包括:获取与所述服务程序和所述服务程序对应的第二操作系统镜像;利用所述第二操作系统镜像,创建第二云主机并挂载临时数据盘;在所述第二云主机的第二操作系统上,部署所述服务程序,并指定与所述服务程序对应的启动数据和运行数据的存储路径为所述临时数据盘;卸载所述临时数据盘,得到所述服务镜像。
在一些实施例中,云主机部署方法还包括:生成交付资源信息,所述交付资源信息包括所述目标云主机的虚拟ID和所述目标云主机的实际ID;其中,所述用户根据所述目标云主机的虚拟ID与所述目标云主机交互。
在一些实施例中,在生成所述初始化镜像和所述服务镜像之后,还包括:存储所述初始化镜像和所述服务镜像;生成与所述初始化镜像和所述服务镜像分别对应的镜像信息。
在一些实施例中,所述镜像信息包括镜像ID、镜像类型,所述镜像类型包括初始化镜像和服务镜像。
在一些实施例中,云主机部署方法还包括:根据所述镜像信息,生成交付设置信息;其中,所述交付设置信息包括初始化镜像ID、服务镜像ID。
在一些实施例中,获取初始化镜像和服务镜像包括:根据所述交付设置信息中的所述初始化镜像ID、所述服务镜像ID与所述镜像信息中的所述镜像ID、镜像类型的对应关系,获取所述初始化镜像和所述服务镜像。
根据本公开第二方面,提供了一种云主机部署装置,包括:第一获取模块,被配置为获取与用户所需的服务程序对应的初始化镜像;部署模块,被配置为利用所述初始化镜像部署目标云主机;第二获取模块,被配置为获取与所述服务程序对应的服务镜像;重置模块,被配置为利用所述服务镜像重置所述目标云主机。
根据本公开第三方面,提供了一种云主机部署装置,包括:存储器;以及耦接至所述存储器的处理器,所述处理器被配置为基于存储在所述存储器的指令,执行上述任一实施例所述的云主机部署方法。
根据本公开的第四方面,一种计算机可存储介质,其上存储有计算机程序指令,该指令被处理器执行时实现上述任一实施例所述的云主机部署方法。
在上述实施例中,无需开发不同的部署程序,简化了部署流程,提升了云主机部署的速度。
附图说明
构成说明书的一部分的附图描述了本公开的实施例,并且连同说明书一起用于解释本公开的原理。
参照附图,根据下面的详细描述,可以更加清楚地理解本公开,其中:
图1示出本公开一些实施例的云主机部署方法的流程图;
图2示出本公开另一些实施例的云主机部署方法的流程图;
图3示出本公开一些实施例的云主机部署装置的框图;
图4示出本公开另一些实施例的云主机部署装置的框图;
图5示出本公开再一些实施例的云主机部署装置的框图;
图6示出用于实现本公开一些实施例的计算机系统的框图。
具体实施方式
现在将参照附图来详细描述本公开的各种示例性实施例。应注意到:除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本公开的范围。
同时,应当明白,为了便于描述,附图中所示出的各个部分的尺寸并不是按照实际的比例关系绘制的。
以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本公开及其应用或使用的任何限制。
对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为说明书的一部分。
在这里示出和讨论的所有示例中,任何具体值应被解释为仅仅是示例性的,而不是作为限制。因此,示例性实施例的其它示例可以具有不同的值。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。
图1示出本公开一些实施例的云主机部署方法的流程图。
如图1所示,云主机部署方法包括步骤S110-步骤S140。在一些实施例中,云主机部署方法由云主机部署装置或者云交付系统执行。
在步骤S110中,获取与用户所需的服务程序对应的初始化镜像。在一些实施例中,初始化镜像存储在云主机部署装置或者云交付系统中。
在步骤S120中,利用初始化镜像部署目标云主机。例如通过如下方式实现利用初始化镜像部署目标云主机。
首先,将初始化镜像部署到目标云主机的系统盘并挂载目标数据盘。应当理解,将初始化镜像部署在目标云主机的系统盘即为利用初始化镜像创建目标云主机。在一些实施例中,系统盘为本地磁盘或者云交付系统提供的虚拟磁盘。
然后,获取与服务程序对应的初始化数据。在一些实施例中,初始化数据包括与服务程序对应的配置数据。例如,配置数据包括用户设置的网络配置数据、系统配置数据或环境变量配置数据等。网络配置数据例如包括IP地址、网关等。
在一些实施例中,初始化镜像包括初始化服务。通过如下方式获取与服务程序对应的初始化数据。调用初始化服务,以获取与服务程序对应的初始化数据。
最后,根据初始化数据来初始化目标数据盘,从而在目标数据盘中生成启动服务程序所依赖的启动数据。启动数据包括启动服务程序所依赖的元数据。例如,初始化镜像包括初始化程序,调用初始化程序,以根据初始化数据来初始化目标数据盘。
在一些实施例中,调用初始化程序,根据初始化数据完成目标数据盘的分区、目标数据盘的格式化以及生成启动服务程序所以来的启动数据等初始化操作。
通过将启动服务程序所依赖的启动数据存储在目标数据盘的方式可以减少系统盘的占用,减少系统开销,实现服务程序的纯净化。另外,在只更新初始化镜像的情况下,只需重新生成新的初始化镜像,无需再生成服务镜像,减少了耦合错误和部署出错率。
在一些实施例中,初始化镜像包括公用的与服务程序对应的配置数据、计算数据或者元数据。这些数据用于完成初始化操作。
在一些实施例中,利用初始化镜像部署目标云主机还包括如下步骤。
调用初始化服务,以轮询初始化的状态。在初始化的状态为完成状态的情况下,完成初始化。完成初始化后,执行步骤S130。
在步骤S130中,获取与服务程序对应的服务镜像。在一些实施例中,服务镜像存储在云主机部署装置或者云交付系统中。服务程序即为运行在云主机上对外提供服务功能的程序。
在步骤S140中,利用服务镜像重置目标云主机。例如,使用服务镜像置换目标云主机的初始化镜像。服务镜像包括用户所需的服务程序。服务镜像置换系统盘的初始化镜像,从而在系统盘中部署服务程序。在此过程中,目标数据盘没有变化。目标数据盘为虚拟磁盘,可以包括差异化的脚本、数据、程序以及配置等数据,可根据具体需求放置不同的数据。
通过将服务程序部署在系统盘,启动服务程序所依赖的启动数据存储在目标数据盘的方式,实现了服务程序和启动数据的分离,而服务程序提供服务的差异化是由于服务程序的启动数据的不同。在迁移服务程序提供的服务的情况下,只需要将目标数据盘挂载到相应的云主机上即可,提高了迁移速度,降低了迁移的复杂度。
在一些实施例中,利用服务镜像重置目标云主机还包括以下步骤。
开启目标云主机,使目标云主机读取目标数据盘的启动数据、并启动服务程序。例如,启动服务程序时,会完成服务程序启动的初始化。服务程序启动的初始化即为目标云主机读取目标数据盘的启动数据,服务程序根据启动数据进行启动。
本公开采用初始化镜像和服务镜像分离的方式,无需开发不同的部署程序,简化了部署流程,提升了云主机部署的速度。并且,通过分离镜像技术,将初始化镜像和服务镜像,实现与初始化和服务程序对应的系统的解耦,减少了与服务镜像对应的系统的空间和资源的占用,使得服务程序的部署更加轻量,提升了部署速度。另外,在实际的云主机部署中,一些特定的初始化操作只能在特定的操作系统上进行,且与服务程序运行的操作系统不同。根据本公开,初始化镜像和服务镜像分离的方式可以满足这种特殊的云主机部署,更具通用性。
图2示出本公开另一些实施例的云主机部署方法的流程图。
如图2所示,云主机部署方法包括步骤S100-步骤S140。图2与图1的不同之处在于,图2示出了另一些实施例的云主机部署方法的步骤S100。下面将仅描述图2与图1的不同之处,相同之处不再赘述。
在步骤S100中,根据服务程序,生成初始化镜像和服务镜像。步骤S100于步骤S110之前执行。
例如通过如下方式生成初始化镜像。
首先,获取根据服务程序预先生成的初始化服务、初始化程序以及与初始化服务和初始化程序对应的第一操作系统镜像。在一些实施例中,初始化服务和初始化程序为根据用户所需的服务程序,分离得到与服务程序对应的启动数据,分析启动数据并开发相应的初始化程序和初始化服务。例如,初始化程序和初始化服务可以是脚本、可运行程序、系统程序等形式。例如,采用与Linux操作系统对应的ssh脚本开发初始化程序和初始化服务。系统程序是操作系统内的一种服务程序,例如利用Windows操作系统提供的系统服务来实现初始化程序和初始化服务对应的系统程序。在一些实施例中,混合脚本、可运行程序、系统程序实现初始化程序和初始化服务。将初始化程序和初始化服务预先存储到云主机部署装置或云交付系统中。
在一些实施例中,初始化服务、初始化程序和第一操作系统构成初始化系统。例如,初始化服务使用Rest API接口实现,提供获取初始化数据以及查询初始化状态的功能。在一些实施例中,初始化服务提供初始化数据所在的存储路径。初始化程序根据初始化数据初始化目标数据盘。
然后,利用第一操作系统镜像,创建第一云主机。
最后,在第一云主机的第一操作系统上,部署初始化服务和初始化程序,得到初始化镜像。在一些实施例中,得到初始化镜像之前需要对第一云主机执行关机操作。例如,部署初始化服务和初始化程序通过利用与初始化服务和初始化程序对应的部署程序或者部署脚本将初始化服务和初始化程序安装至第一操作系统上。在一些实施例中,也可以通过手动安装的方式部署初始化服务和初始化程序。
在一些实施例中,第一操作系统镜像为标准的操作系统镜像,例如Windows、Linux等基础的操作系统。一般,云平台都会提供基础的操作系统镜像,这是云平台的基本功能。在云平台不能提供基础操作系统镜像的情况下,可以根据云平台的需求导入基础的操作系统镜像。
例如通过如下方式生成服务镜像。
首先,获取与服务程序和服务程序对应的第二操作系统镜像。
其次,利用第二操作系统镜像,创建第二云主机并挂载临时数据盘。此处的临时数据盘不同于目标数据盘。这里挂载临时数据盘具有两个作用。一方面,提供与目标云主机相同的硬件环境。另一方面,用于分离服务程序和启动数据、运行数据,得到纯净的与服务程序对应的服务镜像。启动数据为启动服务程序所依赖的数据,运行数据为运行服务程序生成的数据。
然后,在第二云主机的第二操作系统上,部署服务程序,并指定与服务程序对应的启动数据和运行数据的存储路径为临时数据盘。在一些实施例中,还需要部署开机服务程序,使得部署了服务程序的云主机开机即启动服务程序。
最后,卸载临时数据盘,得到服务镜像。在一些实施例中,在得到服务镜像之前需要对第二云主机执行关机操作。
通过指定与服务程序对应的运行数据的存储路径为数据盘,将服务程序和服务程序依赖的运行数据分离,并在得到服务镜像之前卸载数据盘,从而得到纯净的与服务程序对应的服务镜像。
在一些实施例中,云主机部署方法还包括步骤S109。
在步骤S101中,生成交付资源信息。交付资源信息包括目标云主机的虚拟ID和目标云主机的实际ID。用户根据目标云主机的虚拟ID与目标云主机交互。
通过给用户分配目标云主机的虚拟ID,并建立目标云主机的虚拟ID和目标云主机的实际ID的对应关系的方式,在进行云主机的迁移的情况下,只需更新目标云主机的虚拟ID和新迁移的云主机的实际ID之间的对应关系即可,可以实现用户无感知迁移,方便后续维护。
在一些实施例中,交付资源信息可以是如表1所示的交付资源表。根据用户的不同服务需求生成不同的交付资源表。交付资源表包括交付ID,交付ID用于唯一标识一份交付资源表。
如表1所示,交付ID为1,云主机的虚拟ID为1,云主机的实际ID为2。
表1交付资源表
交付ID(Delivery ID) 1
云主机的虚拟ID(Resource ID) 1
云主机的实际ID(VM ID) 2
在一些实施例中,在步骤S100之后,云主机部署方法还包括步骤S102-步骤S103。
在步骤S102中,存储初始化镜像和服务镜像。例如,将初始化镜像和服务镜像存储至云交付系统中。
在步骤S103中,生成与初始化镜像和服务镜像分别对应的镜像信息。例如,镜像信息包括镜像ID、镜像类型。镜像类型包括初始化镜像和服务镜像。在一些实施例中,镜像信息还包括操作系统版本、操作系统内核类型、镜像名称、镜像支持的最小硬件的规格模板ID。例如,镜像信息通过如表2所示的镜像信息表保存。
如表2所示,镜像ID为1,操作系统版本为Windows 10,操作系统内核类型为Windows内核,镜像类型为服务镜像,镜像名称为Web服务镜像,规格模板ID为3。
表2镜像信息表
镜像ID(Image ID) 1
操作系统版本(Operating System) Windows 10
操作系统内核类型(Operating System Kernel) Windows内核
镜像类型(Image Type) 服务镜像
镜像名称(Image Name) Web服务镜像
规格模板ID(Specification ID) 3
在一些实施例中,云主机部署方法还包括步骤S104。
在步骤S104中,根据镜像信息,生成交付设置信息。交付设置信息包括初始化镜像ID、服务镜像ID。例如,交付设置信息还包括交付设置名称、交付设置ID、交付数量和交付状态。交付设置ID为交付设置信息的唯一标识。交付数量为用户需要部署的云主机数量。交付状态包括待交付、交付中和交付完成。在一些实施例中,生成交付设置信息表后,在如表1所示的交付资源表中保存交付设置ID,建立交付资源表、镜像信息表、交付设置信息表之间的对应关系,方便云主机的管理和维护。例如,交付设置信息通过如表3所示的交付设置信息表保存。
如表3所示,交付设置名称为Web交付,初始化镜像ID为1,服务镜像ID为1,规格模板ID为3,交付设置ID为1,交付数量为100,交付状态为待交付。
表3交付设置信息表
交付设置名称(Name) Web交付
初始化镜像ID(Initial Image ID) 1
服务镜像ID(Image ID) 1
规格模板ID(Specification ID) 3
交付设置ID(Delivery Setting ID) 1
交付数量(COUNT) 100
交付状态(STATE) 待交付
在一些实施例中,获取初始化镜像和服务镜像通过如下方式实现。
根据交付设置信息中的初始化镜像ID、服务镜像ID和镜像信息中的镜像ID、镜像类型的对应关系,获取初始化镜像和服务镜像。
图3示出本公开一些实施例的云主机部署装置的框图。
如图3所示,云主机部署装置3包括第一获取模块31、部署模块32、第二获取模块33和重置模块34。
第一获取模块31被配置为获取与用户所需的服务程序对应的初始化镜像,例如执行如图1所示的步骤S110。部署模块32被配置为利用初始化镜像部署目标云主机,例如执行如图1所示的步骤S120。第二获取模块33被配置为获取与服务程序对应的服务镜像,例如执行如图1所示的步骤S130。重置模块34被配置为利用服务镜像重置目标云主机,例如执行如图1所示的步骤S140。
图4示出本公开一些实施例的云主机部署装置的框图。
如图4所示,云主机部署装置4包括交付管理模块41、镜像存储模块42、虚拟化管理模块43、虚拟磁盘存储模块44。在一些实施例中,云主机部署装置即为云交付系统。交付是根据用户的服务需求部署云主机并交给用户。
交付管理模块41包括镜像管理单元411、交付管理单元412、资源管理单元413、初始化存储单元414和创建单元415。
镜像管理单元411被配置为根据用户所需的服务程序,生成初始化镜像和服务镜像,例如执行如图2所示的步骤S100。在一些实施例中,镜像管理单元411还被配置为将初始化镜像和服务镜像发送给镜像存储模块42。在另一些实施例中,镜像管理单元411还被配置为生成与初始化镜像和服务镜像分别对应的镜像信息,例如执行如图2所示的步骤S103。例如,镜像管理单元411还被配置为存储镜像信息。
交付管理单元412被配置为存储交付设置信息。在一些实施例中,交付设置信息包括交付的状态信息等交付相关的信息。
资源管理单元413被配置为存储交付资源信息。本公开所称的资源均为云主机。
初始化存储单元414被配置为存储与用户所需的服务程序对应的初始化数据。
创建单元415被配置为执行如下操作:从镜像存储模块42获取初始化镜像,例如执行如图1或图2所示的步骤S110;利用初始化镜像部署目标云主机,例如执行如图1或图2所示的步骤S120;从镜像存储模块43获取服务镜像,例如执行如图1或图2所示的步骤S130;利用服务镜像重置目标云主机,例如执行如图1或图2所示的步骤S140;生成交付资源信息,例如执行如图2所示的步骤S101;根据镜像信息生成交付设置信息,例如执行如图2所示的步骤S104。
镜像存储模块42被配置为接收镜像管理模块发送的初始化镜像和服务镜像,并存储初始化镜像和服务镜像,例如执行如图2所示的步骤S102。
虚拟化管理模块43被配置为存储并管理创建的云主机。虚拟化管理模块43例如为云平台的虚拟化管理平台,管理并存储多个云主机。
虚拟磁盘存储模块44被配置为存储目标数据盘,并在目标数据盘中存储启动服务程序所依赖的启动数据。在一些实施例中,虚拟磁盘存储模块44为存储子系统,存储子系统包括多个虚拟磁盘。虚拟磁盘可以充当数据盘,也可以作为系统盘。
图5示出本公开再一些实施例的云主机部署装置的框图。
如图5所示,云主机部署装置5包括存储器51;以及耦接至该存储器51的处理器52。存储器51用于存储执行云主机部署方法对应实施例的指令。处理器52被配置为基于存储在存储器51中的指令,执行本公开中任意一些实施例中的云主机部署方法。
图6示出用于实现本公开一些实施例的计算机系统的框图。
如图6所示,计算机系统60可以通用计算设备的形式表现。计算机系统60包括存储器610、处理器620和连接不同系统组件的总线600。
存储器610例如可以包括系统存储器、非易失性存储介质等。系统存储器例如存储有操作系统、应用程序、引导装载程序(Boot Loader)以及其他程序等。系统存储器可以包括易失性存储介质,例如随机存取存储器(RAM)和/或高速缓存存储器。非易失性存储介质例如存储有执行云主机部署方法中的至少一种的对应实施例的指令。非易失性存储介质包括但不限于磁盘存储器、光学存储器、闪存等。
处理器620可以用通用处理器、数字信号处理器(DSP)、应用专用集成电路(ASIC)、现场可编程门阵列(FPGA)或其它可编程逻辑设备、分立门或晶体管等分立硬件组件方式来实现。相应地,诸如判断模块和确定模块的每个模块,可以通过中央处理器(CPU)运行存储器中执行相应步骤的指令来实现,也可以通过执行相应步骤的专用电路来实现。
总线600可以使用多种总线结构中的任意总线结构。例如,总线结构包括但不限于工业标准体系结构(ISA)总线、微通道体系结构(MCA)总线、外围组件互连(PCI)总线。
计算机系统60还可以包括输入输出接口630、网络接口640、存储接口650等。这些接口630、640、650以及存储器66和处理器620之间可以通过总线600连接。输入输出接口630可以为显示器、鼠标、键盘等输入输出设备提供连接接口。网络接口640为各种联网设备提供连接接口。存储接口650为软盘、U盘、SD卡等外部存储设备提供连接接口。
这里,参照根据本公开实施例的方法、装置和计算机程序产品的流程图和/或框图描述了本公开的各个方面。应当理解,流程图和/或框图的每个框以及各框的组合,都可以由计算机可读程序指令实现。
这些计算机可读程序指令可提供到通用计算机、专用计算机或其他可编程装置的处理器,以产生一个机器,使得通过处理器执行指令产生实现在流程图和/或框图中一个或多个框中指定的功能的装置。
这些计算机可读程序指令也可存储在计算机可读存储器中,这些指令使得计算机以特定方式工作,从而产生一个制造品,包括实现在流程图和/或框图中一个或多个框中指定的功能的指令。
本公开可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。
通过上述实施例中的云主机部署方法及装置、计算机可存储介质,无需开发不同的部署程序,简化了部署流程,提升了云主机部署的速度。另外,在实际的云主机部署中,一些特定的初始化操作只能在特定的操作系统上进行,且与服务程序运行的操作系统不同。根据本公开,初始化镜像和服务镜像分离的方式可以满足这种特殊的云主机部署,更具通用性。
至此,已经详细描述了根据本公开的云主机部署方法及其装置、计算机可存储介质。为了避免遮蔽本公开的构思,没有描述本领域所公知的一些细节。本领域技术人员根据上面的描述,完全可以明白如何实施这里公开的技术方案。

Claims (16)

1.一种云主机部署方法,包括:
获取与用户所需的服务程序对应的初始化镜像,其中,所述初始化镜像通过如下方式生成:获取根据所述服务程序预先生成的初始化服务、初始化程序以及与所述初始化服务和所述初始化程序对应的第一操作系统镜像;利用所述第一操作系统镜像,创建第一云主机;在所述第一云主机的第一操作系统上,部署所述初始化服务和所述初始化程序,得到所述初始化镜像;
利用所述初始化镜像部署目标云主机;
获取与所述服务程序对应的服务镜像,其中,所述服务镜像通过如下方式生成:获取所述服务程序和与所述服务程序对应的第二操作系统镜像;利用所述第二操作系统镜像,创建第二云主机并挂载临时数据盘;在所述第二云主机的第二操作系统上,部署所述服务程序,并指定与所述服务程序对应的启动数据和运行数据的存储路径为所述临时数据盘;卸载所述临时数据盘,得到所述服务镜像;
利用所述服务镜像重置所述目标云主机。
2.根据权利要求1所述的云主机部署方法,其中,
利用所述初始化镜像部署目标云主机包括:
将所述初始化镜像部署到目标云主机的系统盘并挂载目标数据盘;
获取与所述服务程序对应的初始化数据;
根据所述初始化数据来初始化所述目标数据盘,从而在所述目标数据盘中生成启动所述服务程序所依赖的启动数据;
利用所述服务镜像重置所述目标云主机包括:
使用所述服务镜像置换所述系统盘的所述初始化镜像,从而在所述系统盘中部署所述服务程序。
3.根据权利要求2所述的云主机部署方法,其中,所述初始化数据包括所述服务程序对应的配置数据。
4.根据权利要求2所述的云主机部署方法,其中,所述初始化镜像包括初始化服务,获取与所述服务程序对应的初始化数据包括:
调用所述初始化服务,以获取与所述服务程序对应的初始化数据。
5.根据权利要求4所述的云主机部署方法,其中,利用所述初始化镜像部署目标云主机还包括:
调用所述初始化服务,以轮询所述初始化的状态;
在所述初始化的状态为完成状态的情况下,完成所述初始化。
6.根据权利要求2所述的云主机部署方法,其中,所述初始化镜像包括初始化程序,根据所述初始化数据来初始化所述目标数据盘包括:
调用所述初始化程序,以根据所述初始化数据来初始化所述目标数据盘。
7.根据权利要求2所述的云主机部署方法,其中,利用所述服务镜像重置所述目标云主机还包括:
开启所述目标云主机,使所述目标云主机读取所述目标数据盘的所述启动数据,并启动所述服务程序。
8.根据权利要求1所述的云主机部署方法,其中,在获取初始化镜像和服务镜像之前,还包括:
根据所述服务程序,生成所述初始化镜像和所述服务镜像。
9.根据权利要求8所述的云主机部署方法,还包括:
生成交付资源信息,所述交付资源信息包括所述目标云主机的虚拟ID和所述目标云主机的实际ID;
其中,所述用户根据所述目标云主机的虚拟ID与所述目标云主机交互。
10.根据权利要求8所述的云主机部署方法,其中,在生成所述初始化镜像和所述服务镜像之后,还包括:
存储所述初始化镜像和所述服务镜像;
生成与所述初始化镜像和所述服务镜像分别对应的镜像信息。
11.根据权利要求10所述的云主机部署方法,其中,所述镜像信息包括镜像ID、镜像类型,所述镜像类型包括初始化镜像和服务镜像。
12.根据权利要求11所述的云主机部署方法,还包括:
根据所述镜像信息,生成交付设置信息;
其中,所述交付设置信息包括初始化镜像ID、服务镜像ID。
13.根据权利要求12所述的云主机部署方法,其中,获取初始化镜像和服务镜像包括:
根据所述交付设置信息中的所述初始化镜像ID、所述服务镜像ID与所述镜像信息中的所述镜像ID、镜像类型的对应关系,获取所述初始化镜像和所述服务镜像。
14.一种云主机部署装置,包括:
第一获取模块,被配置为获取与用户所需的服务程序对应的初始化镜像,其中,所述初始化镜像通过如下方式生成:获取根据所述服务程序预先生成的初始化服务、初始化程序以及与所述初始化服务和所述初始化程序对应的第一操作系统镜像;利用所述第一操作系统镜像,创建第一云主机;在所述第一云主机的第一操作系统上,部署所述初始化服务和所述初始化程序,得到所述初始化镜像;
部署模块,被配置为利用所述初始化镜像部署目标云主机;
第二获取模块,被配置为获取与所述服务程序对应的服务镜像,其中,所述服务镜像通过如下方式生成:获取所述服务程序和与所述服务程序对应的第二操作系统镜像;利用所述第二操作系统镜像,创建第二云主机并挂载临时数据盘;在所述第二云主机的第二操作系统上,部署所述服务程序,并指定与所述服务程序对应的启动数据和运行数据的存储路径为所述临时数据盘;卸载所述临时数据盘,得到所述服务镜像;
重置模块,被配置为利用所述服务镜像重置所述目标云主机。
15.一种云主机部署装置,包括:
存储器;以及
耦接至所述存储器的处理器,所述处理器被配置为基于存储在所述存储器的指令,执行如权利要求1至13任一项所述的云主机部署方法。
16.一种计算机可存储介质,其上存储有计算机程序指令,该指令被处理器执行时实现如权利要求1至13任一项所述的云主机部署方法。
CN201910842285.6A 2019-09-06 2019-09-06 云主机部署方法及装置、计算机可存储介质 Active CN110851144B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910842285.6A CN110851144B (zh) 2019-09-06 2019-09-06 云主机部署方法及装置、计算机可存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910842285.6A CN110851144B (zh) 2019-09-06 2019-09-06 云主机部署方法及装置、计算机可存储介质

Publications (2)

Publication Number Publication Date
CN110851144A CN110851144A (zh) 2020-02-28
CN110851144B true CN110851144B (zh) 2023-09-29

Family

ID=69594859

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910842285.6A Active CN110851144B (zh) 2019-09-06 2019-09-06 云主机部署方法及装置、计算机可存储介质

Country Status (1)

Country Link
CN (1) CN110851144B (zh)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8271447B1 (en) * 2010-06-18 2012-09-18 Emc International Company Mirroring metadata in a continuous data protection environment
CN107357691A (zh) * 2016-05-09 2017-11-17 中兴通讯股份有限公司 镜像文件的处理方法及装置
CN107479888A (zh) * 2017-08-11 2017-12-15 携程旅游信息技术(上海)有限公司 操作系统镜像部署服务器方法、系统、设备及存储介质
CN108958927A (zh) * 2018-05-31 2018-12-07 康键信息技术(深圳)有限公司 容器应用的部署方法、装置、计算机设备和存储介质

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8271447B1 (en) * 2010-06-18 2012-09-18 Emc International Company Mirroring metadata in a continuous data protection environment
CN107357691A (zh) * 2016-05-09 2017-11-17 中兴通讯股份有限公司 镜像文件的处理方法及装置
CN107479888A (zh) * 2017-08-11 2017-12-15 携程旅游信息技术(上海)有限公司 操作系统镜像部署服务器方法、系统、设备及存储介质
CN108958927A (zh) * 2018-05-31 2018-12-07 康键信息技术(深圳)有限公司 容器应用的部署方法、装置、计算机设备和存储介质

Also Published As

Publication number Publication date
CN110851144A (zh) 2020-02-28

Similar Documents

Publication Publication Date Title
US11405274B2 (en) Managing virtual network functions
US11392400B2 (en) Enhanced migration of clusters based on data accessibility
CN108027724B (zh) 用于内核可加载模块的服务中升级的方法和装置
US8387045B2 (en) Cloning image creation using virtual machine environment
US10686755B2 (en) Assigning IP addresses and configuration parameters in hyper-converged infrastructure
US11922182B2 (en) Managing multi-single-tenant SaaS services
US20180260241A1 (en) Method and system of migrating applications to a cloud-computing environment
CN106873970B (zh) 一种操作系统的安装方法和装置
CN109656646B (zh) 一种远程桌面控制方法、装置、设备及虚拟化芯片
US20130311763A1 (en) Customizing operating systems
US9639340B2 (en) System and method of loading virtual machines
US20190303172A1 (en) Information processing apparatus, device assignment method, and computer readable medium
US10318343B2 (en) Migration methods and apparatuses for migrating virtual machine including locally stored and shared data
US10467078B2 (en) Crash dump extraction of guest failure
US20130074068A1 (en) Method, System, and Computer Program for Implementing a Customizable Virtual Appliance
KR102315102B1 (ko) 가상 머신을 부팅하기 위한 방법, 장치, 기기 및 매체
CN110851144B (zh) 云主机部署方法及装置、计算机可存储介质
CN103713952A (zh) 一种基于ufs的虚拟磁盘分布式存储方法
CN109120674B (zh) 大数据平台的部署方法及装置
CN109656674B (zh) 一种计算机设备、虚拟化芯片及数据传输方法
US11238015B2 (en) Instant hyper-v streaming
WO2019243953A1 (en) Reducing a test suite for re-testing configured instances in a production environment
US11340911B2 (en) Installing patches using a jail
US20220413887A1 (en) Recoverable container platform cluster for testing
US20230333870A1 (en) Orchestrated shutdown of virtual machines using a shutdown interface and a network card

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
GR01 Patent grant
GR01 Patent grant