CN111104367A - 一种基于openstack卷启动虚拟机创建私有镜像的方法 - Google Patents
一种基于openstack卷启动虚拟机创建私有镜像的方法 Download PDFInfo
- Publication number
- CN111104367A CN111104367A CN201911281056.8A CN201911281056A CN111104367A CN 111104367 A CN111104367 A CN 111104367A CN 201911281056 A CN201911281056 A CN 201911281056A CN 111104367 A CN111104367 A CN 111104367A
- Authority
- CN
- China
- Prior art keywords
- virtual machine
- volume
- system volume
- creating
- openstack
- 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.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/11—File system administration, e.g. details of archiving or snapshots
- G06F16/128—Details of file system snapshots on the file-level, e.g. snapshot creation, administration, deletion
-
- 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/45562—Creating, deleting, cloning 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)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Stored Programmes (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种基于openstack卷启动虚拟机创建私有镜像的方法,包括如下步骤:S1、基于openstack原生接口创建虚拟机系统卷的初始私有镜像,生成镜像文件和系统卷的快照文件;S2、创建与系统卷数据一致的备份系统卷;S3、创建备份系统卷的快照文件;S4、使用备份系统卷的快照文件替代原有系统卷的快照文件,完成最终私有镜像的创建。本发明弥补了openstack原生接口创建的镜像无法直接用于生产环境中创建虚拟机,并且解耦了私有镜像与原虚拟机的逻辑关系,在业务层面上,给客户更好的使用体验,技术层面上,使私有镜像和虚拟机的功能更利于扩展。
Description
技术领域
本发明涉及云计算中虚拟机镜像技术领域,具体地说是一种基于openstack卷启动虚拟机创建私有镜像的方法。
背景技术
云计算是与信息技术、软件、互联网相关的一种服务,它把许多计算资源集合起来,通过软件实现自动化管理,并通过互联网提供计算,存储及网络服务。其中云计算最重要的技术就是虚拟化技术,它可以最大化的利用物理硬件,解决高性能的物理硬件产能过剩和老的旧的硬件产能过低的重组重用。
OpenStack是一个开源的云计算管理平台项目,由几个主要的组件组合起来完成具体工作。OpenStack支持几乎所有类型的云环境,并且实施简单、可大规模扩展、丰富、标准统一的云计算管理平台。
基于openstack平台创建卷虚拟机,可以分为镜像启动和卷启动。通过卷启动虚拟机,虚拟机在卷中启动,并通过cinder管理卷,解耦了计算资源与存储资源的关系,提高了虚拟机功能的扩展性。但是,卷启动虚拟机的创建私有镜像,openstack原生接口无法支撑业务需求,因其创建的私有镜像本质上是原系统卷的快照,所以与原系统卷有强耦合关系。由于快照技术的本质,使之无法和原系统卷分离,即快照和原系统卷的生命周期必须保持一致,也就是说如果存在通过快照(镜像)创建的虚拟机,原虚拟机无法删除,进而影响实际生产环境中的使用;并且如果原系统卷数据发生变化(重装操作系统),则快照(镜像)也会被改变,从而失去了镜像保存原环境的作用。
发明内容
本发明的目的是针对以上不足,提供一种基于openstack卷启动虚拟机创建私有镜像的方法,旨在弥补原生接口创建的私有镜像无法在实际生产环境中应用。
本发明所采用技术方案是:
一种基于openstack卷启动虚拟机创建私有镜像的方法,其特征在于:包括如下步骤:
S1、基于openstack原生接口创建虚拟机系统卷的初始私有镜像,生成镜像文件和系统卷的快照文件;
S2、创建与系统卷数据一致的备份系统卷;
S3、创建备份系统卷的快照文件;
S4、使用备份系统卷的快照文件替代原有系统卷的快照文件,完成最终私有镜像的创建。
2根据权利要求1所述的基于openstack卷启动虚拟机创建私有镜像的方法,其特征在于:步骤S1中,所述私有镜像创建通过openstack的私有镜像创建接口实现,所述openstack的私有镜像创建接口为http(s):/***/servers/{server_id}/action。
3、根据权利要求1所述的基于openstack卷启动虚拟机创建私有镜像的方法,其特征在于:步骤S1中,定义虚拟机系统卷为vm0,定义镜像文件为vm0-image,定义系统卷的快照文件为snapshot for vm0,通过所述私有即那个想创建接口运行如下架构:
入参:
出参:
{
"image_id":"0e7761dd-ee98-41f0-ba35-05994e446431"
}
4、根据权利要求3所述的基于openstack卷启动虚拟机创建私有镜像的方法,其特征在于:步骤S2中,所述创建备份系统卷通过备份接口实现,所述备份接口为http(s)://***/v3/{project_id}/backups。
5、根据权利要求4所述的基于openstack卷启动虚拟机创建私有镜像的方法,其特征在于:在步骤S2中,定义备份系统卷为vm0-systemdisk-backup,通过山上述备份接口运行如下架构:
入参:
出参:
6、根据权利要求5所述基于openstack卷启动虚拟机创建私有镜像的方法,其特征在于:步骤S3中,创建备份系统卷的快照文件通过备份系统卷快照创建接口实现,所述备份系统卷快照创建接口为http(s)://***/v3/{project_id}/snapshots。
7、根据权利要求6所述的基于openstack卷启动虚拟机创建私有镜像的方法,其特征在于:所述备份接口和备份系统卷快照创建接口均通过调用Openstack cinder实现。
8、根据权利要求6所述的基于openstack卷启动虚拟机创建私有镜像的方法,其特征在于:步骤S3中,定义备份系统卷的快照文件为vm0-systemdisk-backup-snapshot,创建备份系统卷的快照文件的步骤运行如下架构:
入参:
出参:
本发明具有以下优点:
1、本发明的卷启动虚拟机创建私有镜像时,在调用openstack接口创建私有镜像后,创建系统卷的备份,然后创建备份卷的快照,接着删除因调用原生接口创建私有镜像时产生的快照,并用备份卷快照代替。本发明弥补了openstack原生接口创建的镜像无法直接用于生产环境中创建虚拟机,并且解耦了私有镜像与原虚拟机的逻辑关系,使销毁虚拟机(含系统卷)不会影响该虚拟机的私有镜像,提高了虚拟机和镜像功能的可扩展性,如虚拟机重装操作功能,私有镜像不会改变,并且还可以当做原系统备份,还原虚拟机;在业务层面上,给客户更好的使用体验,技术层面上,使私有镜像和虚拟机的功能更利于扩展。
2、本发明的方法针对原生接口优化,增加了卷启动虚拟机私有镜像的可操作性,解决了虚拟机系统卷和镜像之间的耦合关系,提升了功能的可扩展性。
3、本发明的方法解决了卷启动虚拟机重装操作系统,已经存在的虚拟机私有镜像不可用问题。
4、本发明的方法在实际生产环境中,对于卷启动虚拟机用户可以随意操作系统卷,而不会对已经存在的镜像产生任何影响,进而达到了镜像启动虚拟机和卷启动虚拟机私有镜像操作的一致性,提生了用户体验。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例中描述中所需要使用的附图作简要介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
下面结合附图对本发明进一步说明:
图1为本发明的流程示意图。
具体实施方式
下面结合附图和具体实施例对本发明作进一步说明,以使本领域的技术人员可以更好地理解本发明并能予以实施,但所举实施例不作为对本发明的限定,在不冲突的情况下,本发明实施例以及实施例中的技术特征可以相互结合。
需要理解的是,在本发明实施例的描述中,“第一”、“第二”等词汇,仅用于区分描述的目的,而不能理解为指示或暗示相对重要性,也不能理解为指示或暗示顺序。在本发明实施例中的“多个”,是指两个或两个以上。
本发明实施例中的属于“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,单独存在B,同时存在A和B这三种情况。另外,本文中字符“/”一般表示前后关联对象是一种“或”关系。
如图1所示的基于openstack卷启动虚拟机创建私有镜像的方法,包括如下步骤:
S1、基于openstack原生接口创建虚拟机系统卷的初始私有镜像,生成大小为0的镜像文件和系统卷的快照文件;所述私有镜像创建通过openstack的私有镜像创建接口实现,所述openstack的私有镜像创建接口为http(s):/***/servers/{server_id}/action,***为管理平台域名,定义虚拟机系统卷为vm0,定义镜像文件为vm0-image,定义系统卷的快照文件为snapshot for vm0,通过所述私有即那个想创建接口运行如下架构:
入参:
出参:
{
"image_id":"0e7761dd-ee98-41f0-ba35-05994e446431"
}
S2、创建与系统卷数据一致的备份系统卷;步骤S2中,所述创建备份系统卷通过备份接口实现,所述备份接口为http(s)://***/v3/{project_id}/backups,***为管理平台域名。在步骤S2中,定义备份系统卷为vm0-systemdisk-backup,通过山上述备份接口运行如下架构:
入参:
出参:
S3、创建备份系统卷的快照文件;创建备份系统卷的快照文件通过备份系统卷快照创建接口实现,所述备份系统卷快照创建接口为http(s)://***/v3/{project_id}/snapshots,***为管理平台域名,所述备份接口和备份系统卷快照创建接口均通过调用Openstack cinder实现。定义备份系统卷的快照文件为vm0-systemdisk-backup-snapshot,创建备份系统卷的快照文件的步骤运行如下架构:
入参:
出参:
S4、使用备份系统卷的快照文件替代原有系统卷的快照文件,完成最终私有镜像的创建。
方法原理:根据openstack原生接口创建现有虚拟机的系统卷vm0的私有镜像,结果生成大小为0的镜像文件vm0-image和系统卷的快照文件snapshot for vm0,但是镜像文件不可以直接使用,实际使用的是生成的系统卷的快照文件,也就是说卷启动虚拟机创建的私有镜像实际上是系统卷的快照,统计私有镜像创建虚拟机也就是通过快照生成系统卷,然后在分配计算资源。由于快照技术的本质,使之无法和原系统卷分离,即快照和原系统卷的生命周期必须保持一致,也就是说如果存在通过系统卷的快照文件创建的虚拟机,原虚拟机无法删除,进而影响实际生产环境中的使用;并且如果原系统卷数据发生变化(重装操作系统),则快照文件也会被改变,从而失去了镜像保存原环境的作用。因此通过生成一份和原系统卷一样的备份卷,解耦了和原系统卷的关系。然后再将备份卷生成快照文件,创建快照文件一是为了后续保持和原生接口生成的结果一致,再就是通过快照创建系统卷性能更高。删除原系统卷的快照文件snapshot for vm0,使备份系统卷生成的快照文件vm0-systemdisk-backup-snapshot进行替代,即修改镜像元数据,增加快照文件vm0-systemdisk-backup-snapshot信息,使通过私有镜像创建虚拟机的时候可以通过镜像ID查询出对应的快照ID。此外,不直接使用快照id是因为,实际生产中需要通过openstackglance接口查询镜像列表,所有必须有创建镜像这一步操作。通过备份系统卷的快照文件替代原系统卷的快照文件后,创建私有镜像完成,可以根据私有镜像查找快照信息,创建系统卷,进而创建和vm0相同虚拟机。
以上所述实施例仅是为充分说明本发明而所举的较佳的实施例,本发明的保护范围不限于此。本技术领域的技术人员在本发明基础上所作的等同替代或变换,均在本发明的保护范围之内。
Claims (8)
1.一种基于openstack卷启动虚拟机创建私有镜像的方法,其特征在于:包括如下步骤:
S1、基于openstack原生接口创建虚拟机系统卷的初始私有镜像,生成镜像文件和系统卷的快照文件;
S2、创建与系统卷数据一致的备份系统卷;
S3、创建备份系统卷的快照文件;
S4、使用备份系统卷的快照文件替代原有系统卷的快照文件,完成最终私有镜像的创建。
2.根据权利要求1所述的基于openstack卷启动虚拟机创建私有镜像的方法,其特征在于:步骤S1中,所述私有镜像创建通过openstack的私有镜像创建接口实现,所述openstack的私有镜像创建接口为http(s):/***/servers/{server_id}/action。
4.根据权利要求3所述的基于openstack卷启动虚拟机创建私有镜像的方法,其特征在于:步骤S2中,所述创建备份系统卷通过备份接口实现,所述备份接口为http(s)://***/v3/{project_id}/backups。
6.根据权利要求5所述基于openstack卷启动虚拟机创建私有镜像的方法,其特征在于:步骤S3中,创建备份系统卷的快照文件通过备份系统卷快照创建接口实现,所述备份系统卷快照创建接口为http(s)://***/v3/{project_id}/snapshots。
7.根据权利要求6所述的基于openstack卷启动虚拟机创建私有镜像的方法,其特征在于:所述备份接口和备份系统卷快照创建接口均通过调用Openstack cinder实现。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911281056.8A CN111104367B (zh) | 2019-12-13 | 2019-12-13 | 一种基于openstack卷启动虚拟机创建私有镜像的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911281056.8A CN111104367B (zh) | 2019-12-13 | 2019-12-13 | 一种基于openstack卷启动虚拟机创建私有镜像的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111104367A true CN111104367A (zh) | 2020-05-05 |
CN111104367B CN111104367B (zh) | 2023-08-18 |
Family
ID=70422411
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911281056.8A Active CN111104367B (zh) | 2019-12-13 | 2019-12-13 | 一种基于openstack卷启动虚拟机创建私有镜像的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111104367B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114168262A (zh) * | 2021-12-03 | 2022-03-11 | 中国人寿保险股份有限公司上海数据中心 | 一种基于lru置换算法的云平台镜像缓存管理方法 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101421715A (zh) * | 2006-04-17 | 2009-04-29 | 微软公司 | 创建虚拟机的主机级应用程序一致的备份 |
US20140365740A1 (en) * | 2013-06-10 | 2014-12-11 | Veeam Software Ag | Virtual Machine Backup from Storage Snapshot |
CN106062742A (zh) * | 2013-12-30 | 2016-10-26 | 赛门铁克公司 | 用于改进快照性能的系统和方法 |
CN106708430A (zh) * | 2016-11-30 | 2017-05-24 | 浪潮软件集团有限公司 | 一种云计算架构下的云硬盘实现方法 |
CN107391226A (zh) * | 2017-07-19 | 2017-11-24 | 郑州云海信息技术有限公司 | 一种开放堆栈Openstack平台下备份虚拟机的方法和装置 |
CN107515773A (zh) * | 2016-06-16 | 2017-12-26 | 北京易讯通信息技术股份有限公司 | 一种基于Openstack快速创建虚拟机的方法 |
CN110196755A (zh) * | 2019-05-07 | 2019-09-03 | 腾讯科技(深圳)有限公司 | 一种虚拟机快照管理方法、装置、服务器及存储介质 |
CN110417913A (zh) * | 2019-08-09 | 2019-11-05 | 浪潮云信息技术有限公司 | 一种基于Rabbit MQ的云服务器异步创建方法 |
-
2019
- 2019-12-13 CN CN201911281056.8A patent/CN111104367B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101421715A (zh) * | 2006-04-17 | 2009-04-29 | 微软公司 | 创建虚拟机的主机级应用程序一致的备份 |
US20140365740A1 (en) * | 2013-06-10 | 2014-12-11 | Veeam Software Ag | Virtual Machine Backup from Storage Snapshot |
CN106062742A (zh) * | 2013-12-30 | 2016-10-26 | 赛门铁克公司 | 用于改进快照性能的系统和方法 |
CN107515773A (zh) * | 2016-06-16 | 2017-12-26 | 北京易讯通信息技术股份有限公司 | 一种基于Openstack快速创建虚拟机的方法 |
CN106708430A (zh) * | 2016-11-30 | 2017-05-24 | 浪潮软件集团有限公司 | 一种云计算架构下的云硬盘实现方法 |
CN107391226A (zh) * | 2017-07-19 | 2017-11-24 | 郑州云海信息技术有限公司 | 一种开放堆栈Openstack平台下备份虚拟机的方法和装置 |
CN110196755A (zh) * | 2019-05-07 | 2019-09-03 | 腾讯科技(深圳)有限公司 | 一种虚拟机快照管理方法、装置、服务器及存储介质 |
CN110417913A (zh) * | 2019-08-09 | 2019-11-05 | 浪潮云信息技术有限公司 | 一种基于Rabbit MQ的云服务器异步创建方法 |
Non-Patent Citations (3)
Title |
---|
LUOHAIXIAN: "OpenStack虚拟机快照和增量备份实现", 《博客园》 * |
千夜恋歌: "OpenStack快照分析:(一)从镜像启动的云主机离线快照分析", 《博客园》 * |
吴联盟,王洪波,程时端: "OpenStack虚拟机启动机制研究", 《新型工业化》 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114168262A (zh) * | 2021-12-03 | 2022-03-11 | 中国人寿保险股份有限公司上海数据中心 | 一种基于lru置换算法的云平台镜像缓存管理方法 |
Also Published As
Publication number | Publication date |
---|---|
CN111104367B (zh) | 2023-08-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112099918B (zh) | 容器化环境中的集群的实时迁移 | |
CN111258609B (zh) | Kubernetes集群的升级方法、装置、电子设备和介质 | |
CN107515776B (zh) | 业务不间断升级方法、待升级节点和可读存储介质 | |
CN102594849B (zh) | 数据备份、恢复方法、虚拟机快照删除、回滚方法及装置 | |
CN106936899B (zh) | 分布式统计分析系统的配置方法及分布式统计分析系统 | |
CN105814544B (zh) | 用于支持分布式数据网格中的持久化分区恢复的系统和方法 | |
US10445186B1 (en) | Associating a guest application within a virtual machine to create dependencies in backup/restore policy | |
US20100050173A1 (en) | Provisioning Virtual Resources Using Name Resolution | |
CN112417051A (zh) | 容器编排引擎资源管理方法及装置、可读介质及电子设备 | |
CN108089912A (zh) | 一种虚拟机与容器超融合系统构建方法及装置 | |
CN104468734A (zh) | 一种基于克隆的虚拟集群扩展方法 | |
CN105635311A (zh) | 一种云管理平台中资源池信息同步的方法 | |
CN114925073B (zh) | 支持灵活动态分片的分布式数据库系统及其实现方法 | |
CN110134489A (zh) | 应用迁移方法及装置、系统、存储介质、应用上云工具 | |
US9632812B1 (en) | Collecting data associated with virtual machines from various data sources | |
CN111459619A (zh) | 一种基于云平台实现服务的方法和装置 | |
US10795747B2 (en) | File synchronizing service status monitoring and error handling | |
US9766984B2 (en) | N to M host system copy | |
CN111104367A (zh) | 一种基于openstack卷启动虚拟机创建私有镜像的方法 | |
CN113590033B (zh) | 一种超融合系统的信息同步方法及装置 | |
CN115826679A (zh) | 一种kubernetes集群中时钟源管理的方法、系统、设备及存储介质 | |
CN107515760B (zh) | 一种OpenStack多节点自动化安装方法及系统 | |
CN117581205A (zh) | 用于虚拟化系统中虚拟化操作的虚拟化引擎 | |
CN114553859A (zh) | 一种bmc配置管理方法、装置、电子设备及存储介质 | |
CN112559126A (zh) | 一种基于openstack云管理平台永久存储虚机还原的实现方法 |
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 | ||
CB02 | Change of applicant information |
Address after: 250100 building S02, Inspur Science Park, No. 1036, Inspur Road, high tech Zone, Jinan, Shandong Applicant after: Inspur cloud Information Technology Co.,Ltd. Address before: 250100 No. 1036 Tidal Road, Jinan High-tech Zone, Shandong Province, S01 Building, Tidal Science Park Applicant before: Tidal Cloud Information Technology Co.,Ltd. |
|
CB02 | Change of applicant information | ||
GR01 | Patent grant | ||
GR01 | Patent grant |