硬盘阵列控制方法及装置制造方法及图纸

技术编号:15267675 阅读:93 留言:0更新日期:2017-05-04 02:28
本发明专利技术实施例提供了硬盘阵列控制方法及装置,其中方法包括:接收写操作请求;将写操作请求下发到硬盘阵列中的所述写操作请求的目标硬盘,以使所述目标硬盘执行所述写操作请求对应的写操作;若到达第一时间阈值未收到所述目标硬盘对所述写操作的反馈信息,则:将所述写操作请求中携带的写数据写到预设存储区,并在预设记录表中记录所述写数据的跳转记录,所述跳转记录记录了所述写数据的目标地址与实际写入所述写数据的实际地址的映射关系,以及,返回写操作成功的反馈信息。这样当由于出现坏道等硬盘问题将要产生写操作超时的情况时,在本发明专利技术实施例中上层业务却无需持续等待,而是可以很快得到写操作的结果,从而确保了上层业务执行时的连续性。

Hard disk array control method and device

The embodiment of the invention provides a disk array control method and device, wherein the method includes: receiving a write operation request; the write operation request is sent to the disk array in the write operation request of the target disk, the write operation target hard to execute the write operation request; if the first time to reach the threshold did not receive the feedback information of the target disk write operation on the: the write request carries the write data into the preset storage area, and in the default record the write data record in the jump, jump to record the mapping relationship, the target address and write data with the actual writing the actual address and write data, feedback information back to write operation success. So when due to bad sectors and so on hard disk problems will produce the write operation timeout occurs, the business in the embodiment of the invention does not need to continue to wait, but can quickly write operation results, so as to ensure the continuity of the upper business execution time.

【技术实现步骤摘要】

本专利技术涉及硬盘阵列
,尤其涉及硬盘阵列控制方法及装置
技术介绍
硬盘阵列,例如RAID(RedundantArraysofInexpensiveDisks,廉价硬盘冗余阵列),是由多个硬盘组合成的一个容量巨大的硬盘组。当上层业务下发IO(inputandoutput,输入输出)操作时,该IO操作通常会依次经过RAID的RAID控制模块、DMP(DiskMultiPath,硬盘多路径)模块、SCSI(SmallComputerSystemInterface,小型计算机系统接口)模块,最终下发到阵列中相应的Disk(硬盘)。由于硬盘可能会存在坏道等情况,所以IO操作尤其是写操作有时会存在响应慢的问题,为此在现有技术中,可以在SCSI模块设定12s的超时门限,当写操作下发到某硬盘后,若超过12s后SCSI模块仍未收到该硬盘的响应,则SCSI模块主动向该硬盘下发终止命令以使该硬盘停止该IO操作,并对该硬盘进行设备及链路重启,然后再重试一次或多次下发相同的写操作并等待该硬盘响应。如果最后该硬盘仍未响应,则SCSI模块可认为该硬盘存在问题,无法工作,于是主动将该硬盘置为逻辑离线状态并通知RAID控制模块。RAID控制模块收到该通知后进行降级写,即将该写操作通过RAID算法分担写到阵列里的其它硬盘上,当该写操作最终成功实现后,便可向上层业务返回写操作成功的响应。现有技术中的这种方案在硬盘出现坏道时,会使上层业务因等待IO操作而中断,较长时间过后上层业务才能收到RAID返回的结果,这样就破坏了上层业务执行的连续性,影响到上层业务的工作效率。
技术实现思路
为克服现有技术中存在的问题,本专利技术提供硬盘阵列控制方法及装置,以解决写操作的结果无法快速返回的问题。为了解决上述技术问题,本专利技术公开了如下技术方案:第一方面,提供了一种硬盘阵列控制方法,所述方法包括:接收写操作请求;将所述写操作请求下发到硬盘阵列中的所述写操作请求的目标硬盘,以使所述目标硬盘执行所述写操作请求对应的写操作;如果到达第一时间阈值未收到所述目标硬盘对所述写操作的反馈信息,则:将所述写操作请求中携带的写数据写到预设存储区,并在预设记录表中记录所述写数据的跳转记录,所述跳转记录记录了所述写数据的目标地址与实际写入所述写数据的实际地址的映射关系,以及,返回写操作成功的反馈信息。结合第一方面,在第一方面第一种可能实现的方式中,所述方法还包括:如果超过第一时间阈值但未超过第二时间阈值时收到所述目标硬盘对所述写操作的反馈信息,则在所述预设记录表中删除所述写数据的跳转记录。结合第一方面,在第一方面第二种可能实现的方式中,所述方法还包括:如果达到第二时间阈值仍未收到所述目标硬盘对所述写操作的反馈信息,则令所述目标硬盘终止执行所述写操作。结合第一方面,在第一方面第三种可能实现的方式中,所述方法还包括:接收读操作请求;判断所述预设记录表中是否存在与所述读操作请求中的读数据的目标地址匹配的跳转记录;如果所述预设记录表中不存在与所述读操作请求中的读数据的目标地址匹配的跳转记录,则将所述读操作请求下发到所述硬盘阵列的读操作请求的目标硬盘,以使所述读操作请求的目标硬盘执行所述读操作请求对应的读操作;如果所述预设记录表中存在与所述读操作请求中的读数据的目标地址匹配的跳转记录,则获取所述匹配的跳转记录中的写数据的实际地址,并根据所述实际地址从所述预设存储区中读取数据。结合第一方面,在第一方面第四种可能实现的方式中,所述方法还包括:当所述写数据被写入所述预设存储区,则对所述目标硬盘的写失败次数加1;判断所述目标硬盘的写失败次数是否大于第一数量阈值,若大于,则确定所述目标硬盘为失效盘。结合第一方面第四种可能的实现方式,在第一方面第五种可能实现的方式中,所述方法还包括:当确定所述目标硬盘为失效硬盘时,则将所述失效硬盘的数据复制到另外一个硬盘;使用所述另外一个硬盘替换所述失效硬盘。结合第一方面,在第一方面第六种可能实现的方式中,所述方法还包括:定期遍历所述预设记录表中的各条跳转记录;遍历时,根据当前跳转记录中记录的写数据的实际地址从所述预设存储区获取所述当前跳转记录所关联的写数据,并根据所述跳转记录中记录的目标地址将所述当前跳转记录所关联的写数据写入所述目标硬盘;如果所述当前跳转记录所关联的写数据成功写入所述目标硬盘,则删除所述当前跳转记录。结合第一方面第六种可能实现的方式,在第一方面第七种可能实现的方式中,所述方法还包括:如果所述当前跳转记录所关联的写数据失败写入所述目标硬盘,则将所述当前跳转记录的重试次数加1;判断所述当前跳转记录的重试次数是否超过第二数量阈值;如果所述当前记录的重试次数超过所述第二数量阈值,则下次遍历时跳过所述当前跳转记录。第二方面,提供了一种硬盘阵列控制装置,所述装置包括:写操作请求接收模块,用于接收写操作请求;写操作请求下发模块,用于将所述写操作请求接收模块接收的所述写操作请求下发到硬盘阵列中的所述写操作请求的目标硬盘,以使所述目标硬盘执行所述写操作请求对应的写操作;写操作监控模块,用于当到达第一时间阈值未收到所述目标硬盘对所述写操作请求下发模块所下发的所述写操作请求对应的所述写操作的反馈信息时,将所述写操作请求中携带的写数据写到预设存储区,并在预设记录表中记录所述写数据的跳转记录,所述跳转记录记录了所述写数据的目标地址与实际写入所述写数据的实际地址的映射关系,以及,返回写操作成功的反馈信息。结合第二方面,在第二方面第一种可能实现的方式中,所述写操作监控模块还用于:如果超过第一时间阈值但未超过第二时间阈值时收到所述目标硬盘对所述写操作的反馈信息,则在所述预设记录表中删除所述写数据的跳转记录。结合第二方面,在第二方面第二种可能实现的方式中,所述写操作监控模块还用于:如果达到第二时间阈值仍未收到所述目标硬盘对所述写操作的反馈信息,则令所述目标硬盘终止执行所述写操作。结合第二方面,在第二方面第三种可能实现的方式中,所述装置还包括:读操作请求接收模块,用于接收读操作请求;跳转处理模块,用于判断所述预设记录表中是否存在与所述读操作请求接收模块接收的所述读操作请求中的读数据的目标地址匹配的跳转记录;如果所述预设记录表中不存在与所述读操作请求中的读数据的目标地址匹配的跳转记录,则将所述读操作请求下发到所述硬盘阵列的读操作请求的目标硬盘,以使所述读操作请求的目标硬盘执行所述读操作请求对应的读操作;如果所述预设记录表中存在与所述读操作请求中的读数据的目标地址匹配的跳转记录,则获取所述匹配的跳转记录中的写数据的实际地址,并根据所述实际地址从所述预设存储区中读取数据。结合第二方面,在第二方面第四种可能实现的方式中,所述装置还包括:失效处理模块,用于当所述写数据被写入所述预设存储区,则对所述目标硬盘的写失败次数加1;判断所述目标硬盘的写失败次数是否大于第一数量阈值,若大于,则确定所述目标硬盘为失效盘。结合第二方面第四种可能实现的方式,在第二方面第五种可能实现的方式中,所述失效处理模块还用于:当确定所述目标硬盘为失效硬盘时,则将所述失效硬盘的数据复制到另外一个硬盘,使用所述另外一个硬盘替换所述失效硬盘。结合第二方面,在第二方面第六种可能实现的方式中,所述装置还包括:后台修复本文档来自技高网...
硬盘阵列控制方法及装置

【技术保护点】
一种硬盘阵列控制方法,其特征在于,所述方法包括:接收写操作请求;将所述写操作请求下发到硬盘阵列中的所述写操作请求的目标硬盘,以使所述目标硬盘执行所述写操作请求对应的写操作;如果到达第一时间阈值未收到所述目标硬盘对所述写操作的反馈信息,则:将所述写操作请求中携带的写数据写到预设存储区,并在预设记录表中记录所述写数据的跳转记录,所述跳转记录记录了所述写数据的目标地址与实际写入所述写数据的实际地址的映射关系,以及,返回写操作成功的反馈信息。

【技术特征摘要】
1.一种硬盘阵列控制方法,其特征在于,所述方法包括:接收写操作请求;将所述写操作请求下发到硬盘阵列中的所述写操作请求的目标硬盘,以使所述目标硬盘执行所述写操作请求对应的写操作;如果到达第一时间阈值未收到所述目标硬盘对所述写操作的反馈信息,则:将所述写操作请求中携带的写数据写到预设存储区,并在预设记录表中记录所述写数据的跳转记录,所述跳转记录记录了所述写数据的目标地址与实际写入所述写数据的实际地址的映射关系,以及,返回写操作成功的反馈信息。2.根据权利要求1所述的方法,其特征在于,所述方法还包括:接收读操作请求;判断所述预设记录表中是否存在与所述读操作请求中的读数据的目标地址匹配的跳转记录;如果所述预设记录表中不存在与所述读操作请求中的读数据的目标地址匹配的跳转记录,则将所述读操作请求下发到所述硬盘阵列的读操作请求的目标硬盘,以使所述读操作请求的目标硬盘执行所述读操作请求对应的读操作;如果所述预设记录表中存在与所述读操作请求中的读数据的目标地址匹配的跳转记录,则获取所述匹配的跳转记录中的写数据的实际地址,并根据所述实际地址从所述预设存储区中读取数据。3.根据权利要求1所述的方法,其特征在于,所述方法还包括:当所述写数据被写入所述预设存储区,则对所述目标硬盘的写失败次数加1;判断所述目标硬盘的写失败次数是否大于第一数量阈值,若大于,则确定所述目标硬盘为失效盘。4.根据权利要求1所述的方法,其特征在于,所述方法还包括:定期遍历所述预设记录表中的各条跳转记录;遍历时,根据当前跳转记录中记录的写数据的实际地址从所述预设存储区获取所述当前跳转记录所关联的写数据,并根据所述跳转记录中记录的目标地址将所述当前跳转记录所关联的写数据写入所述目标硬盘;如果所述当前跳转记录所关联的写数据成功写入所述目标硬盘,则删除所述当前跳转记录。5.根据权利要求4所述的方法,其特征在于,所述方法还包括:如果所述当前跳转记录所关联的写数据失败写入所述目标硬盘,则将所述当前跳转记录的重试次数加1;判断所述当前跳转记录的重试次数是否超过第二数量阈值;如果所述当前记录的重试次数超过所述第二数量阈值,则下次遍历时跳过所述当前跳转记录。6.一种硬盘阵列控制装置,其特征在于,所述装置包括:写操作请求接收模块,用于接收写操作请求;写操作请求下发模块,用于将所述写操作请求接收模块接收的所述写操作请求下发到硬盘阵列中的所述写操作请求的目标硬盘,以使所述目标硬盘执行所述写操作请求对应的写操作;写操作监控模块,用于当到达第一时间阈值未收到所述目标硬盘对所述写操作请求下发模块所下发的所述写操作请求对应的所述写操作的反馈信息时,将所述写操作请求中携带的写数据写到预设存储区,并在预设记录表中记录所述写数...

【专利技术属性】
技术研发人员:张箭曹红强蒋朝曲
申请(专利权)人:华为技术有限公司
类型:发明
国别省市:广东;44

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

1