CN112463248B - 基于OpenStack云平台挂载及卸载云硬盘的方法 - Google Patents
基于OpenStack云平台挂载及卸载云硬盘的方法 Download PDFInfo
- Publication number
- CN112463248B CN112463248B CN202011327923.XA CN202011327923A CN112463248B CN 112463248 B CN112463248 B CN 112463248B CN 202011327923 A CN202011327923 A CN 202011327923A CN 112463248 B CN112463248 B CN 112463248B
- Authority
- CN
- China
- Prior art keywords
- nova
- cloud
- hard disk
- component
- mounting
- 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
- 238000000034 method Methods 0.000 title claims abstract description 31
- 102100036790 Tubulin beta-3 chain Human genes 0.000 claims description 9
- 239000000306 component Substances 0.000 description 105
- 238000007726 management method Methods 0.000 description 12
- 238000013507 mapping Methods 0.000 description 3
- 238000006467 substitution reaction Methods 0.000 description 3
- 230000009286 beneficial effect Effects 0.000 description 2
- 230000000903 blocking effect Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 238000013508 migration Methods 0.000 description 2
- 230000005012 migration Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 1
- 239000008358 core component Substances 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
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/445—Program loading or initiating
- G06F9/44594—Unloading
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
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)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明提供一种基于OpenStack云平台挂载及卸载云硬盘的方法,所述挂载方法步骤:在云主机设置任务状态机;nova‑api获取挂载云硬盘请求后,在云主机无操作状态时,将云主机的状态设置为挂载中;nova‑api向nova‑compute发送创建bdm请求,等待nova‑compute返回bdm信息,以及在超时时,将云主机状态设置为无操作;nova‑compute接收到nova‑api发送来的创建bdm请求后,在云主机处于挂载中状态时,创建bdm记录,将bdm信息返回给nova‑api;nova‑api将cinder中挂载卷信息填充到bdm信息,再发送给nova‑compute进行云硬盘挂载。
Description
技术领域
本发明属于OpenStack云平台技术领域,具体涉及一种基于OpenStack云平台挂载及卸载云硬盘的方法。
背景技术
bdm,是block_device_mapping的简称,块设备映射。
RPC,是Remote Procedure Call的简称,指远程过程调用。
UUID,是Universally Unique Identifier的简称,通用唯一识别码,是一种软件建构的标准,亦为开放软件基金会组织在分布式计算环境领域的一部分。
OpenStack是一个开源的云计算管理平台项目,是一系列软件开源项目的组合。由NASA(美国国家航空航天局)和Rackspace合作研发并发起,以Apache许可证(Apache软件基金会发布的一个自由软件许可证)授权的开源代码项目。[1]
OpenStack为私有云和公有云提供可扩展的弹性的云计算服务。项目目标是提供实施简单、可大规模扩展、丰富、标准统一的云计算管理平台。
云硬盘:是指能够为云平台提供数据存储能力的模块。在openstack云平台中,由cinder模块为云平台提供云硬盘管理服务。一般而言,都需要对接第三方存储系统,从而使得云平台有更加广泛的运营能力,即一个云硬盘对应底层存储系统的一个存储卷。
计算管理模块:OpenStack的计算管理模块由nova模块负责提供,可以提供云主机整个生命周期各个状态的管理工作;同时可以对云主机中云硬盘挂载和卸载进行管理操作。nova-api服务是从UI界面接收云主机管理请求,对云主机所有的操作都必须通过nova-api服务,然后nova-api服务对请求进行解析和映射,再转发给其他nova服务组件进行进一步处理。nova-compute服务是管理云主机的主要服务组件,是nova服务的核心组件,主要负责云主机整个生命周期的管理。
卷管理模块:OpenStack的卷管理模块主要由cinder服务来提供,主要用于卷的创建、删除等操作。
RPC消息队列:OpenStack云平台各个服务之间的消息通信机制。RPC call消息通信机制是进行阻塞等待的,直至超时;RPC cast是异步操作,发送消息之后,不进行等待直接返回。
随着Openstack云平台的大规模应用,为了满足更加广泛的应用需求,OpenStack需要对接不同的存储后端;由于不同的存储后端存在明显的差异,nova服务在挂载云硬盘时挂载时间会有所不同。当前nova在连续挂载云硬盘的时候,是对云主机进行锁定同步,即一个云主机同一时刻只能挂载一个云硬盘。如果UI端同时发送多个挂载请求时,若挂载第一个云硬盘时间过长,则第二个云硬盘挂载请求就会出现超时,同时会在数据库中的block_device_mapping(后面简写为bdm)中创建一个残留记录。该残留记录会造成云硬盘数据库记录和云硬盘实际挂载信息不同步,即数据库记录上挂载成功但实际未挂载成功的现象。对后续云主机管理造成极大的障碍和不便,特别是云主机备份、还原、迁移等操作时,可能会造成操作云主机时出现失败。
此为现有技术的不足,因此,针对现有技术中的上述缺陷,提供一种基于OpenStack云平台挂载及卸载云硬盘的方法,是非常有必要的。
发明内容
针对现有技术的上述OpenStack云平台由于对接不同的存储后端,在挂载和卸载云硬盘的耗时会有所不同。当出现连续挂载时,可能会出现挂载等待时间过长,后续挂载操作超时的情况,造成数据库信息残留的缺陷,本发明提供一种基于OpenStack云平台挂载及卸载云硬盘的方法,以解决上述技术问题。
第一方面,本发明提供一种基于OpenStack云平台挂载云硬盘的方法,包括如下步骤:
S1.在云主机设置任务状态机,所述任务状态机记录云主机挂载及卸载云硬盘的操作,包括挂载中、卸载中以及无操作;
S2.nova-api组件获取到挂载云硬盘的请求后,并在云主机无操作状态时,将云主机的状态设置为挂载中;
S3.nova-api组件向nova-compute组件发送创建bdm数据库记录的请求,并等待nova-compute组件返回创建的bdm信息,以及在等待超时时,将云主机状态设置为无操作;
S4.nova-compute组件接收到nova-api组件发送来的创建bdm数据记录请求后,在云主机仍处于挂载中状态时,在数据库创建bdm记录,并将创建的bdm信息返回给nova-api组件;
S5.nova-api组件将cinder服务中待挂载卷信息填充到返回的bdm信息中,再发送给nova-compute服务进行云硬盘的挂载。
进一步地,步骤S2具体步骤如下:
S21.UI界面发送挂载云硬盘的请求到nova-api组件;所述挂载云硬盘的请求包括云主机的uuid和云硬盘的uuid;
S22.nova-api组件接收到UI界面的挂载云硬盘请求后,根据云主机uuid及云硬盘uuid判断对应云主机及对应待挂载云硬盘是否均存在,且对应待挂载云硬盘是否可用;
若是,进入步骤S23;
若否,提示错误,结束;
S23.nova-api组件判断云主机的任务状态机是否在无操作状态;
若是,进入步骤S25;
若否,进入步骤S24;
S24.判断是否超时;
若是,提示超时错误,结束;
若否,返回步骤S23;
S25.nova-api组件将云主机的任务状态机设置为挂载中。
进一步地,步骤S3具体步骤如下:
S31.nova-api组件向nova-compute组件发送创建bdm数据库记录的RPC call请求;所述创建bdm数据库记录的RPC call请求中包括指定的云硬盘的盘符信息;
S32.nova-api组件阻塞等待nova-compute组件返回RPC call请求;
S33.nova-api组件判断nova-compute组件返回是否超时;
若是,进入步骤S34;
若否,返回步骤S32;
S34.nova-api组件将云主机的任务状态机设置为无操作,返回错误提示,结束。
进一步地,步骤S4具体步骤如下:
S41.nova-compute组件接收到nova-api组件发送来的创建bdm数据记录请求后,判断云主机的任务状态机是否为挂载中;
若是,进入步骤S42;
若否,终止创建bdm数据库记录,结束;
S42.根据云硬盘的盘符信息及uuid信息创建bdm数据库记录;
S43.将创建bdm信息返回给nova-api组件。
进一步地,步骤S5具体步骤如下:
S51.nova-api组件将cinder服务中待挂载卷的信息填充到返回的bdm信息中,生成挂载请求;
S52.nova-api组件向nova-compute组件发送RPC cast的挂载请求;
S53.nova-compute组件根据云主机处于活跃状态还是停止状态设置标志位;
S54.nova-compute组件调用libvirt API接口将待挂载云硬盘的卷信息填写到云主机的XML文件中;
S55.nova-compute组件调用cinder服务的API接口连接云硬盘所在的存储后端进行云硬盘挂载;
S56.nova-compute组件判断云硬盘挂载是否成功;
若是,nova-compute组件将云主机的任务状态机状态从挂载中设置为无操作,结束;
若否,nova-compute组件删除bdm信息,回滚原有的状态,更新本次挂载云硬盘的操作记录信息为错误,同时将云主机的任务状态机设置为无操作。
第二方面,本发明提供一种基于OpenStack云平台卸载云硬盘的方法,包括如下步骤:
SS1.在云主机设置任务状态机,所述任务状态机记录云主机挂载及卸载云硬盘的操作,包括挂载中、卸载中以及无操作;
SS2.nova-api组件获取到卸载云硬盘的请求后,并在云主机无操作状态时,将云主机的状态设置为卸载中;
SS3.nova-api组件向nova-compute组件发送卸载云硬盘的请求;
SS4.nova-compute组件接收到nova-api组件发送来的卸载云硬盘的请求后,在云主机仍处于卸载中状态时,执行云硬盘卸载操作。
进一步地,步骤SS2具体步骤如下:
SS21.UI界面发送卸载云硬盘的请求到nova-api组件;
SS22.nova-api组件接收到UI界面的卸载云硬盘请求后,判断待卸载云硬盘是否处于正在使用状态或者为待挂载到当前云主机状态;
若是,进入步骤SS23;
若否,提示错误,结束;
SS23.nova-api组件判断云主机的任务状态机是否在无操作状态;
若是,进入步骤SS25;
若否,进入步骤SS24;
SS24.判断是否超时;
若是,提示超时错误,结束;
若否,返回步骤SS23;
SS25.nova-api组件将云主机的任务状态机设置为卸载中。
进一步地,SS3具体步骤如下:
SS31.nova-api组件向nova-compute组件发送卸载云硬盘的RPC cast请求;
SS32.nova-api组件判断发送请求是否出现错误;
若是,进入步骤SS33;
若否,进入步骤SS4;
SS33.nova-api组件将云主机的任务状态机设置为无操作。
进一步地,步骤SS4具体步骤如下:
SS41.nova-compute组件接收到nova-api组件的RPC cast请求后,判断云主机的任务状态机是否为卸载中;
若是,进入步骤SS42;
若否,将本次操作置为错误,终止本次操作并返回;
SS42.nova-compute组件根据RPC cast请求信息调用libvirt和cinder服务的接口,执行卸载云硬盘操作;
SS43.nova-compute组件判断云硬盘卸载是否成功;
若是,进入步骤SS44;
SS44.nova-compute组件将云主机的任务状态机状态从卸载中设置为无操作。
进一步地,步骤SS43中,当nova-compute组件判定云硬盘卸载未成功时,进入步骤SS45;
SS45.nova-compute组件回滚原有的状态,更新本次卸载云硬盘的操作记录信息为错误,同时将云主机的任务状态机设置为无操作。
本发明的有益效果在于,
本发明提供的基于OpenStack云平台挂载及卸载云硬盘的方法,通过对挂载云硬盘过程增加任务状态机记录挂载中和卸载中状态,保护整个云主机挂载和卸载云硬盘的流程,避免由于存储后端不同,导致挂载云硬盘时间过长,出现连续挂载导致后续操作中创建bdm超时,数据库中出现数据残留问题;本发明通过在nova-api组件中增加阻塞和判断当前云主机任务状态机状态,避免出现上述问题,同时提高了UI界面的可操作性,无需等待第一块云硬盘完全挂载成功之后,再进行第二块云硬盘挂载的状况;同时通过增加任务状态机的方式避免了云主机在挂载云硬盘和卸载云硬盘期间有其他任务操作,如快照、备份、迁移操作,提高了云平台的可操作性,增强了云平台运行的鲁棒性。
此外,本发明设计原理可靠,结构简单,具有非常广泛的应用前景。
由此可见,本发明与现有技术相比,具有突出的实质性特点和显著的进步,其实施的有益效果也是显而易见的。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明的方法流程示意图一;
图2是本发明的方法流程示意图二。
具体实施方式
为了使本技术领域的人员更好地理解本发明中的技术方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
实施例1:
如图1所示,本发明提供一种基于OpenStack云平台挂载云硬盘的方法,包括如下步骤:
S1.在云主机设置任务状态机,所述任务状态机记录云主机挂载及卸载云硬盘的操作,包括挂载中、卸载中以及无操作;
S2.nova-api组件获取到挂载云硬盘的请求后,并在云主机无操作状态时,将云主机的状态设置为挂载中;
S3.nova-api组件向nova-compute组件发送创建bdm数据库记录的请求,并等待nova-compute组件返回创建的bdm信息,以及在等待超时时,将云主机状态设置为无操作;
S4.nova-compute组件接收到nova-api组件发送来的创建bdm数据记录请求后,在云主机仍处于挂载中状态时,在数据库创建bdm记录,并将创建的bdm信息返回给nova-api组件;
S5.nova-api组件将cinder服务中待挂载卷信息填充到返回的bdm信息中,再发送给nova-compute服务进行云硬盘的挂载。
在某些实施例中,步骤S2具体步骤如下:
S21.UI界面发送挂载云硬盘的请求到nova-api组件;所述挂载云硬盘的请求包括云主机的uuid和云硬盘的uuid;
S22.nova-api组件接收到UI界面的挂载云硬盘请求后,根据云主机uuid及云硬盘uuid判断对应云主机及对应待挂载云硬盘是否均存在,且对应待挂载云硬盘是否可用;
若是,进入步骤S23;
若否,提示错误,结束;
S23.nova-api组件判断云主机的任务状态机是否在无操作状态;
若是,进入步骤S25;
若否,进入步骤S24;
S24.判断是否超时;
若是,提示超时错误,结束;
若否,返回步骤S23;
S25.nova-api组件将云主机的任务状态机设置为挂载中。
在某些实施例中,步骤S3具体步骤如下:
S31.nova-api组件向nova-compute组件发送创建bdm数据库记录的RPC call请求;所述创建bdm数据库记录的RPC call请求中包括指定的云硬盘的盘符信息;
S32.nova-api组件阻塞等待nova-compute组件返回RPC call请求;
S33.nova-api组件判断nova-compute组件返回是否超时;
若是,进入步骤S34;
若否,返回步骤S32;
S34.nova-api组件将云主机的任务状态机设置为无操作,返回错误提示,结束。
在某些实施例中,步骤S4具体步骤如下:
S41.nova-compute组件接收到nova-api组件发送来的创建bdm数据记录请求后,判断云主机的任务状态机是否为挂载中;
若是,进入步骤S42;
若否,终止创建bdm数据库记录,结束;
S42.根据云硬盘的盘符信息及uuid信息创建bdm数据库记录;
S43.将创建bdm信息返回给nova-api组件。
在某些实施例中,步骤S5具体步骤如下:
S51.nova-api组件将cinder服务中待挂载卷的信息填充到返回的bdm信息中,生成挂载请求;
S52.nova-api组件向nova-compute组件发送RPC cast的挂载请求;
S53.nova-compute组件根据云主机处于活跃状态还是停止状态设置标志位;
S54.nova-compute组件调用libvirt API接口将待挂载云硬盘的卷信息填写到云主机的XML文件中;
S55.nova-compute组件调用cinder服务的API接口连接云硬盘所在的存储后端进行云硬盘挂载;
S56.nova-compute组件判断云硬盘挂载是否成功;
若是,nova-compute组件将云主机的任务状态机状态从挂载中设置为无操作,结束;
若否,nova-compute组件删除bdm信息,回滚原有的状态,更新本次挂载云硬盘的操作记录信息为错误,同时将云主机的任务状态机设置为无操作。
实施例2:
如图2所示,本发明提供一种基于OpenStack云平台卸载云硬盘的方法,包括如下步骤:
SS1.在云主机设置任务状态机,所述任务状态机记录云主机挂载及卸载云硬盘的操作,包括挂载中、卸载中以及无操作;
SS2.nova-api组件获取到卸载云硬盘的请求后,并在云主机无操作状态时,将云主机的状态设置为卸载中;
SS3.nova-api组件向nova-compute组件发送卸载云硬盘的请求;
SS4.nova-compute组件接收到nova-api组件发送来的卸载云硬盘的请求后,在云主机仍处于卸载中状态时,执行云硬盘卸载操作。
在某些实施例中,步骤SS2具体步骤如下:
SS21.UI界面发送卸载云硬盘的请求到nova-api组件;
SS22.nova-api组件接收到UI界面的卸载云硬盘请求后,判断待卸载云硬盘是否处于正在使用状态或者为待挂载到当前云主机状态;
若是,进入步骤SS23;
若否,提示错误,结束;
SS23.nova-api组件判断云主机的任务状态机是否在无操作状态;
若是,进入步骤SS25;
若否,进入步骤SS24;
SS24.判断是否超时;
若是,提示超时错误,结束;
若否,返回步骤SS23;
SS25.nova-api组件将云主机的任务状态机设置为卸载中。
在某些实施例中,SS3具体步骤如下:
SS31.nova-api组件向nova-compute组件发送卸载云硬盘的RPC cast请求;
SS32.nova-api组件判断发送请求是否出现错误;
若是,进入步骤SS33;
若否,进入步骤SS4;
SS33.nova-api组件将云主机的任务状态机设置为无操作。
在某些实施例中,步骤SS4具体步骤如下:
SS41.nova-compute组件接收到nova-api组件的RPC cast请求后,判断云主机的任务状态机是否为卸载中;
若是,进入步骤SS42;
若否,将本次操作置为错误,终止本次操作并返回;
SS42.nova-compute组件根据RPC cast请求信息调用libvirt和cinder服务的接口,执行卸载云硬盘操作;
SS43.nova-compute组件判断云硬盘卸载是否成功;
若是,进入步骤SS44;
SS44.nova-compute组件将云主机的任务状态机状态从卸载中设置为无操作。
在某些实施例中,步骤SS43中,当nova-compute组件判定云硬盘卸载未成功时,进入步骤SS45;
SS45.nova-compute组件回滚原有的状态,更新本次卸载云硬盘的操作记录信息为错误,同时将云主机的任务状态机设置为无操作。
尽管通过参考附图并结合优选实施例的方式对本发明进行了详细描述,但本发明并不限于此。在不脱离本发明的精神和实质的前提下,本领域普通技术人员可以对本发明的实施例进行各种等效的修改或替换,而这些修改或替换都应在本发明的涵盖范围内/任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。
Claims (10)
1.一种基于OpenStack云平台挂载云硬盘的方法,其特征在于,包括如下步骤:
S1.在云主机设置任务状态机,所述任务状态机记录云主机挂载及卸载云硬盘的操作,包括挂载中、卸载中以及无操作;
S2.nova-api组件获取到挂载云硬盘的请求后,并在云主机无操作状态时,将云主机的状态设置为挂载中;
S3.nova-api组件向nova-compute组件发送创建bdm数据库记录的请求,并等待nova-compute组件返回创建的bdm信息,以及在等待超时时,将云主机状态设置为无操作;
S4.nova-compute组件接收到nova-api组件发送来的创建bdm数据记录请求后,在云主机仍处于挂载中状态时,在数据库创建bdm记录,并将创建的bdm信息返回给nova-api组件;
S5.nova-api组件将cinder服务中待挂载卷信息填充到返回的bdm信息中,再发送给nova-compute服务进行云硬盘的挂载。
2.如权利要求1所述的基于OpenStack云平台挂载云硬盘的方法,其特征在于,步骤S2具体步骤如下:
S21.UI界面发送挂载云硬盘的请求到nova-api组件;所述挂载云硬盘的请求包括云主机的uuid和云硬盘的uuid;
S22.nova-api组件接收到UI界面的挂载云硬盘请求后,根据云主机uuid及云硬盘uuid判断对应云主机及对应待挂载云硬盘是否均存在,且对应待挂载云硬盘是否可用;
若是,进入步骤S23;
若否,提示错误,结束;
S23.nova-api组件判断云主机的任务状态机是否在无操作状态;
若是,进入步骤S25;
若否,进入步骤S24;
S24.判断是否超时;
若是,提示超时错误,结束;
若否,返回步骤S23;
S25.nova-api组件将云主机的任务状态机设置为挂载中。
3.如权利要求1所述的基于OpenStack云平台挂载云硬盘的方法,其特征在于,步骤S3具体步骤如下:
S31.nova-api组件向nova-compute组件发送创建bdm数据库记录的RPCcall请求;所述创建bdm数据库记录的RPC call请求中包括指定的云硬盘的盘符信息;
S32.nova-api组件阻塞等待nova-compute组件返回RPC call请求;
S33.nova-api组件判断nova-compute组件返回是否超时;
若是,进入步骤S34;
若否,返回步骤S32;
S34.nova-api组件将云主机的任务状态机设置为无操作,返回错误提示,结束。
4.如权利要求3所述的基于OpenStack云平台挂载云硬盘的方法,其特征在于,步骤S4具体步骤如下:
S41.nova-compute组件接收到nova-api组件发送来的创建bdm数据记录请求后,判断云主机的任务状态机是否为挂载中;
若是,进入步骤S42;
若否,终止创建bdm数据库记录,结束;
S42.根据云硬盘的盘符信息及uuid信息创建bdm数据库记录;
S43.将创建bdm信息返回给nova-api组件。
5.如权利要求1所述的基于OpenStack云平台挂载云硬盘的方法,其特征在于,步骤S5具体步骤如下:
S51.nova-api组件将cinder服务中待挂载卷的信息填充到返回的bdm信息中,生成挂载请求;
S52.nova-api组件向nova-compute组件发送RPC cast的挂载请求;
S53.nova-compute组件根据云主机处于活跃状态还是停止状态设置标志位;
S54.nova-compute组件调用libvirt API接口将待挂载云硬盘的卷信息填写到云主机的XML文件中;
S55.nova-compute组件调用cinder服务的API接口连接云硬盘所在的存储后端进行云硬盘挂载;
S56.nova-compute组件判断云硬盘挂载是否成功;
若是,nova-compute组件将云主机的任务状态机状态从挂载中设置为无操作,结束;
若否,nova-compute组件删除bdm信息,回滚原有的状态,更新本次挂载云硬盘的操作记录信息为错误,同时将云主机的任务状态机设置为无操作。
6.一种基于OpenStack云平台卸载云硬盘的方法,其特征在于,包括如下步骤:
SS1.在云主机设置任务状态机,所述任务状态机记录云主机挂载及卸载云硬盘的操作,包括挂载中、卸载中以及无操作;
SS2.nova-api组件获取到卸载云硬盘的请求后,并在云主机无操作状态时,将云主机的状态设置为卸载中;
SS3.nova-api组件向nova-compute组件发送卸载云硬盘的请求;
SS4.nova-compute组件接收到nova-api组件发送来的卸载云硬盘的请求后,在云主机仍处于卸载中状态时,执行云硬盘卸载操作。
7.如权利要求6所述的基于OpenStack云平台卸载云硬盘的方法,其特征在于,步骤SS2具体步骤如下:
SS21.UI界面发送卸载云硬盘的请求到nova-api组件;
SS22.nova-api组件接收到UI界面的卸载云硬盘请求后,判断待卸载云硬盘是否处于正在使用状态或者为待挂载到当前云主机状态;
若是,进入步骤SS23;
若否,提示错误,结束;
SS23.nova-api组件判断云主机的任务状态机是否在无操作状态;
若是,进入步骤SS25;
若否,进入步骤SS24;
SS24.判断是否超时;
若是,提示超时错误,结束;
若否,返回步骤SS23;
SS25.nova-api组件将云主机的任务状态机设置为卸载中。
8.如权利要求7所述的基于OpenStack云平台卸载云硬盘的方法,其特征在于,SS3具体步骤如下:
SS31.nova-api组件向nova-compute组件发送卸载云硬盘的RPC cast请求;
SS32.nova-api组件判断发送请求是否出现错误;
若是,进入步骤SS33;
若否,进入步骤SS4;
SS33.nova-api组件将云主机的任务状态机设置为无操作。
9.如权利要求8所述的基于OpenStack云平台卸载云硬盘的方法,其特征在于,步骤SS4具体步骤如下:
SS41.nova-compute组件接收到nova-api组件的RPC cast请求后,判断云主机的任务状态机是否为卸载中;
若是,进入步骤SS42;
若否,将本次操作置为错误,终止本次操作并返回;
SS42.nova-compute组件根据RPC cast请求信息调用libvirt和cinder服务的接口,执行卸载云硬盘操作;
SS43.nova-compute组件判断云硬盘卸载是否成功;
若是,进入步骤SS44;
SS44.nova-compute组件将云主机的任务状态机状态从卸载中设置为无操作。
10.如权利要求9所述的基于OpenStack云平台卸载云硬盘的方法,其特征在于,步骤SS43中,当nova-compute组件判定云硬盘卸载未成功时,进入步骤SS45;
SS45.nova-compute组件回滚原有的状态,更新本次卸载云硬盘的操作记录信息为错误,同时将云主机的任务状态机设置为无操作。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011327923.XA CN112463248B (zh) | 2020-11-24 | 2020-11-24 | 基于OpenStack云平台挂载及卸载云硬盘的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011327923.XA CN112463248B (zh) | 2020-11-24 | 2020-11-24 | 基于OpenStack云平台挂载及卸载云硬盘的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112463248A CN112463248A (zh) | 2021-03-09 |
CN112463248B true CN112463248B (zh) | 2022-07-29 |
Family
ID=74799723
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011327923.XA Active CN112463248B (zh) | 2020-11-24 | 2020-11-24 | 基于OpenStack云平台挂载及卸载云硬盘的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112463248B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114296879B (zh) * | 2021-12-30 | 2023-10-24 | 南通机敏软件科技有限公司 | 支持创建openstack云硬盘过程活性检测的方法、存储介质及处理器 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106886369A (zh) * | 2017-01-22 | 2017-06-23 | 武汉噢易云计算股份有限公司 | 一种基于OpenStack云平台的云硬盘管理方法及系统 |
CN109802976A (zh) * | 2017-11-16 | 2019-05-24 | 航天信息股份有限公司 | Open Stack云平台的云硬盘动态调度方法、装置以及电子系统 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9720753B2 (en) * | 2014-12-22 | 2017-08-01 | Nec Corporation | CloudSeer: using logs to detect errors in the cloud infrastructure |
-
2020
- 2020-11-24 CN CN202011327923.XA patent/CN112463248B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106886369A (zh) * | 2017-01-22 | 2017-06-23 | 武汉噢易云计算股份有限公司 | 一种基于OpenStack云平台的云硬盘管理方法及系统 |
CN109802976A (zh) * | 2017-11-16 | 2019-05-24 | 航天信息股份有限公司 | Open Stack云平台的云硬盘动态调度方法、装置以及电子系统 |
Also Published As
Publication number | Publication date |
---|---|
CN112463248A (zh) | 2021-03-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5875291A (en) | Method and apparatus for checking transactions in a computer system | |
US7594138B2 (en) | System and method of error recovery for backup applications | |
CN101719165B (zh) | 一种实现数据库高效快速备份的方法 | |
CN110851302B (zh) | 一种数据库信息的备份方法及恢复方法 | |
US20060074993A1 (en) | System and method for management of recovery time objectives of business continuity/disaster recovery IT solutions | |
CN111580929A (zh) | 一种基于虚拟机保护数据的有效性验证系统及方法 | |
CN109582443A (zh) | 基于分布式存储技术的虚拟机备份系统 | |
CN116457760A (zh) | 异步跨区域块卷复制 | |
US20130179729A1 (en) | Fault tolerant system in a loosely-coupled cluster environment | |
JP2008171387A (ja) | 継続的データ保護を備えたバックアップシステム | |
WO2020088533A1 (zh) | 虚拟化平台的容灾方法及装置 | |
CN113672350B (zh) | 一种应用处理方法、装置及相关设备 | |
CN113656149A (zh) | 一种应用处理方法、装置及相关设备 | |
US7636873B2 (en) | Enhancement of assured event delivery mechanism to eliminate external XA store requirement | |
CN112463248B (zh) | 基于OpenStack云平台挂载及卸载云硬盘的方法 | |
CN111581021B (zh) | 应用程序启动异常的修复方法、装置、设备及存储介质 | |
CN112181723A (zh) | 一种金融灾备方法、装置、存储介质及电子设备 | |
US20130086572A1 (en) | Generation apparatus, generation method and computer readable information recording medium | |
CN108182128A (zh) | 基于xen的无代理虚拟化备份恢复方法 | |
CN112269679B (zh) | 一种云平台的数据库持久化方法、系统、设备及存储介质 | |
CN109522145A (zh) | 一种虚拟机故障自动恢复系统及其方法 | |
CN109445909A (zh) | 虚拟机数据的备份方法、系统、终端及存储介质 | |
CN113238815A (zh) | 一种接口访问控制方法、装置、设备及存储介质 | |
WO2023184875A1 (zh) | 一种裸金属磁盘备份方法、装置及计算机可读存储介质 | |
CN115098300B (zh) | 一种数据库的备份方法、容灾方法、装置及设备 |
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 |