【技术实现步骤摘要】
写数据方法与计算节点以及分布式存储系统
本专利技术涉及存储领域,特别涉及分布式存储技术。
技术介绍
在现有技术中,分布式存储系统被划分出多个故障域(一般是以服务器或者机柜为粒度来划分)。同一个故障域中只会存放一个副本,避免单个故障域失效导致多个副本不可访问,因此系统要求故障域的数量必须大于等于副本数。例如,三副本场景下,至少需要三个或三个以上的故障域,才能保证同一个故障域中不会放置两个副本。当某个故障域失效后,该故障域中的数据会在其他故障域上进行重建,以保证副本数量的完整性。在现有技术方案下,一旦创建存储池之后,后续难以对存储池的副本进行调整。例如三副本的分布式存储系统只能按照三副本的方式对数据进行存储,无法增加副本数或者减少副本数。如需强制减少副本数,只能逐个减容故障域直到故障域的数量和副本数相等,然后再强制移除一个故障域,由于副本之间存在互斥规则,因此数据无法完成重建,以此来达到降低副本数的目的。以三副本降低到二副本为例,其方案是:首先把分布式存储系统的故障域总数降低到三个;然后以三副本的方式对数据进行存储;接着强行移除掉一个故障域,仅保留二个故障域;这样,保留的二个故障域中各拥有一个副本,因此达到了从三副本降低到二副本的目的。可以看得出来,这种方案操作复杂,而且必须强行移除故障域,局限性很强。
技术实现思路
第一方面,本专利技术提供一种写数据方法的实施例,用于分布式存储系统存储数据,所述分布式存储系统包括计算节点和多个存储节点,每个存储节点包括硬盘,所述方法包括:所述计算节点接收写命令,所述写命令中携带目标数据和目标标签,所述目标标签用于标识所述目标数据 ...
【技术保护点】
1.一种写数据方法,用于向分布式存储系统的存储节点中写入数据,所述分布式存储系统包括计算节点和所述存储节点,每个存储节点包括硬盘,所述方法包括:所述计算节点接收写命令,所述写命令中携带目标数据和目标标签,所述目标标签用于标识所述目标数据;所述计算节点查询所述目标标签所对应的目标分区;所述计算节点查询所述目标分区对应的多个硬盘ID,所述目标分区对应的多个硬盘包括具有已选状态的硬盘和具有备选状态的硬盘,所述已选状态的硬盘可用于存储所述目标数据的副本,其中,所述具有已选状态的硬盘包括主硬盘和从硬盘,所述备选状态的硬盘不用于存储所述目标数据的副本;所述计算节点将所述目标数据和已选硬盘清单发送给所述主硬盘所在的存储节点,所述已选硬盘清单中包括从硬盘ID且不包括备选硬盘ID;所述主硬盘所在的存储节点把所述目标数据存入所述主硬盘,以及,根据从硬盘ID将所述目标数据发送给所述从硬盘所在的存储节点;所述从硬盘所在的存储节点把所述目标数据存入本地的从硬盘。
【技术特征摘要】
1.一种写数据方法,用于向分布式存储系统的存储节点中写入数据,所述分布式存储系统包括计算节点和所述存储节点,每个存储节点包括硬盘,所述方法包括:所述计算节点接收写命令,所述写命令中携带目标数据和目标标签,所述目标标签用于标识所述目标数据;所述计算节点查询所述目标标签所对应的目标分区;所述计算节点查询所述目标分区对应的多个硬盘ID,所述目标分区对应的多个硬盘包括具有已选状态的硬盘和具有备选状态的硬盘,所述已选状态的硬盘可用于存储所述目标数据的副本,其中,所述具有已选状态的硬盘包括主硬盘和从硬盘,所述备选状态的硬盘不用于存储所述目标数据的副本;所述计算节点将所述目标数据和已选硬盘清单发送给所述主硬盘所在的存储节点,所述已选硬盘清单中包括从硬盘ID且不包括备选硬盘ID;所述主硬盘所在的存储节点把所述目标数据存入所述主硬盘,以及,根据从硬盘ID将所述目标数据发送给所述从硬盘所在的存储节点;所述从硬盘所在的存储节点把所述目标数据存入本地的从硬盘。2.根据权利要求1所述的方法,在所述从硬盘所在的存储节点把所述目标数据存入本地的从硬盘之后,进一步包括:把所述目标分区所对应的备选状态的硬盘的状态更新为已选状态;从已经存储了所述目标数据的主硬盘或者从硬盘中获取所述目标数据,把获取的所述目标数据存储到新的已选硬盘。3.根据权利要求1所述的方法,还包括:所述目标数据是数据分块;所述目标标签是逻辑单元号标识LUNID和逻辑块地址LBA的组合。4.根据权利要求1所述的方法,查询所述目标标签所对应的目标分区,具体包括:计算所述目标标签的哈希值,根据所述哈希值与所述目标分区之间的对应关系,查询与所述目标标签所对应的目标分区所述目标标签所对应的目标分区。5.根据权利要求1所述的方法,其中:所述目标分区对应的多个硬盘的状态,和所述目标分区相关。6.一种写数据方法,用于向分布式存储系统写入数据,所述分布式存储系统包括计算节点和多个存储节点,每个存储节点包括硬盘,所述方法包括:所述计算节点接收写命令,所述写命令中携带目标数据和目标标签,所述目标标签用于标识所述目标数据;所述计算节点查询所述目标标签所对应的目标分区;所述计算节点查询所述目标分区对应的多个硬盘ID,所述目标分区对应的多个硬盘包括具有已选状态的硬盘和具有备选状态的硬盘,所述已选状态的硬盘可用于存储所述目标数据的副本,所述已选状态的硬盘不用于存储所述目标数据的副本;所述计算节点按照目标分区对应的多个硬盘ID中的已选状态的硬盘ID,将所述目标数据发送给所述具有已选状态的硬盘所在的存储节点。7.根据权利...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。