CN111090498B - 虚拟机启动方法、装置、计算机可读存储介质及电子设备 - Google Patents
虚拟机启动方法、装置、计算机可读存储介质及电子设备 Download PDFInfo
- Publication number
- CN111090498B CN111090498B CN201911284437.1A CN201911284437A CN111090498B CN 111090498 B CN111090498 B CN 111090498B CN 201911284437 A CN201911284437 A CN 201911284437A CN 111090498 B CN111090498 B CN 111090498B
- Authority
- CN
- China
- Prior art keywords
- storage
- request
- virtual machine
- storage cluster
- component
- 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
Links
- 238000003860 storage Methods 0.000 title claims abstract description 683
- 238000000034 method Methods 0.000 title claims abstract description 88
- 230000004044 response Effects 0.000 claims abstract description 22
- 238000012546 transfer Methods 0.000 claims abstract description 14
- 230000005012 migration Effects 0.000 claims description 13
- 238000013508 migration Methods 0.000 claims description 13
- 239000000835 fiber Substances 0.000 claims description 9
- 238000004590 computer program Methods 0.000 claims description 8
- 238000004364 calculation method Methods 0.000 claims description 2
- 238000010276 construction Methods 0.000 claims description 2
- 238000005516 engineering process Methods 0.000 abstract description 14
- 230000005540 biological transmission Effects 0.000 abstract description 3
- 239000003818 cinder Substances 0.000 description 44
- 238000010586 diagram Methods 0.000 description 33
- 238000007726 management method Methods 0.000 description 21
- YMHOBZXQZVXHBM-UHFFFAOYSA-N 2,5-dimethoxy-4-bromophenethylamine Chemical compound COC1=CC(CCN)=C(OC)C=C1Br YMHOBZXQZVXHBM-UHFFFAOYSA-N 0.000 description 20
- 241000545067 Venus Species 0.000 description 20
- 230000006870 function Effects 0.000 description 13
- 238000012545 processing Methods 0.000 description 11
- 230000008569 process Effects 0.000 description 10
- 238000004891 communication Methods 0.000 description 9
- 230000015654 memory Effects 0.000 description 6
- 238000011161 development Methods 0.000 description 5
- 239000002071 nanotube Substances 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 4
- 238000012544 monitoring process Methods 0.000 description 3
- 239000007787 solid Substances 0.000 description 3
- 230000001960 triggered effect Effects 0.000 description 3
- 230000009471 action Effects 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 238000012423 maintenance Methods 0.000 description 2
- 230000006855 networking Effects 0.000 description 2
- 230000000644 propagated effect Effects 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 239000008186 active pharmaceutical agent Substances 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000002708 enhancing effect Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000001105 regulatory effect Effects 0.000 description 1
- 230000001052 transient effect Effects 0.000 description 1
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/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/45575—Starting, stopping, suspending or resuming virtual machine instances
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
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)
- Stored Programmes (AREA)
Abstract
本公开的实施例提供了一种虚拟机启动方法、装置、计算机可读存储介质及电子设备,属于计算机技术领域。该方法包括:响应于对第一创建类型控件的第一操作指令,确定第一目标存储集群的存储类型;生成基于基础镜像创建第一虚拟机的系统盘的第一请求,所述第一请求携带所述第一目标存储集群的存储类型;将所述第一请求发送至云平台的网关层,以便于将所述第一目标存储集群的存储类型通过所述云平台的计算组件传递至其存储组件,通过所述存储组件在所述第一目标存储集群中创建所述第一虚拟机的系统盘的块设备,以实现所述第一虚拟机的启动。本公开实施例的技术方案利用块存储技术,能够通过存储集群特性的传递来实现多后端存储集群的管理。
Description
技术领域
本公开涉及计算机技术领域,具体而言,涉及一种虚拟机启动方法、装置、计算机可读存储介质及电子设备。
背景技术
云技术(Cloud technology)是指在广域网或局域网内将硬件、软件、网络等系列资源统一起来,实现数据的计算、储存、处理和共享的一种托管技术。
云技术是基于云计算商业模式应用的网络技术、信息技术、整合技术、管理平台技术、应用技术等的总称,可以组成资源池,按需所用,灵活便利。云计算技术将变成重要支撑。技术网络系统的后台服务需要大量的计算、存储资源,如视频网站、图片类网站和更多的门户网站。伴随着互联网行业的高度发展和应用,将来每个物品都有可能存在自己的识别标志,都需要传输到后台系统进行逻辑处理,不同程度级别的数据将会分开处理,各类行业数据皆需要强大的系统后盾支撑,只能通过云计算来实现。
云存储(cloud storage)是在云计算概念上延伸和发展出来的一个新的概念,分布式云存储系统(以下简称存储系统)是指通过集群应用、网格技术以及分布存储文件系统等功能,将网络中大量各种不同类型的存储设备(存储设备也称之为存储节点)通过应用软件或应用接口集合起来协同工作,共同对外提供数据存储和业务访问功能的一个存储系统。
相关技术中,虚拟机无论采用镜像启动还是卷启动,均不支持多后端存储集群。
需要说明的是,在上述背景技术部分公开的信息仅用于加强对本公开的背景的理解。
发明内容
本公开实施例的目的在于提供一种虚拟机启动方法、装置、计算机可读存储介质及电子设备,进而至少在一定程度上克服相关技术中存在的不支持多后端存储集群的问题。
本公开的其他特性和优点将通过下面的详细描述变得显然,或部分地通过本公开的实践而习得。
根据本公开实施例的一方面,提供了一种虚拟机启动方法,包括:响应于对第一创建类型控件的第一操作指令,确定第一目标存储集群的存储类型;生成基于基础镜像创建第一虚拟机的系统盘的第一请求,所述第一请求携带所述第一目标存储集群的存储类型;将所述第一请求发送至云平台的网关层,以便于将所述第一目标存储集群的存储类型通过所述云平台的计算组件传递至其存储组件,通过所述存储组件在所述第一目标存储集群中创建所述第一虚拟机的系统盘的块设备,以实现所述第一虚拟机的启动。
根据本公开实施例的一方面,提供了一种虚拟机启动方法,包括:通过云平台的计算组件获取第一目标存储集群的存储类型;在所述第一目标存储集群中创建基于基础镜像的第一虚拟机的系统盘的块设备,以实现所述第一虚拟机的启动。
根据本公开实施例的一方面,提供了一种虚拟机启动装置,包括:存储集群确定单元,用于响应于对第一创建类型控件的第一操作指令,确定第一目标存储集群的存储类型;第一请求生成单元,用于生成基于基础镜像创建第一虚拟机的系统盘的第一请求,所述第一请求携带所述第一目标存储集群的存储类型;第一请求发送单元,用于将所述第一请求发送至云平台的网关层,以便于将所述第一目标存储集群的存储类型通过所述云平台的计算组件传递至其存储组件,通过所述存储组件在所述第一目标存储集群中创建所述第一虚拟机的系统盘的块设备,以实现所述第一虚拟机的启动。
根据本公开实施例的一方面,提供了一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时实现如上述实施例中所述的虚拟机启动方法。
根据本公开实施例的一方面,提供了一种电子设备,包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现如上述实施例中所述的虚拟机启动方法。
在本公开的一些实施例所提供的技术方案中,通过云平台的计算组件,将用户指定的第一目标存储集群的存储类型传递至该云平台的存储组件,从而使得该存储组件能够将基于基础镜像的第一虚拟机的系统盘的块设备(即通常所说的“卷”)创建于该第一目标存储集群上,即能够实现从卷启动虚拟机的多后端存储集群的管理和支持,且能够根据用户需求,将第一虚拟机的系统盘创建到指定的第一目标存储集群上,使云平台能够纳管多个后端存储集群,使虚拟机能运行在不同的后端存储集群中,云平台在多厂商环境下也可以适应,即可以使用一套统一的云平台来管理多个不同的后端存储集群。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。在附图中:
图1示意性示出了相关技术中的云平台中虚拟机启动的示意图;
图2示意性示出了相关技术中的镜像启动虚拟机的示意图;
图3示意性示出了相关技术中的卷启动虚拟机的示意图;
图4示意性示出了根据本公开的一实施例的云平台的结构示意图;
图5示意性示出了根据本公开的一实施例的虚拟机启动方法的流程图;
图6示意性示出了根据本公开的一实施例的虚拟机系统盘多后端卷启动的示意图;
图7示意性示出了根据本公开的另一实施例的虚拟机启动方法的流程图;
图8示意性示出了根据本公开的一实施例的云平台的自助平台获取多后端存储类型的示意图;
图9示意性示出了根据本公开的一实施例的云平台的自助平台下发后端存储类型的示意图;
图10示意性示出了根据本公开的一实施例的后端存储类型下发的时序图;
图11示意性示出了根据本公开的又一实施例的虚拟机启动方法的流程图;
图12示意性示出了根据本公开的一实施例的虚拟机数据盘多后端创建的示意图;
图13示意性示出了根据本公开的再一实施例的虚拟机启动方法的流程图;
图14示意性示出了根据本公开的一实施例的基于用户镜像启动第二虚拟机的示意图;
图15示意性示出了根据本公开的一实施例的基于用户镜像创建第二虚拟机的系统盘的示意图;
图16示意性示出了根据本公开的一实施例的卷拷贝迁移的示意图;
图17示意性示出了根据本公开的再一实施例的虚拟机启动方法的流程图;
图18示出了图17中所示的步骤S1720在一实施例中的处理过程示意图;
图19示意性示出了根据本公开的再一实施例的虚拟机启动方法的流程图;
图20示意性示出了根据本公开的再一实施例的虚拟机启动方法的流程图;
图21示意性示出了根据本公开的再一实施例的虚拟机启动方法的流程图;
图22示意性示出了根据本公开的再一实施例的虚拟机启动方法的流程图;
图23示出了图22中所示的步骤S2250在一实施例中的处理过程示意图;
图24示意性示出了根据本公开的一实施例的虚拟机启动装置的框图。
具体实施方式
现在将参考附图更全面地描述示例实施方式。然而,示例实施方式能够以多种形式实施,且不应被理解为限于在此阐述的范例;相反,提供这些实施方式使得本公开将更加全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。
此外,所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施例中。在下面的描述中,提供许多具体细节从而给出对本公开的实施例的充分理解。然而,本领域技术人员将意识到,可以实践本公开的技术方案而没有特定细节中的一个或更多,或者可以采用其它的方法、组元、装置、步骤等。在其它情况下,不详细示出或描述公知方法、装置、实现或者操作以避免模糊本公开的各方面。
附图中所示的方框图仅仅是功能实体,不一定必须与物理上独立的实体相对应。即,可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
附图中所示的流程图仅是示例性说明,不是必须包括所有的内容和操作/步骤,也不是必须按所描述的顺序执行。例如,有的操作/步骤还可以分解,而有的操作/步骤可以合并或部分合并,因此实际执行的顺序有可能根据实际情况改变。
本公开实施例提供了可以应用下述实施例的虚拟机启动方法或虚拟机启动装置的示例性系统架构。系统架构可以包括终端设备、网络和服务器。网络用以在终端设备和服务器之间提供通信链路的介质。网络可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。根据实现需要,可以具有任意数目的终端设备、网络和服务器。
服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN(Content Delivery Network,内容分发网络)、以及大数据和人工智能平台等基础云计算服务的云服务器。
终端可以是智能手机、平板电脑、笔记本电脑、台式计算机、智能音箱、智能手表等,但并不局限于此。终端以及服务器可以通过有线或无线通信方式进行直接或间接地连接,本申请在此不做限制。
本公开实施例还提供了适于用来实现下述实施例的电子设备的计算机系统的结构示意图。
需要说明的是,这里给出的电子设备的计算机系统仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
计算机系统包括中央处理单元(Central Processing Unit,CPU),其可以根据存储在只读存储器(Read-Only Memory,ROM)中的程序或者从存储部分加载到随机访问存储器(Random Access Memory,RAM)中的程序而执行各种适当的动作和处理。在RAM中,还存储有系统操作所需的各种程序和数据。CPU、ROM以及RAM通过总线彼此相连。输入/输出(I/O)接口也连接至总线。
以下部件连接至I/O接口:包括键盘、鼠标等的输入部分;包括诸如阴极射线管(Cathode Ray Tube,CRT)、液晶显示器(Liquid Crystal Display,LCD)等以及扬声器等的输出部分;包括硬盘等的存储部分;以及包括诸如LAN(Local Area Network,局域网)卡、调制解调器等的网络接口卡的通信部分。通信部分经由诸如因特网的网络执行通信处理。驱动器也根据需要连接至I/O接口。可拆卸介质,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器上,以便于从其上读出的计算机程序根据需要被安装入存储部分。
特别地,根据本公开的实施例,下文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在计算机可读存储介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分从网络上被下载和安装,和/或从可拆卸介质被安装。在该计算机程序被中央处理单元(CPU)执行时,执行本申请的系统中限定的各种功能。
需要说明的是,本公开所示的计算机可读存储介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本公开中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读存储介质,该计算机可读存储介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读存储介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、RF等等,或者上述的任意合适的组合。
附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本公开实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现,所描述的单元也可以设置在处理器中。其中,这些单元的名称在某种情况下并不构成对该单元本身的限定。
作为另一方面,本申请还提供了一种计算机可读存储介质,该计算机可读存储介质可以是上述实施例中描述的电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。上述计算机可读存储介质承载有一个或者多个程序,当上述一个或者多个程序被一个该电子设备执行时,使得该电子设备实现如下述实施例中所述的方法。例如,所述的电子设备可以实现如图5或图7或图11或图13或图17或图18或图19或图20或图21或图22或图23所示的各个步骤。
目前,存储系统的存储方法为:创建逻辑卷,在创建逻辑卷时,就为每个逻辑卷分配物理存储空间,该物理存储空间可能是某个存储设备或者某几个存储设备的磁盘组成。客户端在某一逻辑卷上存储数据,也就是将数据存储在文件系统上,文件系统将数据分成许多部分,每一部分是一个对象,对象不仅包含数据而且还包含数据标识(indentification,ID,ID entity)等额外的信息,文件系统将每个对象分别写入该逻辑卷的物理存储空间,且文件系统会记录每个对象的存储位置信息,从而当客户端请求访问数据时,文件系统能够根据每个对象的存储位置信息让客户端对数据进行访问。
存储系统为逻辑卷分配物理存储空间的过程,具体为:按照对存储于逻辑卷的对象的容量估量(该估量往往相对于实际要存储的对象的容量有很大余量)和独立冗余磁盘阵列(RAID,Redundant Array ofIndependent Disk)的组别,预先将物理存储空间划分成分条,一个逻辑卷可以理解为一个分条,从而为逻辑卷分配了物理存储空间。
私有云(Private Cloud)是将云基础设施与软硬件资源创建在防火墙内,以供机构或企业内各部门共享数据中心内的资源。创建私有云,除了硬件资源外,一般还有云设备(IaaS,Infrastructure as a Service,基础设施即服务)软件。
私有云计算同样包含云硬件、云平台、云服务三个层次。不同的是,云硬件是用户自己的个人电脑或服务器,而非云计算厂商的数据中心。云计算厂商构建数据中心的目的是为千百万用户提供公共云服务,因此需要拥有几十上百万台服务器。私有云计算,对个人来说只服务于亲朋好友,对企业来说只服务于本企业员工以及本企业的客户和供应商,因此个人或企业自己的个人电脑或服务器已经足够用来提供云服务。
公有云(Public Cloud)通常指第三方提供商为用户提供的能够使用的云,公有云一般可通过Internet使用,可能是免费或成本低廉的,公有云的核心属性是共享资源服务。这种云有许多实例,可在当今整个开放的公有网络中提供服务。
混合云(Hybrid Cloud)融合了公有云和私有云,是近年来云计算的主要模式和发展方向。私有云主要是面向企业用户,出于安全考虑,企业更愿意将数据存放在私有云中,但是同时又希望可以获得公有云的计算资源,在这种情况下混合云被越来越多的采用,它将公有云和私有云进行混合和匹配,以获得最佳的效果,这种个性化的解决方案,达到了既省钱又安全的目的。
相关技术中,在私有云环境中,虚拟机的数据盘和系统盘一般都使用云存储提供的块设备(也就是一般所说的卷)提供。相关技术中的云平台对云存储的使用面临如下两个难点:
第一,一般的私有云用户,比如一些政企对私有云平台的采购,往往会使用多家厂商,例如采购了多种存储集群:Ceph(一个能同时提供对象、文件、块存储服务的分布式存储系统,以下将其存储类型称之为分布式存储集群)、IPsan(Internet Protocol StorageArea Network,基于IP的存储局域网,使用IP通道,把服务器与存储设备连接起来的技术,以下将其存储类型称之为基于网络构建的存储集群)、FCsan(Fiber Channel StorageArea Network,使用光纤通道,把服务器与存储设备连接起来的技术,以下将其存储类型称之为基于光纤通道构建的存储集群)等。但是使用一套统一的云平台进行管理,也就是一套私有云平台要能够管理多个不同类型的后端存储系统,并且要求能够根据用户需求,将虚拟机的卷创建到不同类型的后端存储系统中。这个困难的本质是私有云平台要能纳管多种类型的存储集群,使虚拟机能运行在不同的后端上。
第二,云平台一般允许用户通过基础虚拟机(以下称之为第一虚拟机或者VM1)创建用户镜像,用户镜像类似基础虚拟机某一时刻的快照,然后再使用这个用户镜像创建新虚拟机(以下称之为第二虚拟机或者VM2),但是新虚拟机只能创建到跟前面的基础虚拟机相同的后端存储集群上。
例如,用户上传一个基础镜像到OpenStack(是开源的IaaS管理平台),然后,基于该基础镜像创建一个基础虚拟机,基础虚拟机的系统盘假设使用了Ceph存储集群;则用户通过该基础虚拟机创建用户镜像,然后使用用户镜像创建一个新虚拟机,相关技术中,新虚拟机的系统盘所在的存储集群必须与基础虚拟机的一样,这里也必须创建在Ceph存储集群上。
这在产品使用上给用户带来了极大地不便,因为在用户看来用户镜像和普通镜像(即下文的基础镜像)是没有区别的。
图1示意性示出了相关技术中的云平台中虚拟机启动的示意图。
如图1所示,相关技术中,云平台的系统盘根据虚拟机启动方式不同而不同。虚拟机启动方式主要有两种:镜像启动和卷启动。根据镜像的不同,镜像启动和卷启动又分为秒起、非秒起、基于第一格式(例如qcow2格式)的启动和基于第二格式(例如raw格式)的启动,也就是说相关技术中虚拟机启动具有多样性。
其中,秒起是指创建虚拟机的时间在秒级别,很快,一般指通过存储集群内部的快照等技术创建系统盘。非秒起指创建虚拟机慢。qcow2格式的启动是指镜像的格式是qcow2,qcow2镜像格式可以用一个文件的形式来表示一块固定大小的块设备磁盘。raw格式的启动是指镜像的格式是raw。raw格式是原始镜像,会直接当作一个块设备给虚拟机来使用。
镜像启动和卷启动的区别在于,镜像启动的虚拟机系统盘是计算组件例如OpenStack的Nova管理,卷启动的虚拟机系统盘是存储组件例如OpenStack的Cinder管理。
镜像启动的虚拟机就是nova管理系统盘,而nova是不支持多后端的,也就是如果使用镜像启动虚拟机是不能使用多后端,所以虚拟机调整启动方式。
图2示意性示出了相关技术中的镜像启动虚拟机的示意图。
如图2所示,相关技术中,Nova组件本身是不支持接多个后端存储集群的,Nova组件只支持单集群,这里以Ceph为例进行举例说明。即如果是镜像启动虚拟机,那虚拟机的系统盘由Nova管理,在Cinder中没有这个系统盘的卷的相关信息,而且Nova只能配置一个后端存储集群,不支持多后端管理,即相关技术中的云平台架构限制了对镜像启动支持多后端。
图3示意性示出了相关技术中的卷启动虚拟机的示意图。
如图3所示,从卷启动的虚拟机,系统盘的卷属于Cinder管理,在Cinder中有系统盘的卷的相关记录,虽然Cinder支持多后端管理,例如Ceph、IPsan和FCsan,但是Nova在创建系统盘的卷的时候不支持区分多种后端存储集群的存储类型,Nova不传集群特性至Cinder,只能选择一个默认存储集群,例如这里假设默认存储集群为Ceph。
由以上内容可知,相关技术中,系统盘无论是镜像启动还是卷启动,都不支持多后端。相关技术中的云平台对于虚拟机的多后端管理不可行,无论是镜像启动还是卷启动,在虚拟机启动时,都只支持一个后端,导致无法纳管多个后端存储,使云平台在多厂商环境下无法适应。同理对于基于用户镜像创建的新虚拟机的启动的也无法使用多后端。
图4示意性示出了根据本公开的一实施例的云平台的结构示意图。
如图4所示,这里以基于OpenStack软件开发的一个云平台为例进行举例说明,是一个可以实现私有云或者混合云的基础软件。该云平台可以包括业务层、网关层和基础云层。
图4实施例中,第一层是业务层,主要包括用户可以直接操作的用户界面,例如其可以进一步包括自助平台、监控平台和运维平台。自助平台是提供给用户用来申请资源的界面,如下图6和12所示。自助服务是IaaS的一个特性,能让用户通过一个自助平台获得资源,如服务器和网络,而无需依赖IT(Internet Technology,互联网技术)人员为用户提供这些资源。监控平台是用于监控整个云平台的全部资源使用情况的界面。运维平台是云平台的管理员操作的界面,例如管理员可以在上面做一些宿主机的迁移等操作。
继续参考图4,第二层是网关层,主要包括资源提供接口(Venus)、网络系统(IP系统)、鉴权模块和DB(database,数据库)。其中,Venus提供统一的云平台资源接口,例如提供创建虚拟机、申请网络等资源的接口。IP系统用于管理IP等网络资源。鉴权模块例如可以采用RBAC(Role-Based Access Control,基于角色的访问控制),即权限与角色相关联,用户通过成为适当角色的成员而得到这些角色的权限。这样权限赋予给角色,而把角色又赋予用户,这样的权限设计很清楚,管理起来很方便。
继续参考图4,第三层是基础云层,主要是基于开源的OpenStack提供IaaS服务,基础云层主要包括计算组件(Nova,主要管理虚拟机的生命周期)和存储组件(Cinder,主要用来管理云硬盘的生命周期)。
块存储是虚拟基础架构中必不可少的组件,是存储虚拟机镜像文件及虚拟机使用的数据的基础。VM(Virtual Machine,虚拟机)镜像是短暂的,它们的存储只维持在那台虚拟机的生命周期。Cinder提供对块存储的管理支持,通过使用协议提供后端连接,展现给Nova。Cinder接口提供了一些标准功能,允许创建和附加块设备到虚拟机,如“创建卷”,“删除卷”和“附加卷”。
需要说明的是,这里以Cinder支持Ceph、IPsan和FCsan为例来说明存储组件支持多后端管理,但本公开并不限定于此,可以根据实际需求设置Cinder支持的后端存储集群的存储类型。
本公开实施例中,统一从卷启动虚拟机。从卷启动虚拟机的好处之一在于,创建快照是通过调用Cinder,因而速度非常快。
基于上述问题,在本公开的一个实施例中提出了一种虚拟机启动方法,以对上述问题进行优化处理。具体参照图5所示,该虚拟机启动方法适用于前述实施例中所述的电子设备,并可以包括以下步骤。
在步骤S510中,响应于对第一创建类型控件的第一操作指令,确定第一目标存储集群的存储类型。
在示例性实施例中,第一目标存储集群的存储类型可以为分布式存储集群、基于网络构建的存储集群以及基于光纤通道构建的存储集群等中的任意一种。
具体的,上述每一种存储集群又可以分为更多的存储类型,以Ceph为例,又可以分为基于SSD(Solid State Disk或Solid State Drive,固态硬盘)的Ceph集群,基于HDD(Hard Disk Drive,硬盘驱动器)的Ceph集群等。这里仅用于举例说明,并不限定存储集群的数量及存储类型。
其中,当用户打开云平台的自助平台,想要申请资源创建第一虚拟机时,例如首先会出现如图6所示的用户界面,此时,界面上的创建类型及其对应的下拉菜单和下拉选择框内显示的可选的存储集群的存储类型作为第一创建类型控件,用户可以首先点击创建类型的下拉菜单,这里假设会在下拉选择框内显示Ceph、IPsan和FCsan三种可选的存储集群的存储类型,用户可以点击选择其中任意一种存储类型,这里假设用户选择了Ceph作为第一目标存储集群,此时触发对第一创建类型控件的第一操作指令,确定Ceph作为第一目标存储集群的存储类型。
在步骤S520中,生成基于基础镜像创建第一虚拟机的系统盘的第一请求,所述第一请求携带所述第一目标存储集群的存储类型。
还是以图6为例,用户在自助平台申请资源创建第一虚拟机,当用户选择好Ceph作为第一目标存储集群后,其继续点击下方的立即申请虚拟按键,会触发生成第一请求,第一请求中包括了Ceph的存储类型。
本公开实施例中,虚拟机指通过软件模拟的具有完整硬件系统功能的、运行在一个完全隔离环境中的完整计算机系统。这里的第一虚拟机是指基于基础镜像创建的基础虚拟机。
本公开实施例中,镜像是一种文件存储形式,是冗余的一种类型,一个磁盘上的数据在另一个磁盘上存在一个完全相同的副本即为镜像。基础镜像是指用户上传至例如OpenStack的镜像。
本公开实施例中,虚拟机的系统盘随云服务器一起创建,随着云服务器一起释放,生命周期与系统盘所挂载的云服务器实例相同。云服务器更换操作系统是通过更换系统盘来实现的,更换操作系统后系统盘原来的数据丢失。而虚拟机的数据盘可以和云服务器一起创建,也可以单独创建数据盘。云服务器更换操作系统,数据盘的内容不会丢失,但需要重新挂载。
在步骤S530中,将所述第一请求发送至云平台的网关层,以便于将所述第一目标存储集群的存储类型通过所述云平台的计算组件传递至其存储组件,通过所述存储组件在所述第一目标存储集群中创建所述第一虚拟机的系统盘的块设备,以实现所述第一虚拟机的启动。
相关技术中,在Venus调用OpenStack的Nova组件创建虚拟机的时候,提供了多种方式创建,例如镜像启动、卷启动等,本公开实施例中统一使用卷启动虚拟机。
例如,将第一请求通过RESTful API(Application Programming Interface,应用程序接口)发送至Venus,Venus接收到第一请求之后,通过RBAC进行用户鉴权,若鉴权通过,则可以到IP系统中申请IP地址,然后构造卷启动虚拟机的请求(即下文中的第七请求)发送到Nova,Nova基于卷启动虚拟机的请求构建第六请求,通过RESTful API将第六请求发送至Cinder,从而实现基于第一请求将Ceph的存储类型通过Nova传递至Cinder,Cinder在Ceph中创建第一虚拟机的系统盘的块设备,然后可以基于该第一虚拟机的系统盘的块设备创建第一虚拟机。
其中,REST即表述性状态传递(Representational State Transfer,简称REST),是一种软件架构风格。它是一种针对网络应用的设计和开发方式,可以降低开发的复杂性,提高系统的可伸缩性。OpenStack的各个服务之间通过统一的REST风格的API调用,实现系统的松耦合。通过基于REST的API公开系统资源是一种灵活的方法,可以为不同种类的应用程序提供以标准方式格式化的数据。
其中,块设备是I/O设备中的一类,是将信息存储在固定大小的块中,每个块都有自己的地址,数据块的大小通常在512字节到32768字节之间,还可以在设备的任意位置读取一定长度的数据,例如硬盘,U盘等。块设备的基本特征是每个块都能独立于其它块而读写。磁盘是一种块设备。
本公开实施方式提供的虚拟机启动方法,通过云平台的计算组件,将用户指定的第一目标存储集群的存储类型传递至该云平台的存储组件,从而使得该存储组件能够将基于基础镜像的第一虚拟机的系统盘的块设备(卷)创建于该第一目标存储集群上,即能够实现从卷启动虚拟机的多后端存储集群的管理和支持,且能够根据用户需求,将第一虚拟机的系统盘创建到指定的第一目标存储集群上,使云平台能够纳管多个后端存储集群,使虚拟机能运行在不同的后端存储集群中,云平台在多厂商环境下也可以适应,即可以使用一套统一的云平台来管理多个不同的后端存储集群。
图6示意性示出了根据本公开的一实施例的虚拟机系统盘多后端卷启动的示意图。
如图6所示,在申请资源创建虚拟机的系统盘的过程中,除了上述例举的选择创建类型以外,还可以选择其他用于创建虚拟机的信息,例如业务类型(这里以选择IT为例),机房位置(这里假设在区域1即RegionOne),AZ假设为az01,机型假设为VD-1,创建方式为卷,系统类型,操作系统、IP协议(假设选择了IPv4),网络类型(假设选择了基础网络),分配IP方式(假设选择了指定子网)。其中,IPv4(Internet Protocol version 4,网际协议版本4),又称互联网通信协议第四版,是网际协议开发过程中的第四个修订版本,其后继版本为IPv6。Devnet是Developer Networks即开发者社区的缩写。
图7示意性示出了根据本公开的另一实施例的虚拟机启动方法的流程图。
如图7所示,与上述实施例的不同之处在于,本公开实施例提供的方法还可以进一步包括以下步骤。
在步骤S710中,响应于对所述第一创建类型控件的第二操作指令,生成第二请求。
还是以图6为例,第二操作指令例如可以是用户点击创建类型的下拉菜单,此时会自动触发生成第二请求。
在步骤S720中,将所述第二请求发送至所述网关层,以便于所述网关层基于所述第二请求生成第三请求,并将所述第三请求发送至所述存储组件。
例如,将第二请求发送至Venus,Venus会基于第二请求构造发送至Cinder的第三请求。
在步骤S730中,接收所述存储组件管理的存储集群的存储类型,显示于所述第一创建类型控件中,其中所述存储集群的存储类型是所述存储组件响应于所述第三请求返回的。
例如,当Cinder接收到第三请求后,其会基于第三请求查找自身的数据库,以获取其管理的多个存储集群的存储类型信息返回至Venus,通过Venus再返回至自助平台,显示于如图6所示的创建类型的下拉选择框中。
这里在Nova组件通知Cinder组件创建第一虚拟机的系统盘时,Cinder组件需要根据多后端选择的第一目标存储集群来创建第一虚拟机的系统盘,即需要Nova组件向Cinder组件传递用户所选择的后端存储集群的存储类型。
其中,Cinder组件通过给每一个后端存储集群设置一个存储类型(type),来对每个存储集群加以区分,然后根据第六请求中传入的类型(即用户在图6所示界面中的创建类型的下拉选择框中所选择的第一目标存储集群的存储类型)跟Cinder组件接的每个后端存储集群所属的存储类型进行匹配,就调度到了指定的后端存储集群。下面通过图8和9介绍一下云平台的后端存储集群的存储类型type如何获取以及指定的后端存储集群的存储类型如何传递。
如图8所示,为云平台的自助平台获取该云平台纳管的多个存储集群的存储类型的模块交互图,其可以包括以下步骤:
第一步,用户在自助平台上创建第一虚拟机的系统盘时,点击如图6所示的创建类型的下拉菜单,自动触发第二请求,自助平台通过RESTful API将第二请求发送至Venus。
第二步,Venus根据自助平台发送过来的第二请求构造成发送给Cinder的第三请求。
第三步,Cinder接收到第三请求之后,通过查找自身的数据库把所有的后端存储集群的存储类型返回给Venus,Venus再返回给自助平台。
这样,通过这个流程云平台的自助平台就获取到了其纳管的所有后端存储集群的存储类型,例如Ceph、IPsan或者FCsan等。
图9示意性示出了根据本公开的一实施例的云平台的自助平台下发后端存储类型的示意图。
如图9所示,在云平台的自助平台获取到所有后端存储集群的存储类型之后,用户点击选择一个指定的存储类型作为第一目标存储集群,作为创建第一虚拟机的后端存储集群,假设选择了Ceph,则自助平台将Ceph的存储类型下发给Venus,Venus再下发给Nova,Nova再发送给Cinder,Cinder根据Ceph的存储类型匹配到分布式存储集群。
图10示意性示出了根据本公开的一实施例的后端存储类型下发的时序图。
如图10所示,以第一目标存储集群为Ceph为例,可以包括以下步骤:
自助平台向资源提供接口传递Ceph类型,资源提供接口构造含有Ceph类型的虚拟机创建请求并发送给计算组件,计算组件传递Ceph类型至存储组件的存储接口,以创建系统盘,存储接口传递给存储调度器,存储调度器根据Ceph类型进行后端存储类型匹配,匹配到Ceph所在的存储卷组件,之后原路返回至自助平台。
第一步,自助平台带着用户所选择的后端存储集群的存储类型例如Ceph通过RESTful API发送到Venus。
第二步,Venus根据自助平台发过来的第一请求,构造带有用户所选择的后端存储集群的存储类型例如Ceph的卷启动虚拟机请求即第七请求,发送给Nova组件。
第三步,Nova根据第七请求构造携带用户所选择的后端存储集群的存储类型例如Ceph的第六请求,发送给Cinder组件的Cinder-api(存储接口)。
第四步,Cinder-api通过RPC(Remote Procedure Call,远程过程调用)远程调用Cinder组件的Cinder-schduler(存储调度器),通过用户所选择的后端存储集群的存储类型匹配到Ceph所在的Cinder组件的Cinder-volume组件(存储卷组件)。
第五步,Cinder-volume组件调用Ceph集群的接口创建块设备,即创建第一虚拟机的系统盘的卷。
本公开实施方式提供的虚拟机启动方法,从云平台支持镜像启动和卷启动虚拟机,调整为统一从卷启动虚拟机,打通了Nova至Cinder之间的多后端存储集群特性的传递。卷启动虚拟机的系统盘是Cinder管理,不同管理者对虚拟机功能的影响很大,因为Nova管理系统盘可以理解成虚拟化管理,Cinder管理系统盘可以理解是存储管理,这样对于以后虚拟机的快照、迁移等这些功能的区别很大。Nova管理的系统盘在创建快照的时候,会对系统盘进行一个全量的拷贝,因为Nova代表的是计算,计算的话只能拷贝,而系统盘是文件,拷贝文件是一个耗时的操作。而Cinder代表的是存储,卷启动的虚拟机的系统盘可以交给Cinder后端接的存储集群去做快照,可以实现秒级快照,实际上是把创建系统盘交给Cinder,Nova作为创建虚拟机的总入口。这就实现了既安全又快速。
图11示意性示出了根据本公开的又一实施例的虚拟机启动方法的流程图。如图11所示,与上述实施例的不同之处在于,本公开实施例提供的方法还可以进一步包括以下步骤。
在步骤S1110中,响应于对第二创建类型控件的第三操作指令,确定第二目标存储集群的存储类型。
当创建完第一虚拟机的系统盘后,用户可以选择继续创建第一虚拟机的数据盘,此时可以打开如图12所示的用户界面,此时图12中的创建类型及其下拉菜单和下拉选择框内可以作为第二创建类型控件。用户可以在第二创建类型控件的下拉选择框中显示的多个存储集群中选择任意一个作为第二目标存储集群,这里以第二目标存储集群与第一目标存储集群相同均为Ceph为例进行举例说明,但本公开并不限定于此,系统盘和数据盘可以创建于同一个存储集群上,也可以创建于不同的存储集群上。
在步骤S1120中,生成创建所述第一虚拟机的数据盘的第四请求,所述第四请求携带所述第二目标存储集群的存储类型。
如图12所示,当用户点击立即申请虚拟按键后,会触发生成第四请求。
在步骤S1130中,将所述第四请求发送至所述网关层,以便于将所述第二目标存储集群的存储类型通过所述计算组件传递给所述存储组件,通过所述存储组件在所述第二目标存储集群中创建所述第一虚拟机的数据盘的块设备。
将第四请求发送至Venus,将第二目标存储集群的存储类型通过Nova传递给Cinder,具体的下发过程可以参考第一目标存储集群的存储类型的下发过程,然后,Cinder组件可以在其管理的多个存储集群中进行匹配,例如匹配到Ceph,则在Ceph上创建第一虚拟机的数据盘的卷。
图12示意性示出了根据本公开的一实施例的虚拟机数据盘多后端创建的示意图。
如图12所示,除了上述说明的选择第二目标存储集群的存储类型以外,还可以进行其他选择,以用于创建第一虚拟机的数据盘,例如存储容量(这里假设最大可用容量为500GB(Gigabyte,吉字节),最小可用容量为1GB,但本公开并不限定于此);付费类型,如包年包月或者按量计费;还可以选择时间和数量,填写用途说明等。
本公开实施方式提供的虚拟机启动方法,一方面,实现了用户可以在多个后端存储集群中,选择目标存储集群创建虚拟机,并使虚拟机的系统盘和数据盘创建在目标集群中,云平台的系统盘和数据盘均通过Cinder组件提供,Cinder组件是支持管理多后端存储集群的,可以通过设置不同的后端存储集群的存储类型进行调度区分,在产品上满足了虚拟机的多后端使用,填补了云平台虚拟机多后端操作的不足;另一方面,通过统一卷启动实现了系统盘和数据盘的同质管理。
通过上述实施例可以使虚拟机使用多后端存储集群,但是这个只能对于基础镜像启动的第一虚拟机有用,对于从第一虚拟机创建出来的用户镜像还不能使用多后端。相关技术中,从卷的快照创建卷,必须要求存储集群后端一致,也就是说不能快照在存储集群1,而从快照创建的卷在存储集群2。下面实施例介绍通过稀疏卷拷贝迁移来解决这个问题。这里稀疏的意思是指一个卷里面不一定每个地方都有数据,那这些没有数据的地方其实是不占空间的,类似一个空洞。
图13示意性示出了根据本公开的再一实施例的虚拟机启动方法的流程图。如图13所示,与上述实施例的不同之处在于,本公开实施例提供的方法还可以进一步包括以下步骤。
在步骤S1310中,响应于对第三创建类型控件的第四操作指令,确定第三目标存储集群的存储类型,所述第三目标存储集群与所述第一目标存储集群的存储类型不同。
第三创建类型控件、第四操作指令以及第三目标存储集群的确定可以参照如图6所示的用户界面,只是图6中用于创建第一虚拟机的系统盘,而此时变更为创建第二虚拟机的系统盘。
在创建第二虚拟机的系统盘时,所确定的第三目标存储集群的存储类型不同于第一目标存储集群的存储类型,例如第一目标存储集群假设为Ceph,第三目标存储集群假设为IPsan,但本公开并不限定于此。
在步骤S1320中,生成基于用户镜像创建第二虚拟机的系统盘的第五请求,所述第五请求携带所述第三目标存储集群的存储类型,所述用户镜像包括所述第一虚拟机的系统盘的快照标识。
当用户点击类似图6所示用户界面上的立即申请虚拟按键时,会触发生成第五请求。
这里的用户镜像也称用户自定义镜像,是从基础虚拟机创建出来的镜像。对于从卷启动的基础虚拟机,用户镜像是一个比较特殊的镜像,用户镜像的大小是0,用户镜像的元数据中记录了虚拟机各个盘(包括系统盘和数据盘)的快照id,也就是卷启动的用户虚拟机的用户镜像,其实是给基础虚拟机的每一个盘打了一个快照,用户镜像则记录了这些快照关系。
例如,如图14所示,虚拟机VM1假设为第一虚拟机,生成其系统盘的快照和数据盘的快照,基于虚拟机VM1创建用户镜像,用户镜像中的元数据1-系统盘:快照id,元数据2-数据盘:快照id,从用户镜像创建虚拟机VM2,根据虚拟机VM1的系统盘快照创建虚拟机VM2(假设为第二虚拟机)的系统盘的卷,从虚拟机VM1的数据盘快照创建虚拟机VM2的数据盘的卷。即从用户镜像卷启动创建新虚拟机时,则是从第一虚拟机所有盘的快照分别创建盘作为新虚拟机的对应盘。
在步骤S1330中,将所述第五请求发送至所述网关层,以便于将所述第三目标存储集群的存储类型通过所述计算组件传递至所述存储组件,所述存储组件基于所述第一虚拟机的系统盘的快照标识在所述第一目标存储集群中创建所述第二虚拟机的系统盘的块设备,并将所述第一目标存储集群中创建的所述第二虚拟机的系统盘的块设备中的数据迁移至所述第三目标存储集群中。
自助平台将第五请求发送至Venus,Venus将第三目标存储集群的存储类型例如IPsan通过Nova传递至Cinder,Cinder此时可以根据第一虚拟机的系统盘的快照id在例如Ceph上创建第二虚拟机的系统盘的卷,然后,再将Ceph中创建的第二虚拟机的系统盘的卷中的数据迁移至IPsan中。
例如,如图15所示,自助平台下发用户所选择的IPsan的存储类型至Venus,Venus再下发到Nova,Nova下发到Cinder,Cinder基于虚拟机VM1的系统盘快照在Ceph创建虚拟机VM2的系统盘的卷,再拷贝迁移至IPsan。这里使用稀疏卷拷贝迁移技术,先在同快照一样的后端存储集群上创建卷,然后对卷进行拷贝迁移到另一个后端存储集群上。
图16示意性示出了根据本公开的一实施例的卷拷贝迁移的示意图。
如图16所示,以第一目标存储集群为Ceph,第三目标存储集群为IPsan为例,且假设Ceph集群中创建的第二虚拟机的系统盘的块设备为原卷,IPsan集群中的第二虚拟机的系统盘的块设备为目的卷。可以包括以下步骤:
1、根据虚拟机VM1的系统盘的快照所在后端Ceph,创建属于同后端的虚拟机VM2的系统盘的卷,也就是同样在Ceph后端中。
2、在用户指定的后端IPsan中创建一个空的卷,大小和Ceph后端中虚拟机VM2的系统盘的卷相同。
3、按照4M(仅用于举例说明,本公开并不限定于此)大小的数据块顺序读取Ceph后端中虚拟机VM2的系统盘的卷的数据,然后再按顺序写入到IPsan中。
4、Ceph后端中虚拟机VM2的系统盘的卷的数据拷贝完之后,删除Ceph中虚拟机VM2的系统盘的卷,使用IPsan中的卷作为虚拟机VM2的系统盘进行虚拟机VM2启动。
虚拟机VM2的数据盘的创建过程可以参照虚拟机VM2的系统盘的创建过程。这样就实现了从用户镜像卷启动新虚拟机也支持多后端。
图17示意性示出了根据本公开的再一实施例的虚拟机启动方法的流程图。如图17所示,本公开实施例提供的方法可以包括以下步骤。
在步骤S1710中,通过云平台的计算组件获取第一目标存储集群的存储类型。
在步骤S1720中,在所述第一目标存储集群中创建基于基础镜像的第一虚拟机的系统盘的块设备,以实现所述第一虚拟机的启动。
具体实现可以参照上述实施例的内容。
图18示出了图17中所示的步骤S1720在一实施例中的处理过程示意图。本公开实施例中,所述云平台还可以包括存储组件,所述存储组件可以包括存储接口、存储调度器和存储卷组件。
如图18所示,本公开实施例中,上述步骤S1720可以进一步包括以下步骤。
在步骤S1721中,通过所述存储接口接收所述计算组件发送的第六请求,所述第六请求包括所述第一目标存储集群的存储类型。
在步骤S1722中,通过所述存储接口调用所述存储调度器,通过所述第六请求中的所述第一目标存储集群的存储类型匹配到所述第一目标存储集群所在的存储卷组件。
在步骤S1723中,通过所述第一目标存储集群所在的存储卷组件,调用所述第一目标存储集群的接口创建所述第一虚拟机的系统盘的块设备。
具体实现可以参照上述实施例的内容。
图19示意性示出了根据本公开的再一实施例的虚拟机启动方法的流程图。本公开实施例中,所述云平台还可以包括网关层,所述网关层可以包括资源提供接口、网络系统和鉴权模块。
如图19所示,与上述实施例的不同之处在于,本公开实施例提供的方法还可以进一步包括以下步骤。
在步骤S1910中,通过所述资源提供接口接收第一请求,所述第一请求包括所述第一目标存储集群的存储类型。
在步骤S1920中,通过所述资源提供接口调用所述鉴权模块对所述第一请求进行鉴权。
在步骤S1930中,鉴权成功后,通过所述资源提供接口向所述网络系统申请网络地址。
在步骤S1940中,所述资源提供接口基于所述第一请求构建第七请求,所述第七请求包括所述第一目标存储集群的存储类型和所述网络地址。
在步骤S1950中,所述资源提供接口向所述计算组件发送所述第七请求,以便于所述计算组件基于所述第七请求生成所述第六请求。
具体实现可以参照上述实施例的内容。
图20示意性示出了根据本公开的再一实施例的虚拟机启动方法的流程图。本公开实施例中,所述云平台还可以包括网络组件,例如Neutron组件。Neutron是OpenStack中提供网络服务的组件,基于软件定义网络的思想,实现软件化的网络资源管理。
如图20所示,与上述实施例的不同之处在于,本公开实施例提供的方法还可以进一步包括以下步骤。
在步骤S2010中,所述计算组件将所述第七请求中的网络地址发送至所述网络组件。
在步骤S2020中,所述网络组件根据所述网络地址创建虚拟网卡,以通过所述虚拟网卡绑定虚拟交换机。
在Nova调用Cinder创建完第一虚拟机的系统盘之后,Nova可以将第七请求中的IP地址传递给Neutron组件,基于所申请的IP地址创建一个虚拟网卡,通过虚拟网卡绑定虚拟交换机,可以实现联网功能。这样卷启动第一虚拟机就完成了。
图21示意性示出了根据本公开的再一实施例的虚拟机启动方法的流程图。如图21所示,与上述实施例的不同之处在于,本公开实施例提供的方法还可以进一步包括以下步骤。
在步骤S2110中,通过所述存储组件接收第三请求。
在步骤S2120中,所述存储组件响应于所述第三请求,查找其管理的存储集群的存储类型。
在步骤S2130中,所述存储组件将其管理的存储集群的存储类型返回至所述资源提供接口。
具体实现可以参照上述实施例的内容。
图22示意性示出了根据本公开的再一实施例的虚拟机启动方法的流程图。如图22所示,与上述实施例的不同之处在于,本公开实施例提供的方法还可以进一步包括以下步骤。
在步骤S2210中,生成所述第一虚拟机的系统盘的快照。
在步骤S2220中,基于所述第一虚拟机创建用户镜像,所述用户镜像包括所述第一虚拟机的系统盘的快照标识。
在步骤S2230中,通过所述计算组件获取第三目标存储集群的存储类型。
在步骤S2240中,基于所述第一虚拟机的系统盘的快照标识在所述第一目标存储集群中创建第二虚拟机的系统盘的块设备。
在步骤S2250中,将所述第一目标存储集群中创建的所述第二虚拟机的系统盘的块设备中的数据迁移至所述第三目标存储集群中。
具体实现可以参照上述实施例的内容。
图23示出了图22中所示的步骤S2250在一实施例中的处理过程示意图。
如图23所示,本公开实施例中,上述步骤S2250可以进一步包括以下步骤。
在步骤S2251中,在所述第三目标存储集群中创建一个空的块设备,所述空的块设备的大小和所述第一目标存储集群中所述第二虚拟机的系统盘的块设备的大小相同。
在步骤S2252中,按照预定大小的块,顺序读取所述第一目标存储集群中所述第二虚拟机的系统盘的块设备中的数据,按顺序写入所述空的块设备中。
在步骤S2253中,删除所述第一目标存储集群中所述第二虚拟机的系统盘的块设备中的数据。
在步骤S2254中,将所述第三目标存储集群中写入所述第一目标存储集群中所述第二虚拟机的系统盘的块设备中的数据的块设备,作为所述第二虚拟机的系统盘。
具体实现可以参照上述实施例的内容。
本公开实施方式提供的虚拟机启动方法,调整云平台虚拟机的启动方式,统一虚拟机的启动方式从卷启动,实现了虚拟机启动的多样性到单一性,同时,实现了多后端存储集群的存储类型从计算组件到存储组件的传递,从而可以实现通过一套统一的云平台来管理多个存储集群。此外,还使用卷拷贝迁移,来实现基于用户镜像的新虚拟机使用多后端存储集群。提升了云平台产品的适应性,能兼容纳管更多的存储集群,增加了产品的竞争力。
以下介绍本公开的装置实施例,可以用于执行本公开上述的虚拟机启动方法。对于本公开装置实施例中未披露的细节,请参照本公开上述的虚拟机启动方法的实施例。
图24示意性示出了根据本公开的一个实施例的虚拟机启动装置的框图。
参照图24所示,根据本公开的一个实施例的虚拟机启动装置2400可以包括:存储集群确定单元2410、第一请求生成单元2420以及第一请求发送单元2430。
具体地,存储集群确定单元2410可以用于响应于对第一创建类型控件的第一操作指令,确定第一目标存储集群的存储类型。第一请求生成单元2420可以用于生成基于基础镜像创建第一虚拟机的系统盘的第一请求,所述第一请求携带所述第一目标存储集群的存储类型。第一请求发送单元2430可以用于将所述第一请求发送至云平台的网关层,以便于将所述第一目标存储集群的存储类型通过所述云平台的计算组件传递至其存储组件,通过所述存储组件在所述第一目标存储集群中创建所述第一虚拟机的系统盘的块设备,以实现所述第一虚拟机的启动。
在示例性实施例中,虚拟机启动装置2400还可以包括:第二请求生成单元,可以用于响应于对所述第一创建类型控件的第二操作指令,生成第二请求;第三请求生成单元,可以用于将所述第二请求发送至所述网关层,以便于所述网关层基于所述第二请求生成第三请求,并将所述第三请求发送至所述存储组件;存储类型接收单元,可以用于接收所述存储组件管理的存储集群的存储类型,显示于所述第一创建类型控件中,其中所述存储集群的存储类型是所述存储组件响应于所述第三请求返回的。
在示例性实施例中,虚拟机启动装置2400还可以包括:第二存储类型确定单元,可以用于响应于对第二创建类型控件的第三操作指令,确定第二目标存储集群的存储类型;第四请求生成单元,可以用于生成创建所述第一虚拟机的数据盘的第四请求,所述第四请求携带所述第二目标存储集群的存储类型;第四请求发送单元,可以用于将所述第四请求发送至所述网关层,以便于将所述第二目标存储集群的存储类型通过所述计算组件传递给所述存储组件,通过所述存储组件在所述第二目标存储集群中创建所述第一虚拟机的数据盘的块设备。
在示例性实施例中,虚拟机启动装置2400还可以包括:第三存储类型确定单元,可以用于响应于对第三创建类型控件的第四操作指令,确定第三目标存储集群的存储类型,所述第三目标存储集群与所述第一目标存储集群的存储类型不同;第五请求生成单元,可以用于生成基于用户镜像创建第二虚拟机的系统盘的第五请求,所述第五请求携带所述第三目标存储集群的存储类型,所述用户镜像包括所述第一虚拟机的系统盘的快照标识;第五请求发送单元,可以用于将所述第五请求发送至所述网关层,以便于将所述第三目标存储集群的存储类型通过所述计算组件传递至所述存储组件,所述存储组件基于所述第一虚拟机的系统盘的快照标识在所述第一目标存储集群中创建所述第二虚拟机的系统盘的块设备,并将所述第一目标存储集群中创建的所述第二虚拟机的系统盘的块设备中的数据迁移至所述第三目标存储集群中。
在示例性实施例中,所述第一目标存储集群的存储类型可以为分布式存储集群、基于网络构建的存储集群以及基于光纤通道构建的存储集群等中的任意一种。
进一步的,本公开实施例还提供了另一种虚拟机启动装置,该虚拟机启动装置可以包括存储类型获取单元和第一系统盘创建单元。
其中,存储类型获取单元可以用于通过云平台的计算组件获取第一目标存储集群的存储类型。第一系统盘创建单元可以用于在所述第一目标存储集群中创建基于基础镜像的第一虚拟机的系统盘的块设备,以实现所述第一虚拟机的启动。
在示例性实施例中,所述云平台还可以包括存储组件,所述存储组件可以包括存储接口、存储调度器和存储卷组件。其中,第一系统盘创建单元可以包括:第六请求接收单元,可以用于通过所述存储接口接收所述计算组件发送的第六请求,所述第六请求包括所述第一目标存储集群的存储类型;存储卷组件匹配单元,可以用于通过所述存储接口调用所述存储调度器,通过所述第六请求中的所述第一目标存储集群的存储类型匹配到所述第一目标存储集群所在的存储卷组件;第一系统盘卷创建单元,可以用于通过所述第一目标存储集群所在的存储卷组件,调用所述第一目标存储集群的接口创建所述第一虚拟机的系统盘的块设备。
在示例性实施例中,所述云平台还可以包括网关层,所述网关层可以包括资源提供接口、网络系统和鉴权模块。该虚拟机启动装置还可以包括:第一请求接收单元,可以用于通过所述资源提供接口接收第一请求,所述第一请求包括所述第一目标存储集群的存储类型;第一请求鉴权单元,可以用于通过所述资源提供接口调用所述鉴权模块对所述第一请求进行鉴权;网络地址申请单元,可以用于鉴权成功后,通过所述资源提供接口向所述网络系统申请网络地址;第七请求构建单元,可以用于所述资源提供接口基于所述第一请求构建第七请求,所述第七请求包括所述第一目标存储集群的存储类型和所述网络地址;第七请求发送单元,可以用于所述资源提供接口向所述计算组件发送所述第七请求,以便于所述计算组件基于所述第七请求生成所述第六请求。
在示例性实施例中,所述云平台还可以包括网络组件。其中,在第一系统盘卷创建单元之后,该虚拟机启动装置还可以包括:网络地址发送单元,可以用于所述计算组件将所述第七请求中的网络地址发送至所述网络组件;虚拟网卡创建单元,可以用于所述网络组件根据所述网络地址创建虚拟网卡,以通过所述虚拟网卡绑定虚拟交换机。
在示例性实施例中,该虚拟机启动装置还可以包括:第三请求接收单元,可以用于通过所述存储组件接收第三请求;存储类型查找单元,可以用于所述存储组件响应于所述第三请求,查找其管理的存储集群的存储类型;存储类型返回单元,可以用于所述存储组件将其管理的存储集群的存储类型返回至所述资源提供接口。
在示例性实施例中,该虚拟机启动装置还可以包括:系统盘快照生成单元,可以用于生成所述第一虚拟机的系统盘的快照;用户镜像创建单元,可以用于基于所述第一虚拟机创建用户镜像,所述用户镜像包括所述第一虚拟机的系统盘的快照标识;第三存储集群类型获取单元,可以用于通过所述计算组件获取第三目标存储集群的存储类型;第二系统盘创建单元,可以用于基于所述第一虚拟机的系统盘的快照标识在所述第一目标存储集群中创建第二虚拟机的系统盘的块设备;数据迁移单元,可以用于将所述第一目标存储集群中创建的所述第二虚拟机的系统盘的块设备中的数据迁移至所述第三目标存储集群中。
在示例性实施例中,数据迁移单元可以包括:目的卷创建单元,可以用于在所述第三目标存储集群中创建一个空的块设备,所述空的块设备的大小和所述第一目标存储集群中所述第二虚拟机的系统盘的块设备的大小相同;卷数据迁移单元,可以用于按照预定大小的块,顺序读取所述第一目标存储集群中所述第二虚拟机的系统盘的块设备中的数据,按顺序写入所述空的块设备中;原卷数据删除单元,可以用于删除所述第一目标存储集群中所述第二虚拟机的系统盘的块设备中的数据;第二系统盘卷创建单元,可以用于将所述第三目标存储集群中写入所述第一目标存储集群中所述第二虚拟机的系统盘的块设备中的数据的块设备,作为所述第二虚拟机的系统盘。
应当注意,尽管在上文详细描述中提及了用于动作执行的设备的若干模块或者单元,但是这种划分并非强制性的。实际上,根据本公开的实施方式,上文描述的两个或更多模块或者单元的特征和功能可以在一个模块或者单元中具体化。反之,上文描述的一个模块或者单元的特征和功能可以进一步划分为由多个模块或者单元来具体化。
通过以上的实施方式的描述,本领域的技术人员易于理解,这里描述的示例实施方式可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本公开实施方式的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、触控终端、或者网络设备等)执行根据本公开实施方式的方法。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。
Claims (24)
1.一种虚拟机启动方法,其特征在于,包括:
响应于对第一创建类型控件的第二操作指令,生成第二请求;
将所述第二请求发送至云平台的网关层,以便于所述网关层基于所述第二请求生成第三请求,并将所述第三请求发送至所述云平台的存储组件;
接收所述存储组件管理的存储集群的存储类型,显示于所述第一创建类型控件中,其中所述存储集群的存储类型是所述存储组件响应于所述第三请求返回的;
响应于对所述第一创建类型控件的第一操作指令,确定第一目标存储集群的存储类型;
生成基于基础镜像创建第一虚拟机的系统盘的第一请求,所述第一请求携带所述第一目标存储集群的存储类型;
将所述第一请求发送至所述云平台的网关层,以便于将所述第一目标存储集群的存储类型通过所述云平台的计算组件传递至其存储组件,通过所述存储组件在所述第一目标存储集群中创建所述第一虚拟机的系统盘的块设备,以实现所述第一虚拟机的启动。
2.根据权利要求1所述的方法,其特征在于,还包括:
响应于对第二创建类型控件的第三操作指令,确定第二目标存储集群的存储类型;
生成创建所述第一虚拟机的数据盘的第四请求,所述第四请求携带所述第二目标存储集群的存储类型;
将所述第四请求发送至所述网关层,以便于将所述第二目标存储集群的存储类型通过所述计算组件传递给所述存储组件,通过所述存储组件在所述第二目标存储集群中创建所述第一虚拟机的数据盘的块设备。
3.根据权利要求1所述的方法,其特征在于,还包括:
响应于对第三创建类型控件的第四操作指令,确定第三目标存储集群的存储类型,所述第三目标存储集群与所述第一目标存储集群的存储类型不同;
生成基于用户镜像创建第二虚拟机的系统盘的第五请求,所述第五请求携带所述第三目标存储集群的存储类型,所述用户镜像包括所述第一虚拟机的系统盘的快照标识;
将所述第五请求发送至所述网关层,以便于将所述第三目标存储集群的存储类型通过所述计算组件传递至所述存储组件,所述存储组件基于所述第一虚拟机的系统盘的快照标识在所述第一目标存储集群中创建所述第二虚拟机的系统盘的块设备,并将所述第一目标存储集群中创建的所述第二虚拟机的系统盘的块设备中的数据迁移至所述第三目标存储集群中。
4.根据权利要求1所述的方法,其特征在于,所述第一目标存储集群的存储类型为分布式存储集群、基于网络构建的存储集群以及基于光纤通道构建的存储集群中的任意一种。
5.一种虚拟机启动方法,其特征在于,云平台包括网关层、计算组件和存储组件,所述存储组件包括存储卷组件;所述方法包括:
所述网关层接收第二请求,基于所述第二请求生成第三请求,并将所述第三请求发送至所述存储组件;
所述存储组件响应于所述第三请求,查找其管理的存储集群的存储类型;
所述存储组件将其管理的存储集群的存储类型返回至所述网关层;
所述计算组件从所述网关层获取第一目标存储集群的存储类型;
所述计算组件将所述第一目标存储集群的存储类型发送至所述存储组件;
所述存储组件根据所述第一目标存储集群的存储类型匹配到所述第一目标存储集群所在的存储卷组件;
通过所述第一目标存储集群所在的存储卷组件,调用所述第一目标存储集群的接口在所述第一目标存储集群中创建基于基础镜像的第一虚拟机的系统盘的块设备,以实现所述第一虚拟机的启动。
6.根据权利要求5所述的方法,其特征在于,所述存储组件还包括存储接口和存储调度器;其中,通过所述第一目标存储集群所在的存储卷组件,调用所述第一目标存储集群的接口在所述第一目标存储集群中创建基于基础镜像的基础虚拟机的系统盘的块设备,包括:
通过所述存储接口接收所述计算组件发送的第六请求,所述第六请求包括所述第一目标存储集群的存储类型;
通过所述存储接口调用所述存储调度器,通过所述第六请求中的所述第一目标存储集群的存储类型匹配到所述第一目标存储集群所在的存储卷组件;
通过所述第一目标存储集群所在的存储卷组件,调用所述第一目标存储集群的接口创建所述第一虚拟机的系统盘的块设备。
7.根据权利要求6所述的方法,其特征在于,所述网关层包括资源提供接口、网络系统和鉴权模块;所述计算组件从所述网关层获取第一目标存储集群的存储类型包括:
通过所述资源提供接口接收第一请求,所述第一请求包括所述第一目标存储集群的存储类型;
通过所述资源提供接口调用所述鉴权模块对所述第一请求进行鉴权;
鉴权成功后,通过所述资源提供接口向所述网络系统申请网络地址;
所述资源提供接口基于所述第一请求构建第七请求,所述第七请求包括所述第一目标存储集群的存储类型和所述网络地址;
所述资源提供接口向所述计算组件发送所述第七请求,以便于所述计算组件基于所述第七请求生成所述第六请求。
8.根据权利要求7所述的方法,其特征在于,所述云平台还包括网络组件;其中,在通过所述第一目标存储集群所在的存储卷组件,调用所述第一目标存储集群的接口创建所述第一虚拟机的系统盘的块设备之后,所述方法还包括:
所述计算组件将所述第七请求中的网络地址发送至所述网络组件;
所述网络组件根据所述网络地址创建虚拟网卡,以通过所述虚拟网卡绑定虚拟交换机。
9.根据权利要求7所述的方法,其特征在于,所述存储组件将其管理的存储集群的存储类型返回至所述网关层,包括:
所述存储组件将其管理的存储集群的存储类型返回至所述资源提供接口。
10.根据权利要求5所述的方法,其特征在于,还包括:
生成所述第一虚拟机的系统盘的快照;
基于所述第一虚拟机创建用户镜像,所述用户镜像包括所述第一虚拟机的系统盘的快照标识;
通过所述计算组件获取第三目标存储集群的存储类型;
基于所述第一虚拟机的系统盘的快照标识在所述第一目标存储集群中创建第二虚拟机的系统盘的块设备;
将所述第一目标存储集群中创建的所述第二虚拟机的系统盘的块设备中的数据迁移至所述第三目标存储集群中。
11.根据权利要求10所述的方法,其特征在于,将所述第一目标存储集群中创建的所述第二虚拟机的系统盘的块设备中的数据迁移至所述第三目标存储集群中,包括:
在所述第三目标存储集群中创建一个空的块设备,所述空的块设备的大小和所述第一目标存储集群中所述第二虚拟机的系统盘的块设备的大小相同;
按照预定大小的块,顺序读取所述第一目标存储集群中所述第二虚拟机的系统盘的块设备中的数据,按顺序写入所述空的块设备中;
删除所述第一目标存储集群中所述第二虚拟机的系统盘的块设备中的数据;
将所述第三目标存储集群中写入所述第一目标存储集群中所述第二虚拟机的系统盘的块设备中的数据的块设备,作为所述第二虚拟机的系统盘。
12.一种虚拟机启动装置,其特征在于,包括:
第二请求生成单元,用于响应于对第一创建类型控件的第二操作指令,生成第二请求;
第三请求生成单元,用于将所述第二请求发送至云平台的网关层,以便于所述网关层基于所述第二请求生成第三请求,并将所述第三请求发送至所述云平台的存储组件;
存储类型接收单元,用于接收所述存储组件管理的存储集群的存储类型,显示于所述第一创建类型控件中,其中所述存储集群的存储类型是所述存储组件响应于所述第三请求返回的;
存储集群确定单元,用于响应于对所述第一创建类型控件的第一操作指令,确定第一目标存储集群的存储类型;
第一请求生成单元,用于生成基于基础镜像创建第一虚拟机的系统盘的第一请求,所述第一请求携带所述第一目标存储集群的存储类型;
第一请求发送单元,用于将所述第一请求发送至所述云平台的网关层,以便于将所述第一目标存储集群的存储类型通过所述云平台的计算组件传递至其存储组件,通过所述存储组件在所述第一目标存储集群中创建所述第一虚拟机的系统盘的块设备,以实现所述第一虚拟机的启动。
13.根据权利要求12所述的装置,其特征在于,还包括:
第二存储类型确定单元,用于响应于对第二创建类型控件的第三操作指令,确定第二目标存储集群的存储类型;
第四请求生成单元,用于生成创建所述第一虚拟机的数据盘的第四请求,所述第四请求携带所述第二目标存储集群的存储类型;
第四请求发送单元,用于将所述第四请求发送至所述网关层,以便于将所述第二目标存储集群的存储类型通过所述计算组件传递给所述存储组件,通过所述存储组件在所述第二目标存储集群中创建所述第一虚拟机的数据盘的块设备。
14.根据权利要求12所述的装置,其特征在于,还包括:
第三存储类型确定单元,用于响应于对第三创建类型控件的第四操作指令,确定第三目标存储集群的存储类型,所述第三目标存储集群与所述第一目标存储集群的存储类型不同;
第五请求生成单元,用于生成基于用户镜像创建第二虚拟机的系统盘的第五请求,所述第五请求携带所述第三目标存储集群的存储类型,所述用户镜像包括所述第一虚拟机的系统盘的快照标识;
第五请求发送单元,用于将所述第五请求发送至所述网关层,以便于将所述第三目标存储集群的存储类型通过所述计算组件传递至所述存储组件,所述存储组件基于所述第一虚拟机的系统盘的快照标识在所述第一目标存储集群中创建所述第二虚拟机的系统盘的块设备,并将所述第一目标存储集群中创建的所述第二虚拟机的系统盘的块设备中的数据迁移至所述第三目标存储集群中。
15.根据权利要求12所述的装置,其特征在于,所述第一目标存储集群的存储类型为分布式存储集群、基于网络构建的存储集群以及基于光纤通道构建的存储集群中的任意一种。
16.一种虚拟机启动装置,其特征在于,云平台包括网关层、计算组件和存储组件,所述存储组件包括存储卷组件;所述装置包括:
第三请求接收单元,用于通过所述网关层接收第二请求,基于所述第二请求生成第三请求,并将所述第三请求发送至所述存储组件;
存储类型查找单元,用于通过所述存储组件响应于所述第三请求,查找其管理的存储集群的存储类型,以将其管理的存储集群的存储类型返回至所述网关层;
存储类型获取单元,用于通过所述计算组件从所述网关层获取第一目标存储集群的存储类型;
所述计算组件将所述第一目标存储集群的存储类型发送至所述存储组件;
所述存储组件根据所述第一目标存储集群的存储类型匹配到所述第一目标存储集群所在的存储卷组件;
第一系统盘创建单元,用于通过所述第一目标存储集群所在的存储卷组件,调用所述第一目标存储集群的接口在所述第一目标存储集群中创建基于基础镜像的第一虚拟机的系统盘的块设备,以实现所述第一虚拟机的启动。
17.根据权利要求16所述的装置,其特征在于,所述存储组件还包括存储接口和存储调度器;其中,所述第一系统盘创建单元包括:
第六请求接收单元,用于通过所述存储接口接收所述计算组件发送的第六请求,所述第六请求包括所述第一目标存储集群的存储类型;
存储卷组件匹配单元,用于通过所述存储接口调用所述存储调度器,通过所述第六请求中的所述第一目标存储集群的存储类型匹配到所述第一目标存储集群所在的存储卷组件;
第一系统盘卷创建单元,用于通过所述第一目标存储集群所在的存储卷组件,调用所述第一目标存储集群的接口创建所述第一虚拟机的系统盘的块设备。
18.根据权利要求17所述的装置,其特征在于,所述网关层包括资源提供接口、网络系统和鉴权模块;所述存储类型获取单元包括:
第一请求接收单元,用于通过所述资源提供接口接收第一请求,所述第一请求包括所述第一目标存储集群的存储类型;
第一请求鉴权单元,用于通过所述资源提供接口调用所述鉴权模块对所述第一请求进行鉴权;
网络地址申请单元,用于鉴权成功后,通过所述资源提供接口向所述网络系统申请网络地址;
第七请求构建单元,用于通过所述资源提供接口基于所述第一请求构建第七请求,所述第七请求包括所述第一目标存储集群的存储类型和所述网络地址;
第七请求发送单元,用于通过所述资源提供接口向所述计算组件发送所述第七请求,以便于所述计算组件基于所述第七请求生成所述第六请求。
19.根据权利要求18所述的装置,其特征在于,所述云平台还包括网络组件;其中,在所述第一系统盘卷创建单元之后,所述装置还包括:
网络地址发送单元,用于通过所述计算组件将所述第七请求中的网络地址发送至所述网络组件;
虚拟网卡创建单元,用于通过所述网络组件根据所述网络地址创建虚拟网卡,以通过所述虚拟网卡绑定虚拟交换机。
20.根据权利要求18所述的装置,其特征在于,还包括:
存储类型返回单元,用于通过所述存储组件将其管理的存储集群的存储类型返回至所述资源提供接口。
21.根据权利要求16所述的装置,其特征在于,还包括:
系统盘快照生成单元,可以用于生成所述第一虚拟机的系统盘的快照;
用户镜像创建单元,用于基于所述第一虚拟机创建用户镜像,所述用户镜像包括所述第一虚拟机的系统盘的快照标识;
第三存储集群类型获取单元,用于通过所述计算组件获取第三目标存储集群的存储类型;
第二系统盘创建单元,用于基于所述第一虚拟机的系统盘的快照标识在所述第一目标存储集群中创建第二虚拟机的系统盘的块设备;
数据迁移单元,用于将所述第一目标存储集群中创建的所述第二虚拟机的系统盘的块设备中的数据迁移至所述第三目标存储集群中。
22.根据权利要求21所述的装置,其特征在于,所述数据迁移单元包括:
目的卷创建单元,用于在所述第三目标存储集群中创建一个空的块设备,所述空的块设备的大小和所述第一目标存储集群中所述第二虚拟机的系统盘的块设备的大小相同;
卷数据迁移单元,用于按照预定大小的块,顺序读取所述第一目标存储集群中所述第二虚拟机的系统盘的块设备中的数据,按顺序写入所述空的块设备中;
原卷数据删除单元,用于删除所述第一目标存储集群中所述第二虚拟机的系统盘的块设备中的数据;
第二系统盘卷创建单元,用于将所述第三目标存储集群中写入所述第一目标存储集群中所述第二虚拟机的系统盘的块设备中的数据的块设备,作为所述第二虚拟机的系统盘。
23.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行时实现如权利要求1至11中任一项所述的虚拟机启动方法。
24.一种电子设备,其特征在于,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现如权利要求1至11中任一项所述的虚拟机启动方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911284437.1A CN111090498B (zh) | 2019-12-13 | 2019-12-13 | 虚拟机启动方法、装置、计算机可读存储介质及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911284437.1A CN111090498B (zh) | 2019-12-13 | 2019-12-13 | 虚拟机启动方法、装置、计算机可读存储介质及电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111090498A CN111090498A (zh) | 2020-05-01 |
CN111090498B true CN111090498B (zh) | 2023-10-27 |
Family
ID=70396054
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911284437.1A Active CN111090498B (zh) | 2019-12-13 | 2019-12-13 | 虚拟机启动方法、装置、计算机可读存储介质及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111090498B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111796862B (zh) * | 2020-07-07 | 2024-05-31 | 浪潮云信息技术股份公司 | 基于镜像标签和元数据选定云服务器创建使用镜像的方法 |
CN111949378B (zh) * | 2020-08-28 | 2021-09-10 | 腾讯科技(深圳)有限公司 | 虚拟机启动模式切换方法和装置、存储介质及电子设备 |
CN112558991A (zh) * | 2020-12-18 | 2021-03-26 | 北京华胜天成科技股份有限公司 | 镜像管理方法及系统、云管理平台、存储介质 |
CN112799781B (zh) * | 2021-01-20 | 2021-09-03 | 广州市品高软件股份有限公司 | 一种基于对象存储协议的块存储池访问方法 |
CN113419847A (zh) * | 2021-05-28 | 2021-09-21 | 济南浪潮数据技术有限公司 | 云管理平台创建云主机的方法、装置、设备及可读介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107197022A (zh) * | 2017-06-02 | 2017-09-22 | 华南理工大学 | OpenStack存储优化方法及系统 |
US20180329647A1 (en) * | 2017-05-12 | 2018-11-15 | International Business Machines Corporation | Distributed storage system virtual and storage data migration |
CN109634718A (zh) * | 2018-12-13 | 2019-04-16 | 无锡华云数据技术服务有限公司 | 云平台创建镜像的方法及系统 |
-
2019
- 2019-12-13 CN CN201911284437.1A patent/CN111090498B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20180329647A1 (en) * | 2017-05-12 | 2018-11-15 | International Business Machines Corporation | Distributed storage system virtual and storage data migration |
CN107197022A (zh) * | 2017-06-02 | 2017-09-22 | 华南理工大学 | OpenStack存储优化方法及系统 |
CN109634718A (zh) * | 2018-12-13 | 2019-04-16 | 无锡华云数据技术服务有限公司 | 云平台创建镜像的方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN111090498A (zh) | 2020-05-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111090498B (zh) | 虚拟机启动方法、装置、计算机可读存储介质及电子设备 | |
US10637796B2 (en) | Linking instances within a cloud computing environment | |
US20200389356A1 (en) | Migration of an existing computing system to new hardware | |
US9946578B2 (en) | Managing the persistent data of a pre-installed application in an elastic virtual machine instance | |
US8904382B2 (en) | Creating instances of cloud computing environments | |
US20140237070A1 (en) | Network-attached storage management in a cloud environment | |
US11138028B1 (en) | Hot growing a cloud hosted block device | |
WO2023061220A1 (en) | Managing proprietary structured objects | |
JP2021515304A (ja) | システムにおける時系列ログ構造のキーバリュー・ストア内のチェックポイントを使用した障害後のリカバリのための方法、コンピュータ・プログラム、および装置 | |
US11200253B2 (en) | Providing instant and distributed access to a source blob via copy-on-read blobs and link blobs | |
JP7431490B2 (ja) | 階層型ストレージ管理システムにおけるデータ・マイグレーション | |
US20230297403A1 (en) | Live mounting a virtual machine in a public cloud based on accessing a simulated virtual disk as an internet small computer systems interface (iscsi) target | |
CN115469807A (zh) | 磁盘功能配置方法、装置、设备及存储介质 | |
CN114168156A (zh) | 多租户数据持久化方法、装置、存储介质和计算机设备 | |
US11363113B1 (en) | Dynamic micro-region formation for service provider network independent edge locations | |
Xiong | Cloud Computing for Scientific Research | |
US11948016B2 (en) | Application programming interface management | |
US12026062B2 (en) | Provider-agnostic management of backup data stored on a cloud-based object storage | |
US11495262B1 (en) | Duplexing data from multiple file systems onto a shared tape | |
US20220214946A1 (en) | Provider-agnostic management of backup data stored on a cloud-based object storage | |
US20230185556A1 (en) | Cloud-Phone-Based Application Installation Method, Cloud Platform, and Related Device | |
CN115437728A (zh) | 一种云桌面设置方法、系统及设备 | |
JP2009211688A (ja) | ファイルをマイグレートする方法、システムおよびコンピュータ・プログラム |
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 |