一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

支持创建openstack云硬盘过程活性检测的方法、存储介质及处理器与流程

2022-04-09 11:43:45 来源:中国专利 TAG:


1.本发明属于虚拟化计算技术领域,具体涉及一种支持创建openstack云硬盘过程活性检测的方法、存储介质及处理器。


背景技术:

2.云硬盘作为可以跨节点访问的块存储设备,在云计算虚拟化应用中被广泛接受和采用。在openstack中,通常我们会创建基于镜像的云硬盘作为虚拟机的系统盘,创建更多空白云硬盘作为额外的磁盘。在创建基于镜像的云硬盘时,nova需要等待云硬盘就绪后,才能将云硬盘挂载到新创建的虚拟机中。
3.在创建基于云硬盘的虚拟机的时候,nova需要等待cinder创建云硬盘,这个过程的时间消耗很难确定,因为受影响的因素比较多。目前软件实现中,nova配置文件中设置有超时时长,该时长通过查询间隔(block_device_allocate_retries)和最大查询次数(block_device_allocate_retries_interval)来控制,如果等待的时长超出二者的乘积,则不再继续等待。当遇到云硬盘创建过程比较耗时,如下载镜像慢等,则很容易出现超时,最终导致虚拟机创建失败,如图1所示。
4.针对上述问题,传统的解决方法主要是:(1)人为调整查询间隔和或查询次数;(2)配置镜像盘缓存。前者,不同的云硬盘和镜像所需的时间跨度差别很大,将超时时长调的很大,也就失去了超时时长应有的意义。后者作为一个用空间换时间的应用,有些场景下并不合适,比如空间不是那么充裕,或者首次基于该镜像来创建云硬盘。


技术实现要素:

5.本发明的目的在于提供一一种支持创建openstack云硬盘过程活性检测的方法、存储介质及处理器,解决现有技术中创建基于云硬盘的虚拟机的时候,遇到云硬盘创建过程比较耗时则很容易出现超时,最终导致虚拟机创建失败的技术问题。
6.为了解决上述技术问题,本发明采用技术方案实现:一种支持创建openstack云硬盘过程活性检测的方法,包括如下步骤:s1:在cinder-volume中增加一个监听模块,用于监测创建云硬盘和下载过程的活性;s2:nova发起创建云硬盘地请求,并通过访问cinder-api不断获取该云硬盘的状态信息,并进行判断:1)、如果本次获取的云硬盘的状态信息相对上次查询结果有更新,则表明创建云硬盘过程是活跃的,将超时计时数据重置;2)、如果本次获取的云硬盘的状态信息相对上次查询结果没有更新,则表明活性数据没有变化,超时计时持续增长,重复步骤s2直至超时计时超过设定阈值,则云硬盘创建失败。
7.本发明中,nova发起创建云硬盘地请求之后,仍然通过访问cinder-api获取该云硬盘的状态信息,但不是在超时时长等于查询间隔与查询次数的乘积就判定为云硬盘创建失败,而是依赖于保活信息。只有当状态持续在creating或downloading,且保活信息没有更新时,才会根据超时时长触发整个流程的失败。当保活信息再不断更新的情况下,计时总是会重置。这可以大大降低误超时的可能性,并且查询间隔和查询次数的设置才更有意义。
8.进一步优化,所述监听模块监测云硬盘下载文件的进度条尺寸增长情况,以此作为活性数据;将采集到的活性数据随云硬盘状态信息记录更新到数据库中,nova通过cinder-api查询获取的云硬盘的信息中同时包含了活性信息。
9.进一步优化,所述超时设定阈值等于查询间隔时长与查询次数的乘积;其中,查询间隔时长为设定值。
10.一种计算机可读存储介质,所述计算机可读存储介质包括存储的程序,其中,在程序运行时控制所述计算机可读存储介质所在设备执行上所述的支持创建openstack云硬盘过程活性检测的方法。
11.一种支持创建openstack云硬盘过程活性检测的处理器,所述处理器用于运行程序,其中,所述程序运行时执行上所述的支持创建openstack云硬盘过程活性检测的方法。
12.与现有技术相比,本发明技术方案具有如下有益效果:本发明中,通过设置监听模块,nova发起创建云硬盘地请求之后,仍然通过访问cinder-api获取该云硬盘的状态信息,但不是在超时时长等于查询间隔与查询次数的乘积就判定为云硬盘创建失败,而是依赖于保活信息。只有当状态持续在creating或downloading,且保活信息没有更新时,才会根据超时时长触发整个流程的失败。当保活信息再不断更新的情况下,计时总是会重置。这可以大大降低误超时的可能性,并且查询间隔和查询次数的设置才更有意义。
附图说明
13.图1为现有技术中创建openstack云硬盘方的流程示意图;图2为本发明支持创建openstack云硬盘过程活性检测的方法的流程示意图;图3为本发明支持创建openstack云硬盘的流程。
具体实施方式
14.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。
15.实施例一:如图2、3所示,一种支持创建openstack云硬盘过程活性检测的方法,包括如下步骤:s1:在cinder-volume中增加一个监听模块(monitor),用于监测创建云硬盘和下载过程的活性。具体是,根据后端驱动的不同,检测目标产出物的体积变化。如下载过程,检查临时下载文件的尺寸增长,以此作为活性数据。cinder-volume是部署在存储节点上的服务,cinder-volume的主要功能是对后端存储进行一层抽象封装,为用户提供统一的接口,cinder-volume通过调用后端存储驱动api来进行存储相关的操作。
16.s2:nova发起创建云硬盘地请求,并通过访问cinder-api不断获取该云硬盘的状态信息,并进行判断:1)、如果本次获取的云硬盘的状态信息相对上次查询结果有更新,则表明创建云硬盘过程是活跃的,将超时计时数据重置;2)、如果本次获取的云硬盘的状态信息相对上次查询结果没有更新,则表明活性数据没有变化,超时计时持续增长,重复步骤s2直至超时计时超过设定阈值,则云硬盘创建失败。这表明,实际创建云硬盘过程停滞较长时间,超时机制在这种情况下发挥作用,避免长时间不必要的等待。
17.本发明中,nova发起创建云硬盘地请求之后,仍然通过访问cinder-api获取该云硬盘的状态信息,但不是在超时时长等于查询间隔与查询次数的乘积就判定为云硬盘创建失败,而是依赖于保活信息。只有当状态持续在creating或downloading,且保活信息没有更新时,才会根据超时时长触发整个流程的失败。当保活信息再不断更新的情况下,计时总是会重置。这可以大大降低误超时的可能性,并且查询间隔和查询次数的设置才更有意义。
18.在本实施例中,所述监听模块监测云硬盘下载文件的进度条尺寸增长情况,以此作为活性数据;将采集到的活性数据随云硬盘状态信息记录更新到数据库中,nova通过cinder-api查询获取的云硬盘的信息中同时包含了活性信息。
19.在本实施例中,所述超时设定阈值等于查询间隔时长与查询次数的乘积;其中,查询间隔时长为设定值。
20.实施例二:一种计算机可读存储介质,所述计算机可读存储介质包括存储的程序,其中,在程序运行时控制所述计算机可读存储介质所在设备执行上所述的支持创建openstack云硬盘过程活性检测的方法。
21.实施例三:一种支持创建openstack云硬盘过程活性检测的处理器,所述处理器用于运行程序,其中,所述程序运行时执行上所述的支持创建openstack云硬盘过程活性检测的方法。
22.上述实施例仅仅是为清楚地说明所作的举例,而并非对实施方式的限定。对于所属领域的普通技术人员来说,在上述说明的基础上还可以做出其它不同形式的变化或变动。这里无需也无法对所有的实施方式予以穷举。而由此所引伸出的显而易见的变化或变动仍处于本发明创造的保护范围之中。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献