This application provides a disk detection method and device, the RAID system is applied to the storage device, the method includes: when used for receiving said return to disk read error execution result, determine whether the RAID has read the first data redundancy fault block error occurs in the disk; if the disk is. Other data on the disk in a RAID array to calculate the first data; write data to the first block if the first data write fault; fault block, determining at least one piece to be detected based on second data; determining the at least one piece in a quarantine quarantine strip in order, to the one to check if the second data block write second; data write failure, determine the fault disk. The application of the method can be implemented as soon as possible to find the fault disk, improve the reliability of RAID, improve the reliability of the data; at the same time, effectively reduce the disk detection process of system resources and performance of IO disk consumption.
【技术实现步骤摘要】
磁盘检测方法及装置
本申请涉及存储
,尤其涉及一种磁盘检测方法及装置。
技术介绍
随着信息技术的发展,越来越多的数据被保存在磁盘中,为了提高磁盘中数据的可靠性,通常使用RAID(RedundantArraysofIndependentDisks,独立磁盘冗余阵列)技术对磁盘中的数据进行冗余保护。然而,因为突发的震动或机械故障导致磁盘盘面被划伤,或者磁盘盘面蒙尘等因素而出现磁盘介质错误的情形不可避免地发生,当磁盘组中连续多块磁盘出现磁盘介质错误时,RAID重建的速率较低,很有可能导致RAID对数据的冗余保护机制失效,导致数据丢失。因此,通过及时发现磁盘介质问题并对介质错误的磁盘进行修复,可以有效地提高数据的可靠性。在现有方案中,可以采用磁盘预检测技术对磁盘进行检测,以发现故障磁盘,并及时进行相应处理。具体地,在磁盘预检测技术中,可以预先设定磁盘检测策略,例如,设定计算机每隔预设时长对磁盘进行一次全盘读或全盘写(以下简称全盘读/写),当检测到读/写命令执行失败时,触发RAID重建。然而,在上述磁盘预检测技术中,由于对磁盘进行全盘读/写,从而导致磁盘检测过程占用系统资源,消耗磁盘的IO处理性能;并且,当磁盘容量越大时,磁盘检测过程耗时越长,占用系统资源的耗时越长,越多地消耗磁盘的IO处理性能;同时,在极端情况下,也可能会出现刚刚检测过的磁盘因突发性的震动或机械故障导致盘面被划伤,而出现磁盘介质错误的情形。
技术实现思路
有鉴于此,本申请提供一种磁盘检测方法及装置,以实现尽可能及时地发现故障磁盘,提高RAID的可靠性,提高数据的可靠性;同时,有效地降低磁盘检测过 ...
【技术保护点】
一种磁盘检测方法,其特征在于,所述方法应用于存储设备的磁盘阵列RAID系统,所述存储设备预配置有至少一个RAID阵列,所述RAID阵列包括若干个磁盘;所述方法包括:当接收到磁盘返回的用于表示读错误的执行结果时,确定所述磁盘中发生读错误的故障条块中的第一数据是否具有RAID冗余性;若所述第一数据具有RAID冗余性,则通过所述磁盘所属RAID阵列中其他磁盘上的数据计算出所述第一数据;向所述故障条块写入所述第一数据;若所述第一数据写入成功,则基于所述故障条块确定至少一个待检条块;依次确定所述至少一个待检条块中的一个待检条块中的第二数据,向所述一个待检条块写入所述第二数据;若所述第二数据写入失败,则确定所述磁盘故障。
【技术特征摘要】
1.一种磁盘检测方法,其特征在于,所述方法应用于存储设备的磁盘阵列RAID系统,所述存储设备预配置有至少一个RAID阵列,所述RAID阵列包括若干个磁盘;所述方法包括:当接收到磁盘返回的用于表示读错误的执行结果时,确定所述磁盘中发生读错误的故障条块中的第一数据是否具有RAID冗余性;若所述第一数据具有RAID冗余性,则通过所述磁盘所属RAID阵列中其他磁盘上的数据计算出所述第一数据;向所述故障条块写入所述第一数据;若所述第一数据写入成功,则基于所述故障条块确定至少一个待检条块;依次确定所述至少一个待检条块中的一个待检条块中的第二数据,向所述一个待检条块写入所述第二数据;若所述第二数据写入失败,则确定所述磁盘故障。2.根据权利要求1所述的方法,其特征在于,所述基于所述故障条块确定至少一个待检条块包括:基于预设的偏移量从所述故障条块处进行偏移,得到至少一个待检条块。3.根据权利要求1所述的方法,其特征在于,所述依次确定所述至少一个待检条块中的一个待检条块中的第二数据,包括:依次确定所述至少一个待检条块中的一个待检条块中的第二数据是否具有RAID冗余性;若所述第二数据具有RAID冗余性,则通过所述磁盘所属RAID阵列中其他磁盘上的数据计算出所述第二数据。4.根据权利要求3所述的方法,其特征在于,所述依次确定所述至少一个待检条块中的一个待检条块中的第二数据是否具有RAID冗余性,包括:依次读取所述至少一个待检条块中的一个待检条块中的第二数据;若所述第二数据读取失败,则确定所述第二数据是否具有RAID冗余性。5.根据权利要求4所述的方法,其特征在于,所述方法还包括:若所述第二数据读取成功,则继续读取另一个所述待检条块中的第二数据,直至每一个所述待检条块中的第二数据读取成功时,确定所述磁盘正常。6.根据权利要求1所述的方法,其特征在于,所述方法还包括:若所述第一数据不具有RAID冗余性,则确定所述磁盘故障。7.根据权利要求1所述的方法,其特征在于,所述方法还包括:若所述第一数据写入失败,则确定所述磁盘故障。8.一种磁盘检测装置,其特征在于,所述装置应用于...
【专利技术属性】
技术研发人员:张学东,上官应兰,
申请(专利权)人:杭州宏杉科技股份有限公司,
类型:发明
国别省市:浙江,33
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。