一种存储设备状态控制方法及装置制造方法及图纸

技术编号:19933504 阅读:25 留言:0更新日期:2018-12-29 04:18
本申请公开了一种存储设备状态控制方法及装置。所述存储设备状态控制方法其应用于块设备驱动层,包括:对存储设备的状态进行定义;通过改变所述存储设备的状态对应的状态管理文件对所述存储设备注入状态;对所述存储设备注入的状态进行处理。本申请实施例的存储设备状态控制方法及装置,能够实现方便的对大规模环境下的存储设备的状态进行控制,无需到机房对存储设备进行拔盘等操作,对存储设备注入状态并对注入的状态进行处理,可以验证上层业务系统是否能够应对,从而实现大规模环境下的服务更可靠。

【技术实现步骤摘要】
一种存储设备状态控制方法及装置
本申请涉及电子
,特别涉及一种存储设备状态控制方法及装置。
技术介绍
在当前云环境下,基础设施的规模越来越大,后端服务器和存储介质越来越多。在这种大规模环境中,如何才能保证上线以后可以处理后端存储可能出现的各种异常?这就要在前期保证系统各模块的服务质量。但是,存储系统中有很多错误无法预料,有些可能很容易出现,有的可能几年甚至几十年也不会出现一次,这会导致在前期无法验证系统是否能够应对存储系统的错误。另外,在大规模环境下,必须到机房才能实现拔盘等操作,由于机房与工作环境通常不在一起,不太方便实现拔盘等操作。申请内容本申请实施例的目的在于提供一种存储设备状态控制方法及装置,能够高效便捷的控制存储设备的状态,使得在大规模环境下能够保证更可靠的服务。为了解决上述技术问题,本申请的实施例采用了如下技术方案:一种存储设备状态控制方法,其应用于块设备驱动层,包括:对存储设备的状态进行定义;通过改变所述存储设备的状态对应的状态管理文件对所述存储设备注入状态;对所述存储设备注入的状态进行处理。作为优选,存储设备的状态包括以下中的至少一种:存储设备是否在线、存储设备是否有坏块、存储设备上的数据是否出现静默损坏和存储设备是否变慢。作为优选,通过改变所述存储设备的状态对应的状态管理文件对所述存储设备注入状态,包括:对块设备驱动层初始化;响应于创建状态管理信息,创建状态管理目录;在所述状态管理目录下创建所述状态管理文件;对修改所述状态管理文件的处理函数进行定义;通过修改所述处理函数对所述存储设备注入状态。作为优选,所述状态为存储设备是否在线时,对所述存储设备注入的状态进行处理,包括:从请求队列中获取请求;响应于有存储设备的离线状态注入,返回存储设备不存在;响应于没有存储设备的离线状态注入,向存储设备发送请求。作为优选,所述状态为存储设备是否有坏块时,对所述存储设备注入的状态进行处理,包括:从请求队列中获取请求;响应于有存储设备的坏块状态注入,进行随机计算并根据计算结果判断本次请求是否涉及坏块,如果涉及则返回读写错误,如果不涉及则向存储设备发出读写指令;响应于没有存储设备的坏块状态注入,向存储设备发出读写指令。作为优选,所述状态为存储设备是否出现静默损坏时,对所述存储设备注入的状态进行处理,包括:从请求队列中获取请求;向存储设备发出指令;响应于成功获得指令执行结果,判断是否是读请求,如果是则判断是否有存储设备的静默损坏状态注入,如果否则结束;如果有存储设备的静默损坏状态注入则进行随机计算并根据计算结果判断本地请求是否涉及静默损坏,如果没有存储设备的静默损坏状态注入则结束;如果本次请求涉及静默损坏则将读取的数据进行随机的修改,如果本次请求不涉及静默损坏则结束;响应于没有成功获得指令执行结果,则结束。作为优选,所述状态为存储设备是否变慢时,对所述存储设备注入的状态进行处理,包括:从请求队列中获取请求;响应于有存储设备的变慢状态注入,计算当前时间与请求放入队列的时间差是否超过指定延时时长,如果是则向存储设备发出请求指令,如果否则将请求放回请求队列;响应于没有存储设备的变慢状态注入,向存储设备发出请求指令。本申请实施例还公开了一种存储设备状态控制装置,其包括:依次电信号连接的虚拟文件系统、文件系统、通用块层、I/O调度层、块设备驱动层和存储设备;其中,所述块设备驱动层包括:定义模块,其配置为对存储设备的状态进行定义;注入状态模块,其配置为通过改变所述存储设备的状态对应的状态管理文件对所述存储设备注入状态;处理模块,其配置为对所述存储设备注入的状态进行处理。作为优选,存储设备的状态包括以下中的至少一种:存储设备是否在线、存储设备是否有坏块、存储设备上的数据是否出现静默损坏和存储设备是否变慢。作为优选,注入状态模块,其配置为:对块设备驱动层初始化;响应于创建状态管理信息,创建状态管理目录;在所述状态管理目录下创建所述状态管理文件;对修改所述状态管理文件的处理函数进行定义;通过修改所述处理函数对所述存储设备注入状态。本申请实施例的有益效果在于:能够实现方便的对大规模环境下的存储设备的状态进行控制,无需到机房对存储设备进行拔盘等操作,对存储设备注入状态并对注入的状态进行处理,可以验证上层业务系统是否能够应对,从而实现大规模环境下的服务更可靠。附图说明图1示出了本申请实施例的存储设备状态控制方法的流程图;图2示出了本申请实施例的存储设备状态控制方法的S2的流程图;图3示出了本申请第一实施例的存储设备状态控制方法的S3的流程图;图4示出了本申请第二实施例的存储设备状态控制方法的S3的流程图;图5示出了本申请第三实施例的存储设备状态控制方法的S3的流程图;图6示出了本申请第四实施例的存储设备状态控制方法的S3的流程图;图7示出了本申请实施例的存储设备状态控制装置的结构框图。具体实施方式此处参考附图描述本申请的各种方案以及特征。应理解的是,可以对此处申请的实施例做出各种修改。因此,上述说明书不应该视为限制,而仅是作为实施例的范例。本领域的技术人员将想到在本申请的范围和精神内的其他修改。包含在说明书中并构成说明书的一部分的附图示出了本申请的实施例,并且与上面给出的对本申请的大致描述以及下面给出的对实施例的详细描述一起用于解释本申请的原理。通过下面参照附图对给定为非限制性实例的实施例的优选形式的描述,本申请的这些和其它特性将会变得显而易见。还应当理解,尽管已经参照一些具体实例对本申请进行了描述,但本领域技术人员能够确定地实现本申请的很多其它等效形式,它们具有如权利要求所述的特征并因此都位于借此所限定的保护范围内。当结合附图时,鉴于以下详细说明,本申请的上述和其他方面、特征和优势将变得更为显而易见。此后参照附图描述本申请的具体实施例;然而,应当理解,所公开的实施例仅仅是本申请的实例,其可采用多种方式实施。熟知和/或重复的功能和结构并未详细描述以避免不必要或多余的细节使得本申请模糊不清。因此,本文所公开的具体的结构性和功能性细节并非意在限定,而是仅仅作为权利要求的基础和代表性基础用于教导本领域技术人员以实质上任意合适的详细结构多样地使用本申请。本说明书可使用词组“在一种实施例中”、“在另一个实施例中”、“在又一实施例中”或“在其他实施例中”,其均可指代根据本申请的相同或不同实施例中的一个或多个。如图1所示,本申请实施例公开了一种存储设备状态控制方法,其应用于块设备驱动层。存储设备状态控制方法包括:S1,对存储设备的状态进行定义。一般情况下,对存储设备的操作通常就是读和写,所以本申请的方案对存储设备的状态进行定义也主要围绕这两个方面,并且专注的是存储设备的故障状态。存储设备的读操作的失败情况主要包括:存储设备不在线、存储设备出现坏块导致无法读出数据、存储设备上的数据由于静默损坏导致读出的数据不正确。存储设备的写操作的失败情况主要包括:存储设备不在线、存储设备出现坏块导致无法写入数据。另外,还存在一种情况就是存储设备响应时间过长影响上层业务的场景,本申请中将其称为存储设备变慢的状态。针对以上情况,本申请的存储设备的状态包括以下中的至少一种:存储设备是否在线、存储设备是否有坏块、存储设备上的数据是否出现静默损坏本文档来自技高网...

【技术保护点】
1.一种存储设备状态控制方法,其应用于块设备驱动层,包括:对存储设备的状态进行定义;通过改变所述存储设备的状态对应的状态管理文件对所述存储设备注入状态;对所述存储设备注入的状态进行处理。

【技术特征摘要】
1.一种存储设备状态控制方法,其应用于块设备驱动层,包括:对存储设备的状态进行定义;通过改变所述存储设备的状态对应的状态管理文件对所述存储设备注入状态;对所述存储设备注入的状态进行处理。2.根据权利要求1所述的存储设备状态控制方法,其中,存储设备的状态包括以下中的至少一种:存储设备是否在线、存储设备是否有坏块、存储设备上的数据是否出现静默损坏和存储设备是否变慢。3.根据权利要求1所述的存储设备状态控制方法,其中,通过改变所述存储设备的状态对应的状态管理文件对所述存储设备注入状态,包括:对块设备驱动层初始化;响应于创建状态管理信息,创建状态管理目录;在所述状态管理目录下创建所述状态管理文件;对修改所述状态管理文件的处理函数进行定义;通过修改所述处理函数对所述存储设备注入状态。4.根据权利要求1所述的存储设备状态控制方法,其中,所述状态为存储设备是否在线时,对所述存储设备注入的状态进行处理,包括:从请求队列中获取请求;响应于有存储设备的离线状态注入,返回存储设备不存在;响应于没有存储设备的离线状态注入,向存储设备发送请求。5.根据权利要求1所述的存储设备状态控制方法,其中,所述状态为存储设备是否有坏块时,对所述存储设备注入的状态进行处理,包括:从请求队列中获取请求;响应于有存储设备的坏块状态注入,进行随机计算并根据计算结果判断本次请求是否涉及坏块,如果涉及则返回读写错误,如果不涉及则向存储设备发出读写指令;响应于没有存储设备的坏块状态注入,向存储设备发出读写指令。6.根据权利要求1所述的存储设备状态控制方法,其中,所述状态为存储设备是否出现静默损坏时,对所述存储设备注入的状态进行处理,包括:从请求队列中获取请求;向存储设备发出指令;响应于成功获得指令执行结果...

【专利技术属性】
技术研发人员:李红孙宪武郝志敏
申请(专利权)人:联想北京有限公司
类型:发明
国别省市:北京,11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1