[发明专利]基于异步通信机制的磁盘状态变迁检测方法及装置有效
申请号: | 201210530837.8 | 申请日: | 2012-12-10 |
公开(公告)号: | CN103049345A | 公开(公告)日: | 2013-04-17 |
发明(设计)人: | 胡殿明;魏伟 | 申请(专利权)人: | 北京百度网讯科技有限公司 |
主分类号: | G06F11/07 | 分类号: | G06F11/07;G06F9/44 |
代理公司: | 北京清亦华知识产权代理事务所(普通合伙) 11201 | 代理人: | 宋合成 |
地址: | 100085 北京市*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 异步 通信 机制 磁盘 状态 变迁 检测 方法 装置 | ||
技术领域
本发明涉及信息存储技术领域,特别涉及一种基于异步通信机制的磁盘状态变迁检测方法及装置。
背景技术
若磁盘存在故障,RAID卡会尝试将磁盘设置到相应的状态模式,如将物理盘从online设置为offline,将逻辑盘从optimal设置为degrade,但RAID(Redundant Arrays of Inexpensive Disks,磁盘阵列)卡不会将这些信息实时地报出来,监控程序必须主动的读取RAID卡的日志,以确认是否发生过故障。
现有技术通过周期性的检查RAID卡的各个磁盘的状态,或者检查RAID卡中已经存在的事件记录来确定故障磁盘的相关信息。比如设置t时间间隔,每隔t时间进行一次主动的获取过程,通过主动的获取来抓取这t时间段的状态变化事件信息。
而现有技术存在以下缺点:目前监控程序定期主动检测RAID卡日志中是否存在故障相关的日志,具体是以逻辑盘为单位,检测其包含的物理磁盘是否存在故障。如果是单块磁盘做RAID0,物理磁盘故障后可能导致逻辑盘消失,监控程序就无法定位故障的物理磁盘。对于其它级别或类型的RAID阵列,监控程序不能及时的发现磁盘故障和或者有效故障信息,这些都给故障处理带来不便。
发明内容
本发明旨在至少解决上述技术问题之一。
为此,本发明的一个目的在于提出一种能够动态实时的监控RAID卡下磁盘的状态变化的基于异步通信机制的磁盘状态变迁检测方法,具有处理故障快,且能够降低数据损坏及系统宕机的风险的优点。
本发明的另一目的在于提出一种基于异步通信机制的磁盘状态变迁检测装置。
为了实现上述目的,本发明第一方面的实施例提出了一种基于异步通信机制的磁盘状态变迁的检测方法,包括以下步骤:注册磁盘阵列RAID卡的event事件以及回调函数;利用所述回调函数获取所述event事件的数据;对所述event事件的数据进行过滤以判断所述event事件的数据中是否具有至少一个预设字段,其中,所述至少一个预设字段记录有磁盘状态的变迁信息;如果所述event事件的数据中具有至少一个预设字段,则判定所述磁盘发生状态变迁;以及对所述event事件的数据进行分析以获取所述磁盘的定位信息,根据所述定位信息及所述变迁信息获取发生状态变迁的磁盘的位置。
根据本发明实施例的基于异步通信机制的磁盘状态变迁检测方法,能够动态实时的监控RAID卡下磁盘的状态变化和其他的一些故障报错,从而可以在第一时间处理故障,从而减少从故障发生到故障处理所使用的容错响应时间,也降低数据损坏,系统宕机的风险,间接的提高了磁盘的工作效率。
另外,根据本发明上述实施例的基于异步通信机制的磁盘状态变迁检测方法还可以具有如下附加的技术特征:
在本发明的实施例中,利用守护进程注册所述磁盘阵列RAID卡的event事件,其中,所述守护进程常驻内存。
在本发明的实施例中,所述event事件的数据存储于缓冲区中。
在本发明的实施例中,所述预设字段包括:Optimal、Partially Degraded、Degraded、Offline、Unconfigured Good、Unconfigured Bad、Online、Failed、Missing、Foreign、Hotspare、Rebuild中的一个或多个。
在本发明的实施例中,所述变迁信息记录所述磁盘的原始状态和变化状态。
在本发明的实施例中,所述定位信息包括所述磁盘的槽位信息和设备标识信息。
在本发明的实施例中,在获取发生状态变迁的磁盘的位置后,还包括如下步骤:查找到发生状态变迁的磁盘,对所述磁盘执行检查以判断所述磁盘发生故障的类型。
在本发明的实施例中,所述磁盘阵列RAID卡为单块磁盘的RAID0磁盘阵列。
本发明第二方面的实施例还提出了一种基于异步通信机制的磁盘状态变迁检测装置,包括:注册模块,用于注册所述磁盘阵列RAID卡的event事件以及回调函数;获取模块,用于利用所述回调函数获取所述event事件的数据;判断模块,用于对所述event事件的数据进行过滤以判断所述event事件的数据中是否具有至少一个预设字段,其中,所述至少一个预设字段记录有磁盘状态的变迁信息,且当所述event事件的数据中具有至少一个预设字段时判定所述磁盘发生状态变迁;以及定位模块,用于对所述event事件的数据进行分析以获取所述磁盘的定位信息,并根据所述定位信息及所述变迁信息获取发生状态变迁的磁盘的位置。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京百度网讯科技有限公司,未经北京百度网讯科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201210530837.8/2.html,转载请声明来源钻瓜专利网。