This application discloses a data reconstruction method, device and system, which belongs to the field of data storage technology. The method includes: when a faulty disk with M data blocks is detected in the first storage node, reconstruction instructions are sent to n target storage nodes of multiple storage nodes, where the first storage node is any storage node of multiple storage nodes, and N reconstruction instructions are sent to n target reconstruction nodes to indicate that M data blocks are reconstructed. And storage, n target storage nodes have storage nodes different from the first storage node, m (> n (> 1); send acquisition instructions to the first storage node, acquisition instructions are used to instruct the first storage node to acquire and store M data blocks reconstructed by N target storage nodes. This application solves the problem of low efficiency of data reconstruction in data storage system and improves the efficiency of data reconstruction in data storage system. This application is used for data reconstruction.
【技术实现步骤摘要】
数据重构方法及装置、数据存储系统
本申请涉及数据存储
,特别涉及一种数据重构方法及装置、数据存储系统。
技术介绍
随着数据存储技术的发展,基于串行连接小型计算机系统接口(英文:SerialAttachedSmallComputerSystemInterface;简称:SAS)协议的数据存储系统得到了广泛的应用。相关技术中,基于SAS协议的数据存储系统包括:元数据管理服务器(英文:MetadataServer;简称:MDS)、SAS交换机和多个存储节点,且该多个存储节点之间通过SAS交换机相互连接,每个存储节点包括多个磁盘。当用户终端需要在该数据存储系统中存储目标数据时,该数据存储系统中的一个存储节点会将该目标数据切割为多个数据块(也称对目标数据进行条带化处理,该多个数据块属于同一个条带),并将该多个数据块分别存储在不同的磁盘上。MDS可以用于存储每个数据块的条带信息(一种元数据),条带信息包括:数据块的条带标识、数据块所在的磁盘标识、数据块的标识、数据块的数据量以及数据块的纠删码(英文:ErasureCoding;简称:EC)类型。当存储节点上出现故障磁盘时,MDS可以向该存储节点发送重构指令,该重构指令包括该故障磁盘上存储的每个数据块的条带信息,该存储节点可以根据该重构指令中每个数据块的条带信息,对故障磁盘上存储的每个数据块进行重构,也即对每个数据块进行恢复。但是,由于磁盘上通常存储有较多的数据块,且当该故障磁盘所在的存储节点的数据处理能力较弱时,该存储节点对故障磁盘上存储的数据的重构速度较慢,因此,数据存储系统的数据重构效率较低。
技术实现思路
本申 ...
【技术保护点】
1.一种数据重构方法,其特征在于,用于数据存储系统中的元数据管理服务器MDS,所述数据存储系统还包括:串行连接小型计算机系统接口SAS交换机和多个存储节点,所述多个存储节点通过所述SAS交换机相互连接,所述方法包括:在检测到第一存储节点中出现存储有m个数据块的故障磁盘时,向所述多个存储节点中的n个目标存储节点分别发送重构指令,其中,所述第一存储节点为所述多个存储节点中的任一存储节点,发送给所述n个目标重构节点的n个重构指令用于指示:对所述m个数据块进行重构并存储,所述n个目标存储节点中存在与所述第一存储节点不同的存储节点,m≥n≥1;向所述第一存储节点发送获取指令,所述获取指令用于指示所述第一存储节点获取并存储所述n个目标存储节点重构的所述m个数据块。
【技术特征摘要】
1.一种数据重构方法,其特征在于,用于数据存储系统中的元数据管理服务器MDS,所述数据存储系统还包括:串行连接小型计算机系统接口SAS交换机和多个存储节点,所述多个存储节点通过所述SAS交换机相互连接,所述方法包括:在检测到第一存储节点中出现存储有m个数据块的故障磁盘时,向所述多个存储节点中的n个目标存储节点分别发送重构指令,其中,所述第一存储节点为所述多个存储节点中的任一存储节点,发送给所述n个目标重构节点的n个重构指令用于指示:对所述m个数据块进行重构并存储,所述n个目标存储节点中存在与所述第一存储节点不同的存储节点,m≥n≥1;向所述第一存储节点发送获取指令,所述获取指令用于指示所述第一存储节点获取并存储所述n个目标存储节点重构的所述m个数据块。2.根据权利要求1所述的方法,其特征在于,m≥n≥2,在所述向所述多个存储节点中的n个目标存储节点分别发送重构指令之前,所述方法还包括:将所述多个存储节点中负载较小的n个存储节点,确定为所述n个目标存储节点;或者,将所述多个存储节点中预设的n个存储节点,确定为所述n个目标存储节点;或者,将所述多个存储节点中与所述MDS的路由距离最近的n个存储节点,确定为所述n个目标存储节点。3.根据权利要求1或2所述的方法,其特征在于,所述向所述多个存储节点中的n个目标存储节点分别发送重构指令,包括:确定所述每个目标存储节点的负载;根据所述n个目标存储节点的负载,确定所述每个目标存储节点对应的至少一个数据块,其中,目标存储节点对应的所有数据块的数据量之和与目标存储节点的负载负相关;生成所述每个目标存储节点对应的重构指令,其中,所述每个目标存储节点对应的重构指令用于指示:对所述每个目标存储节点对应的数据块进行重构并存储;向所述每个目标存储节点发送所述每个目标存储节点对应的重构指令。4.根据权利要求1所述的方法,其特征在于,在所述向所述多个存储节点中的n个目标存储节点分别发送重构指令之后,所述方法还包括:接收所述第一存储节点发送的存储申请消息,所述存储申请消息包括所述m个数据块的总数据量;根据所述存储申请消息向所述第一存储节点发送存储指令,所述存储指令用于指示在目标磁盘上存储重构的所述m个数据块,所述目标磁盘为所述第一存储节点中可用存储容量大于或等于所述总数据量的磁盘。5.根据权利要求4所述的方法,其特征在于,所述目标磁盘上并未存储有相关数据块,所述相关数据块与所述m个数据块中的任一数据块属于同一条带。6.根据权利要求4或5所述的方法,其特征在于,在所述向所述第一存储节点发送存储指令之后,所述方法还包括:接收所述第一存储节点发送的所述每个数据块的存储信息,所述每个数据块的存储信息包括:所述目标磁盘的标识以及所述每个数据块的标识;根据所述每个数据块的存储信息中所述每个数据块的标识,确定所述每个数据块的条带信息;将所述每个数据块的条带信息中所述每个数据块所在的磁盘的标识,修改为所述目标磁盘的标识。7.根据权利要求1所述的方法,其特征在于,所述多个存储节点中的每个存储节点包括:存储磁盘和缓存磁盘,所述每个存储节点具有所述存储磁盘的读权限,以及所述缓存磁盘的读写权限,所述n个目标存储节点包括缓存存储节点,发送给所述缓存存储节点的重构指令用于指示:将重构的数据块存储在所述缓存存储节点的缓存磁盘,在所述向所述第一存储节点发送获取指令之后,所述方法还包括:接收所述第一存储节点发送的获取完毕消息,所述获取完毕消息用于指示所述第一存储节点已经获取并存储完毕重构的所述m个数据块;向所述缓存存储节点发送删除指令,所述删除指令用于指示所述缓存节点删除所述缓存存储节点的缓存磁盘上存储的数据块。8.一种数据重构装置,其特征在于,用于数据存储系统中的元数据管理服务器MDS,所述数据存储系统还包括:串行连接小型计算机系统接口SAS交换机和...
【专利技术属性】
技术研发人员:林鹏,汪渭春,林起芊,
申请(专利权)人:杭州海康威视系统技术有限公司,
类型:发明
国别省市:浙江,33
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。