1.本技术实施例涉及云平台领域,尤其涉及一种镜像文件导入方法及装置。
背景技术:2.镜像管理服务包含管理开通虚机所用的镜像模板,具体包括公有镜像和私有镜像。当用户需要从其他云平台导入并使用镜像文件时,现有的镜像管理服务不能支持用户从其他云平台导入镜像文件至用户所使用的云平台。
3.因此只能由用户在云平台生成镜像文件,而不能向云平台导入镜像文件,存在镜像文件获取方式单一的问题。
技术实现要素:4.本技术实施例提供一种镜像文件导入方法及装置,所述导入方法可减少镜像管理组件所在的物理机存储所需空间资源,提高获取镜像文件的灵活性。
5.第一方面,本技术实施例提供的一种镜像文件导入方法,包括:
6.获取镜像文件和所述镜像文件的格式信息;将所述镜像文件存储至云平台的对象存储资源池;根据所述镜像文件的格式信息,确定所述镜像文件的格式属于允许导入块存储资源池的镜像文件格式;将所述镜像文件从所述对象存储资源池导入所述云平台的块存储资源池,所述镜像文件用于在所述云平台的块存储资源池中开通虚拟机。
7.根据该方法,可支持用户根据云平台的镜像管理服务导入多种格式的镜像文件。该方法解决了现有的镜像管理服务不能支持用户从其他云平台导入镜像文件的问题,提高获取镜像文件的灵活性。
8.在一种可能的设计中,镜像文件在kvm云平台、vmware云平台或hyperv云平台生成。所述允许导入块存储资源池的镜像文件格式为raw格式、qcow2格式、vhd格式或vhdx格式。
9.根据该设计,可以支持从多种云平台获取多种格式的镜像文件,进一步提高获取镜像文件的灵活性。
10.在一种可能的设计中,所述方法还包括:在将所述镜像文件存储至云平台的对象存储资源池后,获得所述镜像文件对应的存储地址;所述将所述镜像文件从所述对象存储资源池导入所述云平台的块存储资源池,包括:根据所述存储地址,将所述镜像文件从所述对象存储资源池导入所述云平台的块存储资源池。
11.根据该设计,可以根据存储地址从所述对象存储资源池中准确获得所述镜像文件,提高镜像文件导入效率。
12.在一种可能的设计中,所述镜像文件的格式信息用于指示所述镜像文件的格式为第一格式,所述第一格式与第二格式不同,所述第二格式为所述云平台支持的镜像文件的格式,所述方法还包括:将所述镜像文件的格式修改为所述第二格式;其中,所述第一格式与所述第二格式属于所述允许导入块存储资源池的镜像文件格式。
13.根据该设计,可以进一步支持云平台获取多种格式的镜像文件,进一步提高获取镜像文件的灵活性。
14.第二方面,本技术实施例提供的一种镜像文件导入装置,包括:
15.存储模块,用于获取镜像文件和所述镜像文件的格式信息;
16.所述存储模块,还用于将所述镜像文件存储至云平台的对象存储资源池;
17.确定模块,用于根据所述镜像文件的格式信息,确定所述镜像文件的格式属于允许导入块存储资源池的镜像文件格式;
18.导入模块,用于将所述镜像文件从所述对象存储资源池导入所述云平台的块存储资源池。
19.在一种可能的设计中,所述镜像文件在kvm云平台、vmware云平台或hyperv云平台生成;所述允许导入块存储资源池的镜像文件格式为raw格式、qcow2格式、vhd格式或vhdx格式。
20.在一种可能的设计中,所述存储模块还用于:
21.在将所述镜像文件存储至云平台的对象存储资源池后,获得所述镜像文件对应的存储地址;所述导入模块具体用于:根据所述存储地址,将所述镜像文件从所述对象存储资源池导入所述云平台的块存储资源池。
22.在一种可能的设计中,所述镜像文件的格式信息用于指示所述镜像文件的格式为第一格式,所述第一格式与第二格式不同,所述第二格式为所述云平台支持的镜像文件的格式,所述导入模块还用于:将所述镜像文件的格式修改为所述第二格式;其中,所述第一格式与所述第二格式属于所述允许导入块存储资源池的镜像文件格式。
23.第三方面,本技术实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时,实现第一方面及其任意一种设计的方法。
24.第四方面,本技术实施例还提供了一种电子设备,包括存储器和处理器,所述存储器上存储有可在所述处理器上运行的计算机程序,当所述计算机程序被所述处理器执行时,使得所述处理器实现第一方面及其任意一种设计的方法。
25.第二方面至第四方面及其任意一种设计所带来的技术效果可参见第一方面中对应的设计所带来的技术效果,此处不再赘述。
附图说明
26.为了更清楚地说明本技术实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简要介绍,显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
27.图1为本技术实施例提供的一种镜像文件导入方法的流程示意图;
28.图2为本技术实施例提供的一种镜像文件导入方法的总导入任务流示意图;
29.图3为本技术实施例提供的一种镜像文件导入方法的导入子任务流示意图;
30.图4为本技术实施例提供的一种装置结构示意图;
31.图5为本技术实施例提供的另一种装置结构示意图。
具体实施方式
32.为了使本技术的目的、技术方案和优点更加清楚,下面将结合附图对本技术作可选的详细描述,显然,所描述的实施例仅是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本技术保护的范围。应理解,下面所介绍的方法实施例中的具体操作方法也可以应用于装置实施例或系统实施例中。
33.现有的镜像管理服务包含管理开通虚机所用的镜像文件,具体包括公有镜像文件和私有镜像文件。其中,公有镜像文件是指在当前云平台中生成的镜像文件。例如,公有镜像可为一种操作系统模板。公有镜像可面向不特定的用户使用,其可用于根据所述用户需求开通虚机。相应的,私有镜像文件是指在当前云平台以外的其他平台中生成的镜像文件。当用户需要将私有镜像文件导入至云平台,并根据该私有镜像文件开通虚机时,现有的镜像管理服务不能支持用户从其他云平台导入镜像文件,只能由用户在当前云平台重新创建镜像文件。例如,私有镜像可包括从其他云平台导入的私有镜像和/或根据公共镜像生成的私有镜像。私有镜像可面向部分用户或单个用户使用。
34.以下除特殊说明,本技术中的镜像文件是指私有镜像文件。
35.为了解决上述问题,在本技术提供了一种镜像文件导入方法,用于满足用户进行云平台镜像文件导入的需求,提高获取镜像文件的灵活性。
36.在本技术实施例中,获取镜像文件和所述镜像文件的格式信息。将所述镜像文件存储至云平台的对象存储资源池。根据所述镜像文件的格式信息,确定所述镜像文件的格式属于允许导入块存储资源池的镜像文件格式。将所述镜像文件从所述对象存储资源池导入所述云平台的块存储资源池,所述镜像文件可用于在所述云平台的块存储资源池中开通虚拟机。该方法能够满足用户进行云平台镜像文件导入的需求,提高获取镜像文件的灵活性。
37.可以理解,本技术提供的一种镜像文件导入方法可由镜像文件导入装置(以下简称为导入装置)执行。例如,该装置可以是用户接入云平台所使用的设备或设备中的组件,或者,可以是能够与该设备进行通信的设备(如云平台服务器)或设备中的组件。例如,该装置可以是服务器、处理器、芯片或智能终端等具备数据分析和处理能力的装置。
38.如图1所示,在本技术实施例中提供的导入方法具体步骤包括:
39.步骤101,获取镜像文件和所述镜像文件的格式信息。
40.可选的,步骤101包括:用户可通过云平台的前端操作系统,向导入装置导入镜像文件。相应的,导入装置可通过前端操作系统获得镜像文件。从生成镜像文件的云平台或存储镜像文件的存储设备获取镜像文件,并根据镜像文件提取其格式信息。
41.示例性的,前端操作系统可包括yacos系统。因此,用户可操作yacos系统,选中需要导入的镜像文件,相应的,yacos系统可提取该镜像文件的格式信息。
42.示例性的,生成镜像文件的云平台可包括kvm平台、vmware平台或hyperv平台等。其中,kvm平台是一种支持全虚拟化的云平台,vmware平台是一种提供服务器和/或桌面虚拟化的云平台,hyperv平台是一种提供硬件虚拟化的云平台等。例如,导入装置从kvm平台中获取在kvm云平台生成的镜像文件。具体的,所述云平台中包括:一种用于获取镜像文件和所述镜像文件的格式信息的所述前端操作系统。
43.存储镜像文件的存储设备具体可以是硬盘等存储介质,也可以是包含存储介质的设备,如用户接入云平台所使用的设备,不具体限定。
44.示例性的,所述镜像文件的格式信息可包括raw镜像文件格式、qcow2镜像文件格式、vhd镜像文件格式、vhdx镜像文件格式或vmdk镜像文件格式。其中,raw镜像文件格式是一种图像镜像文件格式,qcow2镜像文件格式是一种磁盘镜像文件格式,vhd镜像文件格式是一种磁盘镜像文件格式,vhdx镜像文件格式是一种磁盘镜像文件格式,vmdk镜像文件格式是一种磁盘镜像文件格式。
45.可以理解,本技术中不限制镜像文件的获取来源。
46.步骤102,将所述镜像文件存储至云平台的对象存储资源池。
47.所述对象存储资源池可以是云平台资源池中的一种用于存储文件的存储资源池。对象存储资源池仅具有存储文件的功能,不具有处理文件的功能。对象存储资源池中的存储文件的功能包括:存储所述存储文件至任一所述对象存储资源池中的存储桶,根据所述存储提供所述存储文件对应所述存储桶中的存储地址。
48.此外,与对象存储资源池相区别,云平台资源池还可包括块存储资源池。可以理解,对象存储资源池与块存储资源池是云平台资源池中不同的存储区域。块资源存储池可以是可提供存储功能,并可以划分存储区域给虚拟机单独使用。其中,用户导入到云平台的文件一般存储在对象存储资源池中。而镜像文件一般需要存储到块存储资源池中,并在块存储资源池中实现虚拟机。例如,块存储资源池可用来创建云硬盘(包括系统盘和数据盘),所述云硬盘可用来开通虚机资源和/或挂载至某台虚机上使用。
49.可选的,导入装置可以将镜像文件存储至对象存储资源池的存储桶,获得所述镜像文件对应的存储地址。进一步可选的,到如装置还可通过前端操作系统向用户展示镜像文件相应的存储地址。例如,存储地址为统一资源代码(uniform resource locator,url)。url可用于指示所述存储桶地址和/或所述存储文件地址。
50.步骤103,根据所述镜像文件的格式信息,确定所述镜像文件的格式属于允许导入块存储资源池的镜像文件格式。
51.可选的,导入装置可根据云平台中的镜像管理组件在云平台中创建镜像文件对应的数据库条目。其中,镜像管理组件可以是用于执行镜像文件导入的云平台服务组件。例如,导入装置通过镜像管理组件执行_createimage命令,用于在云平台中创建数据库条目。
52.示例性的,在步骤103中,导入装置可以根据所述镜像文件对应的存储地址提取所述镜像文件的格式信息。
53.可选的,导入装置可以调用镜像管理组件中的命令,查看所述镜像文件的格式信息。例如,导入装置可通过qemu-img info命令查看镜像文件的格式信息。
54.可选的,导入装置根据所述允许导入块存储资源池的镜像文件格式确定允许导入的所述镜像文件。
55.允许导入块存储资源池的镜像文件格式可以存储为列表,因此导入装置可根据待导入的镜像文件的格式信息查表,确定待导入的镜像文件的格式是否属于允许导入该格式的镜像文件的格式,避免导入格式错误或具有云平台不支持的格式的镜像文件。例如,允许导入的镜像文件的格式包括raw格式、qcow2格式、vhd格式、vhdx格式和vmdk格式,并且,待导入的镜像文件的格式为raw格式,则该待导入的镜像文件的格式属于允许导入该格式的
镜像文件的格式,导入装置可确定允许导入该镜像文件。
56.可选的,允许导入块存储资源池的镜像文件格式(或该列表)可以是预先设置好的。比如,可以是云平台的内部配置,可以由云平台运维人员设置或更新,本技术不作具体要求。
57.可选的,如果导入装置根据所述允许导入块存储资源池的镜像文件格式列表确定不允许导入的所述镜像文件,例如镜像文件的格式不属于导入块存储资源池的镜像文件格式,则导入装置可删除之前创建的数据库条目。
58.这里通过举例对步骤103的实现过程进行说明。在步骤103中,导入装置可以根据所述url存储地址从存储桶中提取url对应的一个镜像文件。如果导入装置确定所述镜像文件为qcow2格式,且根据所述允许导入块存储资源池的镜像文件格式列表确定所述qcow2格式属于所述允许导入块存储资源池的镜像文件格式,则导入装置可以确定所述镜像文件为允许导入的镜像文件。
59.步骤104,将所述镜像文件从所述对象存储资源池导入所述云平台的块存储资源池,所述镜像文件用于在所述云平台的块存储资源池中开通虚拟机。
60.可选的,导入装置可以向对待导入的镜像文件的格式进行转换,再将格式转换后的镜像文件导入块存储资源池,或者,在将待导入的镜像文件导入块存储资源池,再进行格式转换。
61.例如,待导入的镜像文件的格式为第一格式,即镜像文件的格式信息指示格式为第一格式,转换后的镜像文件的格式记为第二格式,该第二格式可以是云平台支持的镜像文件的格式。例如,在当前云平台生成的镜像文件的格式为第二格式。可以理解,这里的第一格式和第二格式,均属于允许导入块存储资源池的镜像文件格式。
62.例如,第一格式为qcow2格式,第二格式为raw格式,允许导入块存储资源池的镜像文件格式包括raw格式、qcow2格式、vhd格式、vhdx格式和vmdk格式,则导入装置可以将镜像文件的格式转为raw格式,再将镜像文件导入块存储资源池。
63.可选的,在执行格式转换时,导入装置可通过镜像管理组件调用qemu-img convert命令,将所述第一格式的所述镜像文件转换为所述第二格式镜像文件。
64.此外,如果第一格式与第二格式相同,则导入装置可以将该镜像文件导入块存储资源池而不需要进行格式转换。
65.例如,如图2所示,用户可通过前端管理系统启动镜像文件导入流程,并将镜像文件上传至云平台的资源池中的对象存储资源池。在镜像文件导入流程中,导入装置通过镜像管理组件,将对象存储资源池中的镜像文件导入块存储资源池中,以实现以上步骤101至步骤104。
66.例如,如图3所示,导入装置可通过镜像管理组件调用_createimage命令、_importtostore命令、和qemu-img convert命令、_saveimage命令和_completetask命令中的至少一项,以实现以上步骤103至步骤104,该过程可称为镜像导入子任务流。
67.基于图2所示流程,本技术实施例提供一种镜像文件导入方法,能够提高镜像文件获取方式的灵活性,以满足用户需求。
68.此外,导入过程采用文件流的方式,使用qemu-img等工具将对象存储中的镜像文件导入到云平台的块存储池中,不会占用镜像管理组件所在的物理机存储空间资源。
69.基于相同的技术构思,本技术示例性的提供了一种镜像文件导入装置架构示意图,如图4所示,该装置包括:
70.存储模块401,用于获取镜像文件和所述镜像文件的格式信息;
71.所述存储模块401,还用于将所述镜像文件存储至云平台的对象存储资源池;
72.确定模块402,用于根据所述镜像文件的格式信息,确定所述镜像文件的格式属于允许导入块存储资源池的镜像文件格式;
73.导入模块403,用于将所述镜像文件从所述对象存储资源池导入所述云平台的块存储资源池。
74.可选的,所述存储模块401,还用于在将所述镜像文件存储至云平台的对象存储资源池后,获得所述镜像文件对应的存储地址;
75.所述导入模块403,具体用于根据所述存储地址,将所述镜像文件从所述对象存储资源池导入所述云平台的块存储资源池。
76.可选的,所述镜像文件的格式信息用于指示所述镜像文件的格式为第一格式,所述第一格式与第二格式不同,所述第二格式为所述云平台支持的镜像文件的格式,所述导入模块403还用于:
77.将所述镜像文件的格式修改为所述第二格式;
78.其中,所述第一格式与所述第二格式属于所述允许导入块存储资源池的镜像文件格式。
79.与上述方法实施例基于同一发明构思,本技术实施例中还提供了一种电子设备。该电子设备可以用于执行以上方法实施例所述的动作。在该实施例中,电子设备的结构可以如图5所示,包括存储器501以及一个或多个处理器502。
80.存储器501,用于存储处理器502执行的计算机程序。存储器501可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统,以及运行即时通讯功能所需的程序等;存储数据区可存储各种即时通讯信息和操作指令集等。
81.存储器501可以是易失性存储器(volatile memory),例如随机存取存储器(random-access memory,ram);存储器501也可以是非易失性存储器(non-volatile memory),例如只读存储器,快闪存储器(flash memory),硬盘(hard disk drive,hdd)或固态硬盘(solid-state drive,ssd)、或者存储器801是能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。存储器501可以是上述存储器的组合。
82.处理器502,可以包括一个或多个中央处理单元(central processing unit,cpu)或者为数字处理单元等。处理器502,用于调用存储器501中存储的计算机程序时实现上述方法。
83.本技术实施例中不限定上述存储器501和处理器502之间的具体连接介质。作为一种示例,本技术实施例在图5中以存储器501和处理器502之间通过总线503连接,总线503在图5中以粗线表示,其它部件之间的连接方式,仅是进行示意性说明,并不引以为限。总线503可以分为地址总线、数据总线、控制总线等。为便于表示,图5中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
84.可选的,处理器502可用于执行以上由存储模块401、确定模块402和导入模块403
中任意一项或多项执行的动作。
85.根据本技术的一个方面,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述实施例中的方法。
86.程序产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。
87.以上所述,仅为本技术的具体实施方式,但本技术的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本技术揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本技术的保护范围之内。
技术特征:1.一种镜像文件导入方法,其特征在于,包括:获取镜像文件和所述镜像文件的格式信息;将所述镜像文件存储至云平台的对象存储资源池;根据所述镜像文件的格式信息,确定所述镜像文件的格式属于允许导入块存储资源池的镜像文件格式;将所述镜像文件从所述对象存储资源池导入所述云平台的块存储资源池,所述镜像文件用于在所述云平台的块存储资源池中开通虚拟机。2.如权利要求1所述的方法,其特征在于,所述镜像文件在kvm云平台、vmware云平台或hyperv云平台生成;所述允许导入块存储资源池的镜像文件格式为raw格式、qcow2格式、vhd格式或vhdx格式。3.如权利要求1所述的方法,其特征在于,所述方法还包括:在将所述镜像文件存储至云平台的对象存储资源池后,获得所述镜像文件对应的存储地址;所述将所述镜像文件从所述对象存储资源池导入所述云平台的块存储资源池,包括:根据所述存储地址,将所述镜像文件从所述对象存储资源池导入所述云平台的块存储资源池。4.如权利要求1所述的方法,其特征在于,所述镜像文件的格式信息用于指示所述镜像文件的格式为第一格式,所述第一格式与第二格式不同,所述第二格式为所述云平台支持的镜像文件的格式,所述方法还包括:将所述镜像文件的格式修改为所述第二格式;其中,所述第一格式与所述第二格式属于所述允许导入块存储资源池的镜像文件格式。5.一种镜像文件导入装置,其特征在于,包括:存储模块,用于获取镜像文件和所述镜像文件的格式信息;所述存储模块,还用于将所述镜像文件存储至云平台的对象存储资源池;确定模块,用于根据所述镜像文件的格式信息,确定所述镜像文件的格式属于允许导入块存储资源池的镜像文件格式;导入模块,用于将所述镜像文件从所述对象存储资源池导入所述云平台的块存储资源池。6.如权利要求5所述的装置,其特征在于,所述镜像文件在kvm云平台、vmware云平台或hyperv云平台生成;所述允许导入块存储资源池的镜像文件格式为raw格式、qcow2格式、vhd格式或vhdx格式。7.如权利要求6所述的装置,其特征在于,所述存储模块还用于:在将所述镜像文件存储至云平台的对象存储资源池后,获得所述镜像文件对应的存储地址;所述导入模块具体用于:根据所述存储地址,将所述镜像文件从所述对象存储资源池导入所述云平台的块存储
资源池。8.如权利要求6所述的装置,其特征在于,所述镜像文件的格式信息用于指示所述镜像文件的格式为第一格式,所述第一格式与第二格式不同,所述第二格式为所述云平台支持的镜像文件的格式,所述导入模块还用于:将所述镜像文件的格式修改为所述第二格式;其中,所述第一格式与所述第二格式属于所述允许导入块存储资源池的镜像文件格式。9.一种电子设备,其特征在于,其包括处理器和存储器,其中,所述存储器存储有程序代码,当所述程序代码被所述处理器执行时,使得所述处理器执行权利要求1~4中任一所述方法的步骤。10.一种计算机可读存储介质,其特征在于,其包括程序代码,当所述程序代码在电子设备上运行时,所述程序代码用于使所述电子设备执行权利要求1~4中任一所述方法的步骤。
技术总结本申请公开了一种镜像文件导入方法及装置,该方法包括:获取镜像文件和镜像文件的格式信息;将镜像文件存储至云平台的对象存储资源池;根据镜像文件的格式信息,确定镜像文件的格式属于允许导入块存储资源池的镜像文件格式;将镜像文件从对象存储资源池导入云平台的块存储资源池。该方法能够支持用户导入多种格式的镜像文件,提高获取镜像文件的灵活性。提高获取镜像文件的灵活性。提高获取镜像文件的灵活性。
技术研发人员:刘苏 汪银 曹磊 张玉 鞠娜 张武
受保护的技术使用者:天翼云科技有限公司
技术研发日:2022.07.22
技术公布日:2022/11/1