CN111240807A - 一种卷启动的虚拟机重建方法、终端及可读存储介质 - Google Patents
一种卷启动的虚拟机重建方法、终端及可读存储介质 Download PDFInfo
- Publication number
- CN111240807A CN111240807A CN202010068726.4A CN202010068726A CN111240807A CN 111240807 A CN111240807 A CN 111240807A CN 202010068726 A CN202010068726 A CN 202010068726A CN 111240807 A CN111240807 A CN 111240807A
- Authority
- CN
- China
- Prior art keywords
- volume
- virtual machine
- new
- nova
- api
- 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
- 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
-
- 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
Abstract
本发明公开了一种虚拟机重建方法、终端及可读存储介质,属于虚拟机重建领域,要解决的技术问题为如何实现在Openstack中对启动卷创建的虚拟机支持重建。方法包括:在Nova组件中,将挂载的原卷与实例分离,destroy虚拟机,并将卷的状态置为reserved;在Cinder组件中增设用于重建卷的API接口,将原卷删除,根据API接口传入的参数创建新卷并将镜像中的内容填充至新卷中;Nova组件中对卷的状态进行检验,当卷创建成功后将创建新卷挂载至虚拟机,并同步更新数据库。终端中处理器被配置用于调用程序指令执行上述方法。介质中程序指令当被处理器执行时处理器执行上述方法。
Description
技术领域
本发明涉及虚拟机重建领域,具体地说是一种卷启动的虚拟机重建方法、终端及可读存储介质。
背景技术
随着信息技术和云计算的发展,教育、科学、文化、政府等多个领域开始越来越多地应用云计算技术,因此,云计算平台中的用户数量也在逐渐增多,用户对Openstack中计算和存储的需求越来越明晰化、具体化。
在目前Openstack环境下,通过启动卷创建的虚拟机不支持rebuild操作,用户无法对启动卷创建的虚拟机进行重建操作,使Openstack在灵活性上受到限制,用户的体验上受到局限性。Openstack的Nova组件对volume启动的虚拟机不支持rebuild操作,对卷启动的虚拟机rebuild时不允许使用其他镜像,而Cinder以及Cinder_volume没有对应的rebuild方法,Cinderclient同时也没有提供与Nova对接的api命令。
针对以上问题,如何实现在Openstack中对启动卷创建的虚拟机支持重建,是需要解决的技术问题。
发明内容
本发明的技术任务是针对以上不足,提供一种一种卷启动的虚拟机重建方法、终端及可读存储介质,来解决如何实现在Openstack中对启动卷创建的虚拟机支持重建的问题。
第一方面,本发明提供一种卷启动的虚拟机重建方法,所述方法基于Openstack用于对启动卷创建的虚拟机进行重建,包括如下步骤:
S100、在Nova组件中,将挂载的原卷与实例分离,destroy虚拟机,并将卷的状态置为reserved;
S200、在Cinder组件中增设用于重建卷的API接口,将原卷删除,根据API接口传入的参数创建新卷并将镜像中的内容填充至新卷中;
S300、Nova组件中对卷的状态进行检验,当卷创建成功后将创建新卷挂载至虚拟机,并同步更新数据库;
所述参数包括volume_id和image_id。
作为优选,步骤S100中,将挂载的原卷与实例分离,destroy虚拟机之前,停止Nova组件中API接口对重建卷后端虚拟机的检查,不需对比卷的image信息。
作为优选,步骤S200包括如下分步骤:
调用CinderClient,通过CinderClient将参数发送至Cinder组件;
调用Cinder API组件中新增的rebuild接口,根据参数volume_id获取卷的信息,并对卷进行校验;
Cinder manager调用底层驱动的delete_volume方法,删除后端卷后,调用create_volume方法创建新的后端卷;
根据传入的参数volume_id创建新卷并将镜像中的内容填充至新卷中。
作为优选,根据参数volume_id获取卷的信息,并对卷进行校验,包括对卷的状态和大小进行校验。
作为优选,步骤S200中,如果重建卷的过程出错,将虚拟机的状态设置为ERROR,并执行步骤S100和步骤S200进行重建,直至重建成功。
作为优选,步骤S300,包括如下分步骤:
在Nova组件中,调用API接口的重建请求,对参数进行检验;
Nova manager中循环查询Cinder组件中创建的新卷的状态;
如果新卷创建成功,且新卷的状态为reserved,Nova manager调用attach_volume方法将新卷重新挂载至虚拟机,并重新启动虚拟机;
如果新卷创建失败,或者新卷创建成功、但状态不是reserved,则重新执行步骤S100-步骤S300。
作为优选,步骤S100中,在Nova组件中,将挂载的原卷与实例分离,包括如下步骤:
调用API接口的重建请求,对参数进行校验;
Nova manager调用detach_volume方法将挂载的原卷与实例分离,将状态置为reserved。
第二方面,本发明提供一种终端,包括处理器、输入设备、输出设备和存储器,处理器、输入设备、输出设备和存储器相互连接,存储器用于存储计算机程序,所述计算机程序包括程序指令,所述处理器被配置用于调用所述程序指令执行如第一方面任一项所述的一种卷启动的虚拟机重建方法。
第三方面,本发明提供一种可读存储介质,为计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序包括程序指令,程序指令当被处理器执行时所述处理器执行如第一方面任一项所述的一种卷启动的虚拟机重建方法。
本发明的一种卷启动的虚拟机重建方法、终端及可读存储介质具有以下优点:在Cinder组件中增设用于重建卷的API接口,在Nova组件中将挂载的原卷与实例分离,并destroy虚拟机后,在Cinder组件中通过API接口检验参数,并根据API接口传入的参数创建新卷并将镜像中的内容填充至新卷中,并同步更新数据库,在Nova组件中调用用于重建卷的API接口对参数进行检验,并将创建成功的新卷挂载至虚拟机,从而实现了在Openstack中对启动卷创建的虚拟机进行重建。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例中描述中所需要使用的附图作简要介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
下面结合附图对本发明进一步说明。
附图1为实施例1一种卷启动的虚拟机重建方法中Openstack框架的结构示意图;
附图2为实施例1一种卷启动的虚拟机重建方法的流程框图。
具体实施方式
下面结合附图和具体实施例对本发明作进一步说明,以使本领域的技术人员可以更好地理解本发明并能予以实施,但所举实施例不作为对本发明的限定,在不冲突的情况下,本发明实施例以及实施例中的技术特征可以相互结合。
本发明实施例提供一种卷启动的虚拟机重建方法、终端及可读存储介质,用于解决如何实现在Openstack中对启动卷创建的虚拟机支持重建的技术问题。
实施例1:
如附图1和附图2所示,本发明的一种卷启动的虚拟机重建方法,其后端存储为LVM(Logical Volume Manager,逻辑卷管理)或者为ceph对接的Cinder,该方法基于Openstack用于对启动卷创建的虚拟机进行重建,包括如下步骤:
S100、在Nova组件中,将挂载的原卷与实例分离,destroy虚拟机,并将卷的状态置为reserved;
S200、在Cinder组件中增设用于重建卷的API接口,将原卷删除,根据API接口传入的参数创建新卷并将镜像中的内容填充至新卷中;
S300、Nova组件中对卷的状态进行检验,当卷创建成功后将创建新卷挂载至虚拟机,并同步更新数据库;
其中上述参数包括volume_id和image_id。
步骤S100中,将挂载的原卷与实例分离,destroy虚拟机之前,停止Nova组件中API接口对重建卷后端虚拟机的检查,不需对比卷的image信息。
步骤S100中,在Nova组件中,将挂载的原卷与实例分离,包括如下分步骤:
S110、调用API接口的重建请求,对参数进行校验;
S120、Nova manager调用detach_volume方法将挂载的原卷与实例分离。
步骤S200包括如下分步骤:
S210、调用CinderClient,通过CinderClient将参数发送至Cinder组件;
S220、调用Cinder组件中增设的API接口,用于对参数进行校验;
S230、调用Cinder组件中API接口的重建请求,根据参数volume_id获取卷的信息,并对卷进行校验,包括对卷的状态和大小等进行校验;
S240、Cinder manager调用底层驱动的delete_volume方法,删除后端卷后,调用create_volume方法创建新的后端卷;
S250、根据传入的参数volume_id创建新卷并将镜像中的内容填充至新卷中。
步骤S200中,重建卷可以直接对后端进行删除和创建,不需要对当前的卷进行备份,如果一旦重建出错,则将虚拟机的状态置为‘ERROR’,示意虚拟机重建失败,并执行步骤S100和步骤S200进行重建,直至重建成功。
步骤S300中,在Nova端循环查询Cinder新创建的卷的状态,卷创建成功并且状态为reserved时,Nova将卷重新挂载到虚拟机上,重新启动;若创建卷中异常直接中止操作,提示用户重新操作,具体包括如下分步骤:
S310、在Nova组件中,调用API接口的重建请求,对参数进行检验;
S320、调用Nova manager,循环查询Cinder组件中创建的新卷的状态;
S330、如果新卷创建成功,且新卷的状态为reserved,Nova manager调用attach_volume方法将新卷重新挂载至虚拟机,并重新启动虚拟机;
S340、如果新卷创建失败,或者新卷创建成功、但状态不是reserved,则重新执行步骤S100-步骤S300。
本实施例中在Cinder组件中增加了一个重建卷的API接口,该API接口接受一个“volume_id”和“image_id”,将原卷detach并删除,根据传入的volume_id创建新的卷并将镜像中的内容填充到新卷中;Nova组件方面则需要修改重建虚拟机的代码,调用重建卷的API,将卷内容恢复到给定的镜像,同时更新数据库中的数据。
实施例2:
本发明的一种终端,包括处理器、输入设备、输出设备和存储器,处理器、输入设备、输出设备和存储器相互连接,存储器用于存储计算机程序,计算机程序包括程序指令,处理器被配置用于调用所述程序指令执行如实施例1公开的一种卷启动的虚拟机重建方法。
实施例3:
本发明的一种可读存储介质,为计算机可读存储介质,该计算机可读存储介质存储有计算机程序,计算机程序包括程序指令,程序指令当被处理器执行时所述处理器执行如实施例1公开的一种卷启动的虚拟机重建方法。
计算机可读存储介质包括但不限于机械硬盘、固态硬盘等。
以上所述实施例仅是为充分说明本发明而所举的较佳的实施例,本发明的保护范围不限于此。本技术领域的技术人员在本发明基础上所作的等同替代或变换,均在本发明的保护范围之内。本发明的保护范围以权利要求书为准。
Claims (9)
1.一种卷启动的虚拟机重建方法,其特征在于所述方法基于Openstack用于对启动卷创建的虚拟机进行重建,包括如下步骤:
S100、在Nova组件中,将挂载的原卷与实例分离,destroy虚拟机,并将卷的状态置为reserved;
S200、在Cinder组件中增设用于重建卷的API接口,将原卷删除,根据API接口传入的参数创建新卷并将镜像中的内容填充至新卷中;
S300、Nova组件中对卷的状态进行检验,当卷创建成功后将创建新卷挂载至虚拟机,并同步更新数据库;
所述参数包括volume_id和image_id。
2.根据权利要求1所述的一种卷启动的虚拟机重建方法,其特征在于步骤S100中,将挂载的原卷与实例分离,destroy虚拟机之前,停止Nova组件中API接口对重建卷后端虚拟机的检查,不需对比卷的image信息。
3.根据权利要求1或2所述的一种卷启动的虚拟机重建方法,其特征在于步骤S200包括如下分步骤:
调用CinderClient,通过CinderClient将参数发送至Cinder组件;
调用Cinder API组件中新增的rebuild接口,根据参数volume_id获取卷的信息,并对卷进行校验;
Cinder manager调用底层驱动的delete_volume方法,删除后端卷后,调用create_volume方法创建新的后端卷;
根据传入的参数volume_id创建新卷并将镜像中的内容填充至新卷中。
4.根据权利要求3所述的一种卷启动的虚拟机重建方法,其特征在于根据参数volume_id获取卷的信息,并对卷进行校验,包括对卷的状态和大小进行校验。
5.根据权利要求1、2或3所述的一种卷启动的虚拟机重建方法,其特征在于步骤S200中,如果重建卷的过程出错,将虚拟机的状态设置为ERROR,并执行步骤S100和步骤S200进行重建,直至重建成功。
6.根据权利要求根据权利要求1、2或3所述的一种卷启动的虚拟机重建方法,其特征在于步骤S300,包括如下分步骤:
在Nova组件中,调用API接口的重建请求,对参数进行检验;
Nova manager中循环查询Cinder组件中创建的新卷的状态;
如果新卷创建成功,且新卷的状态为reserved,Nova manager调用attach_volume方法将新卷重新挂载至虚拟机,并重新启动虚拟机;
如果新卷创建失败,或者新卷创建成功、但状态不是reserved,则重新执行步骤S100-步骤S300。
7.根据权利要求1、2或3所述的一种卷启动的虚拟机重建方法,其特征在于步骤S100中,在Nova组件中,将挂载的原卷与实例分离,包括如下步骤:
调用API接口的重建请求,对参数进行校验;
Nova manager调用detach_volume方法将挂载的原卷与实例分离,将状态置为reserved。
8.一种终端,其特征在于包括处理器、输入设备、输出设备和存储器,处理器、输入设备、输出设备和存储器相互连接,存储器用于存储计算机程序,所述计算机程序包括程序指令,所述处理器被配置用于调用所述程序指令执行如权利要求1-7任一项所述的一种卷启动的虚拟机重建方法。
9.一种可读存储介质,为计算机可读存储介质,其特征在于所述计算机可读存储介质存储有计算机程序,所述计算机程序包括程序指令,程序指令当被处理器执行时所述处理器执行如权利要求1-7任一项所述的一种卷启动的虚拟机重建方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010068726.4A CN111240807B (zh) | 2020-01-21 | 2020-01-21 | 一种卷启动的虚拟机重建方法、终端及可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010068726.4A CN111240807B (zh) | 2020-01-21 | 2020-01-21 | 一种卷启动的虚拟机重建方法、终端及可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111240807A true CN111240807A (zh) | 2020-06-05 |
CN111240807B CN111240807B (zh) | 2023-03-28 |
Family
ID=70874819
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010068726.4A Active CN111240807B (zh) | 2020-01-21 | 2020-01-21 | 一种卷启动的虚拟机重建方法、终端及可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111240807B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111880907A (zh) * | 2020-08-04 | 2020-11-03 | 浪潮云信息技术股份公司 | 一种针对OpenStack平台利用ISO启动虚拟机的方法 |
CN112000440A (zh) * | 2020-08-24 | 2020-11-27 | 浪潮云信息技术股份公司 | 一种基于云平台的多启动卷虚拟机启动顺序变更方法 |
CN112346874A (zh) * | 2020-11-27 | 2021-02-09 | 中国工商银行股份有限公司 | 基于云平台的异常卷处理方法及装置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20090028010A (ko) * | 2007-09-13 | 2009-03-18 | 삼성전자주식회사 | 휴대용 미디어 재생 장치의 데이터를 업데이트하는 방법 및이를 위한 장치 |
CN106598692A (zh) * | 2015-10-20 | 2017-04-26 | 中兴通讯股份有限公司 | 在逻辑卷中创建镜像文件、虚拟机启动方法及服务器 |
CN107197022A (zh) * | 2017-06-02 | 2017-09-22 | 华南理工大学 | OpenStack存储优化方法及系统 |
CN107741874A (zh) * | 2017-10-12 | 2018-02-27 | 武汉中地数码科技有限公司 | 一种gis云虚拟机自动创建方法及系统 |
CN110659109A (zh) * | 2019-09-26 | 2020-01-07 | 上海仪电(集团)有限公司中央研究院 | 一种openstack集群虚拟机监控系统及方法 |
-
2020
- 2020-01-21 CN CN202010068726.4A patent/CN111240807B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20090028010A (ko) * | 2007-09-13 | 2009-03-18 | 삼성전자주식회사 | 휴대용 미디어 재생 장치의 데이터를 업데이트하는 방법 및이를 위한 장치 |
CN106598692A (zh) * | 2015-10-20 | 2017-04-26 | 中兴通讯股份有限公司 | 在逻辑卷中创建镜像文件、虚拟机启动方法及服务器 |
CN107197022A (zh) * | 2017-06-02 | 2017-09-22 | 华南理工大学 | OpenStack存储优化方法及系统 |
CN107741874A (zh) * | 2017-10-12 | 2018-02-27 | 武汉中地数码科技有限公司 | 一种gis云虚拟机自动创建方法及系统 |
CN110659109A (zh) * | 2019-09-26 | 2020-01-07 | 上海仪电(集团)有限公司中央研究院 | 一种openstack集群虚拟机监控系统及方法 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111880907A (zh) * | 2020-08-04 | 2020-11-03 | 浪潮云信息技术股份公司 | 一种针对OpenStack平台利用ISO启动虚拟机的方法 |
CN112000440A (zh) * | 2020-08-24 | 2020-11-27 | 浪潮云信息技术股份公司 | 一种基于云平台的多启动卷虚拟机启动顺序变更方法 |
CN112346874A (zh) * | 2020-11-27 | 2021-02-09 | 中国工商银行股份有限公司 | 基于云平台的异常卷处理方法及装置 |
CN112346874B (zh) * | 2020-11-27 | 2023-08-25 | 中国工商银行股份有限公司 | 基于云平台的异常卷处理方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN111240807B (zh) | 2023-03-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111240807B (zh) | 一种卷启动的虚拟机重建方法、终端及可读存储介质 | |
US11809726B2 (en) | Distributed storage method and device | |
CN105630632B (zh) | 一种虚拟机恢复的方法及虚拟机管理设备 | |
CN110515774A (zh) | 内存快照的生成方法、装置、电子设备及存储介质 | |
CN105989160A (zh) | 一种针对Redis数据库的内存数据持久化方法和装置 | |
CN107016016B (zh) | 一种数据处理的方法及装置 | |
CN113672350B (zh) | 一种应用处理方法、装置及相关设备 | |
CN110825419B (zh) | 一种固件刷新方法、装置及电子设备和存储介质 | |
CN109189613A (zh) | 一种数据库数据恢复方法及相关装置 | |
JP7215971B2 (ja) | 記憶機器のデータ位置の処理方法及び処理装置、コンピュータ機器並びにコンピュータ読み取り可能な記憶媒体 | |
CN112559127B (zh) | 虚拟机创建方法、装置、主机及存储介质 | |
CN111414356A (zh) | 数据存储方法、装置、非关系数据库系统及存储介质 | |
CN109032753A (zh) | 一种异构虚拟机硬盘托管方法、系统、存储介质及Nova平台 | |
CN113094362A (zh) | 一种异步消息可靠投递和处理的方法和装置 | |
CN114631087A (zh) | 为基于云的数据库生成重做记录的方法和装置 | |
CN111770139A (zh) | 一种分布式存储系统远程同步数据的方法、装置及系统 | |
CN114328007B (zh) | 一种容器备份还原方法、装置及其介质 | |
CN115048190B (zh) | 虚拟机快照管理方法、系统及计算机可读介质 | |
CN115098297B (zh) | 一种云原生存储数据卷的一致性快照生成方法和系统 | |
CN111309424A (zh) | 一种页面还原方法及相关设备 | |
CN116661943A (zh) | Kubernetes系统平台下Pod数据卷动态挂载方法及装置 | |
CN113835625B (zh) | 一种基于子路径的数据存储方法、装置、设备及存储介质 | |
CN109669815A (zh) | 一种通过lun远程映射实现备份数据恢复的方法及系统 | |
CN115562590A (zh) | 一种云主机使用云硬盘的方法、系统、设备和存储介质 | |
US10877868B2 (en) | Applying a log to storage segments |
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 |