The invention discloses a method, device, storage pool and storage medium for forming block group CKG to solve the technical problem of low utilization rate of hard disk in the prior art. The first matrix set is obtained by dividing the nodes in the designated cluster into several same-order matrices according to the number of each node. The first matrix set is obtained by cyclic cross-substitution of the matrices in the first matrix set according to rows, so that each row node in the same-order matrix is replaced by the corresponding row nodes in other matrices in turn, and the second matrix set is obtained from each matrix in the second matrix set. The nodes corresponding to each element of the CKG corresponding to each matrix are selected; or the nodes corresponding to each element of the CKG corresponding to each matrix are selected from each matrix obtained after a cyclic cross-replacement; from each node corresponding to each element of each CKG, an idle virtual partition of the hard disk is selected to form a storage pool. Every CKG.
【技术实现步骤摘要】
组建分块组CKG的方法、装置、虚拟存储池及存储介质
本专利技术涉及存储领域,尤其是涉及组建分块组CKG的方法、装置、虚拟存储池及存储介质。
技术介绍
随着存储技术的发展,磁盘块虚拟化以及分布式存储已成为当下热门的两项存储技术。磁盘块虚拟化是将物理磁盘虚拟化为虚拟存储块来管理存储空间,以解决传统独立磁盘冗余阵列(RedundantArraysofIndependentDrives,RAID)在单盘故障后,重构期间存在丢失数据的风险。但磁盘虚拟化技术却只能应用于单节点环境中,其采用的冗余策略是在同一节点内按虚拟分块进行冗余,当该节点发生故障后,由于该节点没有进行备份,所以无法为该节点恢复数据。而现有技术中,分布式存储系统所采用的冗余策略是按节点进行冗余,所以可以较好的解决节点故障后无法恢复节点数据的问题,并且可以将计算、存储资源在集群中池化,从而达到负载均衡的目标。但,由于分布式存储系统的节点是基于物理磁盘构成的,而磁盘块虚拟化技术中的节点是基于虚拟存储块构成的,从而造成这两种技术不能融合到一起被使用,进而不能有效的提高硬盘的利用率、可靠性等。鉴于此,如何使用磁盘块虚拟化技术将物理磁盘进行虚拟化后组建为构成虚拟存储池的虚拟分块组(CHUNKGROUP,CKG),使磁盘块虚拟化与分布式存储系统能够结合在一起,充分发挥出各自的优势,成为一个亟待解决的技术问题。
技术实现思路
本专利技术提供一种组件分块组CKG的方法,用以解决现有技术中存在的硬盘利用率较低的技术问题。第一方面,为解决上述技术问题,本专利技术实施例提供的一种组件分块组CKG的方法,该方法的技术方案如下:将 ...
【技术保护点】
1.一种组建分块组CKG的方法,其特征在于,包括:将指定集群下的节点作为矩阵元素,并按各节点的编号依次划分为多个同阶矩阵,获得第一矩阵集;其中,所述同阶矩阵中一列的节点个数与组成所述指定集群的虚拟存储池中的每个CKG的元素个数相同,所述第一矩阵集中每个同阶矩阵中的节点编号都不同;按行对所述第一矩阵集中的同阶矩阵进行循环交叉替换,使各同阶矩阵中的每行节点被依次替换为其它矩阵中的相应行节点,获得第二矩阵集;其中,所述第二矩阵集还包含所述第一矩阵集中的所有同阶矩阵;在获得所述第二矩阵集后,‑从所述第二矩阵集的每个矩阵中选取构成与所述每个矩阵对应的CKG的每个元素所对应的节点;或,在完成一次循环交叉替换后,从循环交叉替换后获得的每个矩阵中选取构成与所述每个矩阵对应的CKG的元素所对应的节点;其中,所述一次循环交叉替换为完成一次矩阵的行节点的替换;从所述每个CKG的每个元素所对应的节点中,选取物理硬盘中的一个空闲虚拟分块,组建成所述虚拟存储池中的所述每个CKG。
【技术特征摘要】
1.一种组建分块组CKG的方法,其特征在于,包括:将指定集群下的节点作为矩阵元素,并按各节点的编号依次划分为多个同阶矩阵,获得第一矩阵集;其中,所述同阶矩阵中一列的节点个数与组成所述指定集群的虚拟存储池中的每个CKG的元素个数相同,所述第一矩阵集中每个同阶矩阵中的节点编号都不同;按行对所述第一矩阵集中的同阶矩阵进行循环交叉替换,使各同阶矩阵中的每行节点被依次替换为其它矩阵中的相应行节点,获得第二矩阵集;其中,所述第二矩阵集还包含所述第一矩阵集中的所有同阶矩阵;在获得所述第二矩阵集后,-从所述第二矩阵集的每个矩阵中选取构成与所述每个矩阵对应的CKG的每个元素所对应的节点;或,在完成一次循环交叉替换后,从循环交叉替换后获得的每个矩阵中选取构成与所述每个矩阵对应的CKG的元素所对应的节点;其中,所述一次循环交叉替换为完成一次矩阵的行节点的替换;从所述每个CKG的每个元素所对应的节点中,选取物理硬盘中的一个空闲虚拟分块,组建成所述虚拟存储池中的所述每个CKG。2.如权利要求1所述的方法,其特征在于,获得第一矩阵集之前,还包括:将所述指定集群下的每个节点下的每个物理硬盘按指定容量虚拟化为多个虚拟分块;其中,所述每个节点具有相同数量和容量的物理硬盘。3.如权利要求1所述的方法,其特征在于,按行对所述第一矩阵集中的同阶矩阵进行循环交叉替换,使各同阶矩阵中的每行节点被依次替换为其它矩阵中的相应行节点,获得第二矩阵集,包括:从所述第一矩阵集的各同阶矩阵的第一行开始,用后一同阶矩阵的相应行节点进行替换,直到所述第一矩阵集的第一个同阶矩阵中的最后一行节点被最后一个同阶矩阵的最后一行节点替换为止,获得新的矩阵集;将所述第一矩阵集与所述新的矩阵集按获得的先后顺序,组成所述第二矩阵集。4.如权利要求3所述的方法,其特征在于,从每个矩阵中选取构成CKG的每个元素所对应的节点,包括:按第一公式,确定所述CKG中每个元素在当前矩阵中的坐标位置,并基于所述坐标位置获得所述每个元素所对应的节点;所述当前矩阵是为当前组建CKG的元素提供节点选取的矩阵;其中,所述第一公式为:CKp=(p,(i%n+(i/n)×p)%n)其中,CKp为所述CKG中的第p个元素,i为对所述当前矩阵进行CKG分配的次数,n为所述同阶矩阵中的总列数,p为不大于所述CKG的元数总个数的自然数,/代表取商,%代表取余。5.如权利要求1-4任一权项所述的方法,其特征在于,从所述每个CKG的每个元素所对应的节点中,选取物理硬盘中的一个空闲虚拟分块,组建成所述每个CKG,包括:按照第二算法从所述每个CKG的每个元素对应的节点中,为所述每个元素选取对应的物理硬盘;从所述每个元素对应的物理硬盘中,选取一个空闲的虚拟分块作为所述每个元素对应的虚拟分块。6.如权利要求5所述的方法,其特征在于,按照第二算法从所述每个CKG的每个元素对应的节点中,为所述每个元素选取对应的物理硬盘,包括:基于随机生成的第一随机数及所述每个元素对应的节点中总的物理硬盘数,按照公式START_DISK=RAND1%N计算起始硬盘的编号;其中,START_DISK为所述起始硬盘的编号,RAND1为所述第一随机数,N为所述总的物理硬盘数;基于随机生成的第二随机数及所述物理硬盘数,按照公式STEP=RAND2%N确定选取的物理硬盘相对于所述起始硬盘的步长;其中,STEP为所述步长,RAND2为所述第二随机数,N为所述总的物理硬盘数;基于所述起始硬盘的编号和所述步长,按照公式DISK_ID=(START_DISK+STEP×T)%N计算出所述选取的物理硬盘的编号;其中,DISK_ID为所述选取的物理硬盘的编号,T为所述每个元素对应的节点当前被选取虚拟分块的次数,N为所述总的物理硬盘数。7.一种组件分块组CKG的装置,其特征在于,包括:矩阵划分单元,用于将指定集群下的节点作为矩阵元素,并按各节点的编号依次划分为多个同阶矩阵,获得第一矩阵集;其中,所述同阶矩阵中一列的节点个数与组成所述...
【专利技术属性】
技术研发人员:李文睿,范开基,
申请(专利权)人:锐捷网络股份有限公司,
类型:发明
国别省市:福建,35
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。