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.一种硬盘阵列控制方法,其特征在于,所述方法包括:接收写操作请求;将所述写操作请求下发到硬盘阵列中的所述写操作请求的目标硬盘,以使所述目标硬盘执行所述写操作请求对应的写操作;如果到达第一时间阈值未收到所述目标硬盘对所述写操作的反馈信息,则:将所述写操作请求中携带的写数据写到预设存储区,并在预设记录表中记录所述写数据的跳转记录,所述跳转记录记录了所述写数据的目标地址与实际写入所述写数据的实际地址的映射关系,以及,返回写操作成功的反馈信息。2.根据权利要求1所述的方法,其特征在于,所述方法还包括:接收读操作请求;判断所述预设记录表中是否存在与所述读操作请求中的读数据的目标地址匹配的跳转记录;如果所述预设记录表中不存在与所述读操作请求中的读数据的目标地址匹配的跳转记录,则将所述读操作请求下发到所述硬盘阵列的读操作请求的目标硬盘,以使所述读操作请求的目标硬盘执行所述读操作请求对应的读操作;如果所述预设记录表中存在与所述读操作请求中的读数据的目标地址匹配的跳转记录,则获取所述匹配的跳转记录中的写数据的实际地址,并根据所述实际地址从所述预设存储区中读取数据。3.根据权利要求1所述的方法,其特征在于,所述方法还包括:当所述写数据被写入所述预设存储区,则对所述目标硬盘的写失败次数加1;判断所述目标硬盘的写失败次数是否大于第一数量阈值,若大于,则确定所述目标硬盘为失效盘。4.根据权利要求1所述的方法,其特征在于,所述方法还包括:定期遍历所述预设记录表中的各条跳转记录;遍历时,根据当前跳转记录中记录的写数据的实际地址从所述预设存储区获取所述当前跳转记录所关联的写数据,并根据所述跳转记录中记录的目标地址将所述当前跳转记录所关联的写数据写入所述目标硬盘;如果所述当前跳转记录所关联的写数据成功写入所述目标硬盘,则删除所述当前跳转记录。5.根据权利要求4所述的方法,其特征在于,所述方法还包括:如果所述当前跳转记录所关联的写数据失败写入所述目标硬盘,则将所述当前跳转记录的重试次数加1;判断所述当前跳转记录的重试次数是否超过第二数量阈值;如果所述当前记录的重试次数超过所述第二数量阈值,则下次遍历时跳过所述当前跳转记录。6.一种硬盘阵列控制装置,其特征在于,所述装置包括:写操作请求接收模块,用于接收写操作请求;写操作请求下发模块,用于将所述写操作请求接收模块接收的所述写操作请求下发到硬盘阵列中的所述写操作请求的目标硬盘,以使所述目标硬盘执行所述写操作请求对应的写操作;写操作监控模块,用于当到达第一时间阈值未收到所述目标硬盘对所述写操作请求下发模块所下发的所述写操作请求对应的所述写操作的反馈信息时,将所述写操作请求中携带的写数据写到预设存储区,并在预设记录表中记录所述写数...
【专利技术属性】
技术研发人员:张箭,曹红强,蒋朝曲,
申请(专利权)人:华为技术有限公司,
类型:发明
国别省市:广东;44
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。