CN112256204A - 存储资源分配方法、装置、存储节点及存储介质 - Google Patents
存储资源分配方法、装置、存储节点及存储介质 Download PDFInfo
- Publication number
- CN112256204A CN112256204A CN202011172337.2A CN202011172337A CN112256204A CN 112256204 A CN112256204 A CN 112256204A CN 202011172337 A CN202011172337 A CN 202011172337A CN 112256204 A CN112256204 A CN 112256204A
- Authority
- CN
- China
- Prior art keywords
- storage
- partition
- target
- hard disk
- node
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0604—Improving or facilitating administration, e.g. storage management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0646—Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
- G06F3/0647—Migration mechanisms
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/067—Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
Abstract
本发明涉及分布式存储技术领域,提供了一种存储资源分配方法、装置、存储节点及存储介质,所述方法包括:接收客户端发送的、用于从多个存储分区中确定目标存储分区的分配请求;依据本地预先存储的分区热度表判断目标存储分区是否为热分区,其中,分区热度表包括与本地相关的存储分区的分区热度;若目标存储分区不为热分区,则从目标存储分区中分配满足分配请求的存储资源。相对于现有技术,本发明实施例将存储分区分布于多个不同存储节点上,通过预先存储的分区热度表判定存储分区的分区热度,在目标存储分区不为热分区时从目标存储分区分配存储资源,由此避免存储资源在某些存储节点上的集中分配。
Description
技术领域
本发明涉及分布式存储技术领域,具体而言,涉及一种存储资源分配方法、装置、存储节点及存储介质。
背景技术
分布式存储系统包括一个或多个客户端及多个存储节点,客户端分布存储资源,以将数据分散保存至不同的存储节点上,从而实现数据的分布式存储。为了保证数据的均衡分布,这种方式通常从容量相对多的硬盘中分配存储资源以存储数据,但是这种资源分配方式只能实现单个客户端存储资源分配的均衡性,在多个客户端并发申请存储资源时,会出现存储资源在某些存储节点上集中分配而导致的存储资源分配不均衡问题。
发明内容
本发明的目的在于提供了一种存储资源分配方法、装置、存储节点及存储介质,用于解决多个客户端并发申请存储资源时存储资源分配不均衡的问题。
为了实现上述目的,本发明实施例采用的技术方案如下:
第一方面,本发明提供一种存储资源分配方法,应用于分布式存储系统中多个存储节点中的任一存储节点,所述多个存储节点均与客户端通信连接,所述分布式存储系统包括多个存储分区,每一所述存储分区分布于多个不同所述存储节点,每一所述存储节点与至少一个存储分区关联,所述方法包括:接收所述客户端发送的、用于从所述多个存储分区中确定目标存储分区的分配请求;依据本地预先存储的分区热度表判断所述目标存储分区是否为热分区,其中,所述分区热度表包括与本地相关的存储分区的分区热度;若所述目标存储分区不为热分区,则从所述目标存储分区中分配满足所述分配请求的存储资源。
第二方面,本发明提供一种存储资源分配装置,应用于分布式存储系统中多个存储节点中的任一存储节点,所述多个存储节点均与客户端通信连接,所述分布式存储系统包括多个存储分区,每一所述存储分区分布于多个不同所述存储节点,每一所述存储节点与至少一个存储分区关联,所述装置包括:接收模块,用于接收所述客户端发送的、用于从所述多个存储分区中确定目标存储分区的分配请求;判断模块,用于依据本地预先存储的分区热度表判断所述目标存储分区是否为热分区,其中,所述分区热度表包括与本地相关的存储分区的分区热度;分配模块,用于若所述目标存储分区不为热分区,则从所述目标存储分区中分配满足所述分配请求的存储资源。
第三方面,本发明提供一种存储节点,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现如上述存储资源分配方法。
第四方面,本发明提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述的存储资源分配方法。
相对于现有技术,本发明将存储分区分布于多个不同存储节点上,通过预先存储的分区热度表判定存储分区的分区热度,在目标存储分区不为热分区时从目标存储分区分配存储资源,由此避免存储资源在某些存储节点上的集中分配。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1示出了本发明实施例提供的应用场景示意图。
图2示出了本发明实施例提供的存储节点的方框示意图。
图3示出了本发明实施例提供的一种存储资源分配方法的流程图。
图4示出了本发明实施例提供的另一种存储资源分配方法的流程图。
图5示出了本发明实施例提供的另一种存储资源分配方法的流程图。
图6示出了本发明实施例提供的另一种存储资源分配方法的流程图。
图7示出了本发明实施例提供的另一种存储资源分配方法的流程图。
图8示出了本发明实施例提供的存储对象、存储块和硬盘的对应关系的示例图。
图9示出了本发明实施例提供存储资源分配装置的方框示意图。
图标:10-存储节点;11-处理器;12-存储器;13-总线;14-通信接口;20-客户端;30-元数据服务器;100-存储资源分配装置;110-接收模块;120-判断模块;130-分配模块;140-更新模块。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。
因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
在本发明的描述中,需要说明的是,若出现术语“上”、“下”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,或者是该发明产品使用时惯常摆放的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。
此外,若出现术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
需要说明的是,在不冲突的情况下,本发明的实施例中的特征可以相互结合。
分布式存储系统中,客户端的功能主要是数据寻址和路由。数据寻址方案分为计算和查询两类,计算类使用一致性哈希/虚拟节点实现,其特点是不需要客户端保存元数据,通过数据的关键字key即可计算出数据的存放位置,处理效率较高,该方法在有节点加入或退出时,会有少量数据迁移,典型的系统如Ceph;查询类通常需要一个元数据服务器保存元数据,客户端通过key向元数据服务器查询数据的存放位置,典型系统如HDFS。
一方面,由于在分布式系统中,元数据的量通常比较大,客户端无法全部缓存在内存中,所以在对性能要求较高的场景,一般选择计算的方式寻址数据。已有的一些实现中,客户端决定数据的分布时,基本是通过计算直接确定数据的逻辑位置。例如Ceph,通过对存储对象OID进行哈希hash,得到对应的归置组PG(Placement Group,PG),PG与硬盘存在固定的对应关系,此种方法在OID分布不均的情况下,存在单个客户端通过hash映射的数据存在不均衡的问题;为了解决数据分布不均衡的问题,通常的做法是先选择一个容量相对多的逻辑存储位置,再通过一个存储空间标识与此位置关联。这样实现了单个客户端放置数据比较均衡。这种实现方法无法解决多客户端情况下,并发申请数据空间时,由于申请存储资源相对集中导致数据放置不均衡的问题。
另一方面,分布式系统可以分为带中心节点的结构和完全对称的无中心结构。带中心节点的结构特点是集中管理,效率高,不会出现不一致,但单节点可能会有性能瓶颈,特别是涉及元数据管理的逻辑,HDFS就是带中心节点的一种分布式存储架构,它用一个中心节点管理元数据;完全对称的无中心构架,典型如SheepDog(一种分布式存储管理系统),特点是完全对称,去中心化,但全局一致性达成相对集中式架构更慢。在实际的生产环境中,通常使用带中心节点的架构,因为这种架构能高效地管理全局信息,虽然该架构在数据读写路径上不需要经过中心节点,但在分配逻辑存储空间时,仍需要通过中心节点来集中分配,这种情况下中心节点容易出现瓶颈。
有鉴于此,本发明实施例提供一种存储资源分配方法、装置、存储节点及存储介质,用于解决上述问题,下面将对此进行详细描述。
请参考图1,图1示出了本发明实施例提供的应用场景示意图,客户端20和元数据服务器30均与存储节点10通信连接,客户端20与元数据服务器30通信连接,存储节点10负责存储用户数据,客户端20负责接收用户数据存储请求,并为该存储请求分配用于存储用户数据的存储资源。
分布式存储系统包括多个存储分区,存储分区分布于多个不同的存储节点10,例如,存储节点10包括节点a、节点b和节点c,其中,节点a包括硬盘1和硬盘2、节点b包括硬盘3和硬盘4,节点c包括硬盘5和硬盘6,以存储分区的纠删码策略为2+1为例,即一组纠删码中3个数据分片中任意有一片数据分片出现故障,可以通过另外两片正常的数据分片将故障分片中的数据恢复,存储分区与硬盘的对应关系可以表1所示:
表1
存储分区编号 | 存储分区包括的硬盘的编号 |
1 | (1、3、5) |
2 | (2、3、5) |
3 | (4、6、1) |
4 | (4、6、2) |
5 | (3、6、1) |
6 | (2、4、5) |
如上述表1所示,1#存储分区包括硬盘1、硬盘3和硬盘5,2#存储分区包括硬盘2、硬盘3和硬盘5,其他存储分区类似。
任一存储分区包括一个主硬盘和多个备硬盘,可以将每一存储分区对应的硬盘列表中的第一个硬盘作为主硬盘,该存储分区中除主硬盘之外的其他硬盘作为备硬盘,例如,上述表1中,硬盘1为1#存储分区的主硬盘、硬盘3和硬盘5为1#存储分区的备硬盘,其他存储分区类似,当然也可以按照预设规则从存储分区中的多个硬盘中选出主硬盘,例如,将存储分区对应的硬盘列表中性能配置较好的作为主硬盘。
每一存储节点与至少一个存储分区关联,意味着每一存储节点上的硬盘至少是一个存储分区的主硬盘,例如,上述表1中,与存储节点a相关的存储分区为1#存储分区、2#存储分区和6#存储分区。
需要说明的是,上述表1包括6个存储分区只是一个示例,事实上,一个分布式存储系统可以根据采用的冗余策略包括更多或者更少的存储分区,只要满足同一个存储分区中分布于多个不同的存储节点10,任意两个存储分区包括的硬盘不能完全相同即可,当然为了保证数据分布的均衡性,可以将所有存储分区大致均衡地分布于分布式存储系统中所有存储节点10,将主硬盘大致均衡地分布于所有存储节点10。
元数据服务器30用于存储管理分布式存储系统的关键元数据,这类元数据通常不会频繁更新。另一部分频繁更新且分配存储资源时经常使用的元数据通常存储至存储节点10上,由此客户端20在进行数据存储时,不需要访问元数据服务器30,由存储节点10进行存储资源分配,由此可以避免元数据服务器30称为存储资源分配的瓶颈而导致分布式存储系统的性能下降。
存储节点10可以是存储服务器、存储阵列等。
客户端20可以是独立于存储节点10的独立的主机,此时,客户端20可以是实体主机或者实现与实体主机具有相同功能的虚拟机;客户端20也可以是与存储节点10共用同一个设备,此时客户端20可以是一个或者多个存储节点10上运行的独立功能模块。
元数据服务器30可以是实体主机或者实现与实体主机具有相同功能的虚拟机。
在图1的基础上,本发明实施例还提供了图1中存储节点10的方框示意图,请参照图2,图2示出了本发明实施例提供的存储节点10的方框示意图。存储节点10包括处理器11、存储器12、总线13、通信接口14。处理器11、存储器12通过总线13连接,处理器11通过不同的通信接口14与客户端20及元数据服务器30通信连接。
处理器11可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器11中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器11可以是通用处理器,包括中央处理器(Central Processing Unit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(DSP)、专用集成电路(ASIC)、现成可编程门阵列(FPGA)或者其它可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
存储器12用于存储程序,例如上述的存储资源分配装置,该存储资源分配装置包括至少一个可以软件或固件(firmware)的形式存储于存储器12中的软件功能模块,处理器11在接收到执行指令后,执行所述程序以实现上述实施例揭示的存储资源分配方法。
存储器12可能包括高速随机存取存储器(RAM:Random Access Memory),也可能还包括非易失存储器(non-volatile memory),例如至少一个硬盘存储器。可选地,存储器12可以是内置于处理器11中的存储装置,也可以是独立于处理器11的存储装置。
总线13可以是ISA总线、PCI总线或EISA总线等。图2仅用一个双向箭头表示,但并不表示仅有一根总线或一种类型的总线。
通过至少一个通信接口14(可以是有线或者无线)实现存储节点10与客户端20和元数据服务器30之间的通信连接。
在图1和图2的基础上,本发明实施例提供一种存储资源分配方法,该存储资源分配方法可以应用于图1和图2中的存储节点10,请参照图3,图3示出了本发明实施例提供的一种存储资源分配方法的流程图,该方法包括以下步骤:
步骤S100,接收客户端发送的、用于从多个存储分区中确定目标存储分区的分配请求。
在本实施例中,客户端20接收到资源分配请求后,根据需要分配的资源长度、资源所需的冗余策略等请求参数从多个存储分区中筛选出目标存储分区,筛选的条件可以包括存储分区中不含故障盘、分区空闲容量满足预设阈值,还包括存储分区的分区负载小于预设负载值,另外,分区容量和分区负载还可以带有权重因子,且可动态配置,如果按照筛选条件得到多个候选存储分区,则可以取第一个作为目标存储分区,也可以随机选择其中的一个作为目标存储分区。
在本实施例中,由于客户端20存储有所有存储分区的信息,该信息中包括目标存储分区包括主硬盘和备硬盘,客户端20将分配请求发送至主硬盘所属的存储节点10,由于主硬盘可以分布于分布式存储系统中任一存储节点10中,因此,任一存储节点10作为主硬盘时都可能收到来自客户端20的分配请求。
步骤S110,依据本地预先存储的分区热度表判断目标存储分区是否为热分区,其中,分区热度表包括与本地相关的存储分区的分区热度。
在本实施例中,收到分配请求的存储节点10预先存储有分区热度表,分区热度表包括与本存储节点10相关的所有的存储分区的热度值,每一存储分区的热度值可以用于表征该存储分区处理分配请求的频繁程度,例如预设时长内处理的分配请求的总数,或者预设时长内处理的每秒钟处理分配请求的最大值等。
步骤S120,若目标存储分区不为热分区,则从目标存储分区中分配满足分配请求的存储资源。
在本实施例中,当存储用户数据时,需要为该数据分配相应的逻辑存储空间,然后将用户数据写入该逻辑存储空间,也可以后续从该逻辑存储空间中读取已经写入的用户数据。该逻辑存储空间通常以存储对象为单位进行管理,每一个存储对象均有一个唯一标识该存储对象的对象ID,例如对象ID可以用一个64位无符号整数表示,一个对象ID可以包括多个不同硬盘上的存储单元block,存储单元block是一个硬盘上的存储空间的划分和管理单位,存储单元block可以根据需要进行划分,例如,存储单元block为1MB,一个存储对象为64MB,以3副本为例,该存储对象会分布在3个不同的硬盘上,每一个硬盘的64个block用于存储该存储对象的一个副本,以纠删码EC 4+2为例,该存储对象分布在4+2=6个硬盘上,每个硬盘的16个block存储该存储对象,存储单元block也可以设置为8MB,基于8MB的block的存储对象的分布与之类似,此处不再赘述。
本实施例提供的存储资源分配方法,将存储分区分布于多个不同存储节点上,通过预先存储的分区热度表判定存储分区的分区热度,在目标存储分区不为热分区时从目标存储分区分配存储资源,一方面,避免客户端分配不均导致存储资源在某些存储节点上的集中分配,另一方面,由于存储资源的分配流程在存储节点上执行,实现了存储资源分配流程的去中心化,提高了存储资源的分配效率。
在图3的基础上,若目标存储分区为热分区时,为了避免分配请求集中于目标存储分区,给目标存储分区造成过多的负载,本发明实施例还提供了另一种存储资源分配方法,请参照图4,图4示出了本发明实施例提供的另一种存储资源分配方法的流程图,该方法还包括步骤S130。
步骤S130,若目标存储分区为热分区,则向客户端反馈分区热度表,以使客户端依据分区热度表重新确定目标存储分区。
在本实施例中,若目标存储分区热分区,向客户端20反馈目标存储分区为热分区,同时将存储节点10本地存储的分区热度表发送至客户端20,客户端20可以根据分区热度表,从与本存储节点10相关的多个存储分区中重新确定目标存储分区。由此可以避免分配请求集中于同一个目标存储分区,从而可以将分配请求分散于各存储分区,有效地缓解给目标存储分区造成过多的负载,使资源分配更均衡,提高了资源分配的效率。
在图3的基础上,本发明实施例还提供了一种判断目标存储分区是否为热分区的具体实施方式,请参照图5,图5示出了本发明实施例提供的另一种存储资源分配方法的流程图,步骤S110还包括以下子步骤:
子步骤S1101,若目标存储分区的分配次数为分区热度表中的最大值,则判定目标存储分区为热分区,否则判定目标存储分区不为热分区。
在本实施例中,存储分区的分区热度为存储分区在最近预设时长内存储资源的分配次数,存储节点10存储了与本存储节点相关的存储分区的分区热度。
本实施例提供的存储资源分配方法,用分配次数表征分区的热度,通过将分区热度表中的最大值对应的存储分区判定为热分区,可以快速、准确地判定目标存储分区当前是否为资源分配较为集中的热分区。
在图3的基础上,本发明实施例还提供了一种从目标存储分区中分配资源的具体实施方式,请参照图6,图6示出了本发明实施例提供的另一种存储资源分配方法的流程图,步骤S120还包括以下子步骤:
子步骤S1201,主硬盘所属的存储节点获取分布式存储系统中存储分区的总数及目标存储分区中最近一次分配的存储对象的标识。
在本实施例中,存储对象的标识的确定规则可以参照表2所示。
表2
上述表2中,P为分布式存储系统中分区的总数,P=10000,分区ID为0~9999,在第一次分配之前,分区0~9999的最近一次分配的存储对象的标识分别为0~9999,对于分区0,第一次分配的存储对象的标识为:0+P=0+10000=10000,此时,最近一次分配的存储对象的标识为10000,第二次分配的存储对象的标识为:10000+P=10000+10000=20000,按照如此规则,第n次分配的存储对象的标识为:LastObjID0+P,LastObjID0为第n-1次分配的存储对象的标识,其他分区与之类似。
子步骤S1202,主硬盘所属的存储节点依据总数、目标存储分区中最近一次分配的存储对象的标识,确定满足存储资源的存储对象的标识。
在本实施例中,作为一种具体实施方式,确定满足存储资源的存储对象的标识的方法可以是:
主硬盘所属的存储节点依据总数、目标存储分区中最近一次分配的存储对象的标识,利用公式ObjectIdcurrent=ObjectIdlast+P,确定满足存储资源的存储对象的标识,其中,ObjectIdcurrent为满足存储资源的存储对象的标识,ObjectIdlast为目标存储分区中最近一次分配的存储对象的标识,P为总数。
子步骤S1203,主硬盘所属的存储节点在本地分配预设长度的存储块,并保存存储块与存储对象之间的关联关系,同时向目标存储分区的每一备硬盘所属的存储节点发送分配命令,以使每一备硬盘的存储节点分配预设长度的存储块、并保存每一备硬盘的存储节点上分配的存储块与存储对象之间的关联关系,其中,与存储对象关联的所有存储块即为存储资源。
在本实施例中,目标存储分区的主硬盘确定存储对象的标识,目标存储分区的主硬盘和备硬盘分别在其本地分配预设长度的存储块block,并保存自身分配的block与存储对象的标识之间的关系,以便从存储对象的标识可以快速确定对应的block,例如,主硬盘为硬盘1,硬盘1所属的存储节点为a,备硬盘为硬盘2和硬盘3,所属的存储节点分别为b和c,硬盘1确定存储对象的标识为555,a在硬盘1上分配一个block,记录该block与存储对象555之间的关联关系,同时,a向b和c分别发送分配命令,b和c分别收到该分配命令后,b从硬盘2上分配一个block,记录该block与存储对象555之间的关联关系,c从硬盘3上分配一个block,记录该block与存储对象555之间的关联关系,b和c分配block的操作是基于收到的分配命令进行的。
本实施例提供的存储资源分配方法,通过存储分区的总数、目标存储分区中最近一次分配的存储对象的标识,可以快速地确定存储对象的标识,同时保证了该标识的唯一性,该方法只需要进行简单的算术运算即可实现,实现过程简单快捷。
在本实施例中,主硬盘在收到备硬盘反馈的分配命令执行成功的消息后,向客户端20反馈存储资源分配成功,请继续参照6,步骤S120还包括以下子步骤:
子步骤S1203,主硬盘所属的存储节点接收目标存储分区的每一备硬盘所属的存储节点反馈的分配命令执行成功的消息,并向客户端反馈存储资源分配成功。
在图3的基础上,在本实施例中,为了使下一次资源分配时可以准确地根据分区热度表进行热分区的判断,本发明实施例还提供了一种更新目标存储分区的分区热度的具体实现方式,请参照图7,图7示出了本发明实施例提供的另一种存储资源分配方法的流程图,该方法还包括以下步骤:
步骤S140,更新本地的分区热度表中目标存储分区的分区热度。
需要说明的是,上述图4中的步骤S130也可以用在图5~图7中以实现与图4中相同的效果,上述图5中的子步骤S1101也可以替换图4、图6和图7中的步骤S110,以实现与图5中相同的效果,上述图6中的子步骤S1201~S1203也可以替换图4、图5和图7中的步骤S120,以实现与图6中相同的效果,上述图7中的步骤S140也可以用在图4~图6中,以实现与图7中相同的效果。
在本发明实施例中,为了便于对分布式存储系统中的存储分区的信息进行存储和管理,作为一种具体实施方式,可以采用分区表的形式,分区表可以由元数据服务器30管理,分区表包括P行组成,其中,P表示存储分区的个数,每一行有n+m个结构,对应以n+m纠删码编码的一组数据(也称为一个条带),该组数据包括n+m个数据块,当该组数据中n+m中若有m个数据块出现故障,可以通过另外的n个数据块将其恢复,副本模式与之类似,此处不再赘述,每个结构中包含的成员为:硬盘标识disk_id,硬盘状态disk_status,硬盘在条带中的位置member_id,本存储分区的主硬盘的硬盘标识master_index。请参照表3,表3是分区表的一个示例。
表3
分区标识 | 成员盘0 | 成员盘1 | 成员盘2 | 主硬盘 |
0 | Disk1,正常 | Disk2,正常 | Disk3,正常 | 成员盘0(即Disk1) |
1 | Disk5,正常 | Disk6,正常 | Disk7,正常 | 成员盘0(即Disk5) |
分区表的生成可以是对硬盘进行排列组合,类似于CRUSH打散算法,对硬盘进行排练组合时至少需要满足以下条件:
1)各个硬盘被分配的总次数基本一致;
2)各个硬盘承担主硬盘的次数基本一致;
3)所有硬盘都需要使用到;
4)如果分布式存储系统配置为节点级故障域,则需要保证每个存储节点上总的主硬盘的分配次数基本一致,在满足条件4的情况下,条件1)可适当放宽;
5)如果分布式存储系统配置为机架级故障域,则需要保证每个机架上总的主硬盘的分配次数基本一致,在满足条件5的情况下,条件1)和条件4)可适当放宽;
6)每个存储分区的硬盘成员需满足故障域的要求。
当有硬盘/节点/机架故障时,或有新硬盘/节点/机架加入时,需要重新生成分区表,生成时要对照旧分区表,保证全局的数据迁移量最小,同时新分区表仍然要满足以上条件。
分区表在内存中的占用量非常小,通常在10MB以内,一方面,可以减少分区表占用的内存对元数据服务器的内存造成的压力,降低了元数据服务器30的内存需求配置,另一方面,由于分区表的更新不频繁,减少了更新分区表带来的性能开销。
在本发明实施例中,为了便于对硬盘信息进行管理,本发明实施例采用硬盘信息表disk_info_table,硬盘信息表由元数据服务器30管理,用于保存一些硬盘的静态信息,如硬盘标识disk_id,硬盘容量disk_capacity,硬盘类型disk_type,与硬盘通信时使用的ip,与硬盘通信时使用的端口port,硬盘信息表中的这些信息在分布式存储系统创建时由元数据服务器分配并持久化存储,为了保证元数据服务器30的可靠性,通常情况下会使用多个服务器组成一个元数据服务集群,此时,硬盘信息表中的这些信息会存储至该集群中。硬盘信息表通常也比较小,因此占用的内存资源也极少,即便上万块盘,都可以全量缓存在内存中,保证了硬盘信息表的快速访问。
为了便于分布式存储系统中的写入和读出数据,在分布式存储系统初始化时,需要将一些经常使用的元数据加载至内存中,本发明实施例还给出了一种初始化流程的具体实现方式。
元数据服务器30启动时,读取持久化存储的分区表和硬盘信息表并加载至内存。
客户端20启动时,从元数据服务器30读取分区表和硬盘信息表,并存储至自己的内存中。
存储节点10启动时,每个存储节点10的处理方式是相同的,以任一存储节点10为例,存储节点10从元数据服务器30读取分区表和硬盘信息表,并存储至自己的内存中。存储节点10会根据分区表、硬盘信息表及硬盘上存储block元数据表BlkMetaTbl在内存中重建存储对象Object和block的对应关系表ObjBlkMapTbl和存储对象的标识ObjectId分配表ObjAllocTbl,这三个表有依赖关系,需要依次重建。
block元数据表BlkMetaTbl主要记录了硬盘上block的元数据,block的元数据表征block划分的地址与分配情况,对于已使用的block,则该block的元数据中还包含了该block所属的Object,以及该block是所属Object中的排序。作为一种具体实现方式,未使用的block的元数据可以通过一个空闲链表free_q管理起来,方便申请时快速分配:摘下链表头即可操作该block的元数;已删除的block也通过一个链表deleted_q管理起来,删除的block元数据只修改了分配标记,其余有效字段不变,仍记录了删除前所属的Object,以备重建存储对象的标识的分配表ObjAllocTbl时用。
存储对象的标识ObjectId和block的对应关系表可通过遍历所有非空闲的block构建,包括已标记删除的block,因为每个block元数据中记录了它对应的ObjectId,所以可以重建出该硬盘上所有的Object及每个Object包含的block信息。
ObjectId分配表用于保存存储分区的标识PriPtId与该存储分区当前已分配的最大ObjectId,一个存储节点对应一个ObjectId分配表,该表包括该存储节点相关的所有存储分区的分区标识与每一存储分区当前已分配的最大ObjectId值。请参看表4,表4为ObjectId分配表的示例。
表4
存储分区的标识 | 当前已分配的最大ObjectId |
0 | 10000 |
1 | 20001 |
2 | 30002 |
由于通过ObjectId可计算出它对应的存储分区的标识PriPtId,遍历Object和block的对应关系表,可找到以该硬盘为主硬盘的每个存储分区的标识PriPtId对应的最大ObjectId,记为MaxLocalObjectId。以该值初始化对应主分区下一个待分配的ObjectId,即LocalObjectId=MaxLocalObjectId+P,后续的ObjectId分配可通过LocalObjectId通过自增一个步长的方式获得,这样可保证在无中心节点的情况下,分配的ObjectId在各硬盘和分区上独立而且不重复。自增方式为LocalObjectId=LocalObjectId+P,P为分布式存储系统中存储分区的总数。
基于上述初始化流程对元数据的恢复,本发明实施例还给出了一种向分布式存储系统写入数据的处理流程,该处理流程如下:
步骤S11,客户端20接收写请求,其中,写请求中包括要写的ObjectId1。
步骤S12,客户端20根据ObjectId1计算出对应的存储分区,并从分区表中得到对应的硬盘的标识信息,客户端20将经过纠删处理或者数据的副本发送至对应的硬盘。
在本实施例中,存储节点10上运行有硬盘管理进程,该进程与客户端20保持长连接,且连接信息与硬盘标识一一对应,然后将纠删处理或副本数据块发送给对应的硬盘管理进程。
步骤S13,存储节点10上的硬盘管理进程接收到写请求后,将写请求的数据按block的大小进行切分,然后按实际情况分配block并将数据写入分配的block。
作为一种具体实施方式,可以从free_q中取下链表元素,得到一个空闲block的元数据信息,元数据中包含了该block的地址,所以将切分的block数据异步并发存储至对应的硬盘,每一个block数据写成功之后,再更新该block对应的元数据并下盘。元数据操作成功后更新内存中的LastblockIdx,每成功处理一个block,LastblockIdx++,处理回调时,需要按offset从小到大依次处理,因为是追加写方式,在每次分配block的时候,需要判断该Object1写的起始offset与该Object1已写入长度是否连续,不连续直接报错。如果中间某个block写失败,则直接向客户端20返回已写入成功的长度。
为了更清楚地说明存储对象、存储块和硬盘的对应关系,请参照图8,图8示出了本发明实施例提供的存储对象、存储块和硬盘的对应关系的示例图,图8中,存储对象包括block1~block4,分别属于硬盘1~硬盘4,且每个block在各自硬盘中的起始位置可能相同也可能不同。
基于上述初始化流程对元数据的恢复,本发明实施例还给出了一种从分布式存储系统读出数据的处理流程,该处理流程如下:
步骤S21,客户端20接收读请求,其中,读请求中包括要读的ObjectId2。
步骤S22,存储节点10上的硬盘管理进程接收到读请求后,将读请求按block拆分,从block中读取要读的数据,返回给客户端20。
作为一种具体实现方式,由于block的所有元数据缓存在内存中,所以根据读请求的起始偏移位置offset按block大小可以计算出block对应的index,即是该Object2中的第几个block,然后查询Object2和block对应关系表,找到该block的元数据,即磁盘上的地址,根据该地址读取block数据。切分的block可以异步并发提交读硬盘,然后将读取的数据返回给客户端20。
步骤S23,客户端20将存储节点10返回的数据进行拼接并向上返回。
通常情况下,正常读写过程依赖的元数据,只需要在初始化的时候从元数据服务器读取分区表和硬盘信息表,然后根据分区表和硬盘信息表以及存储节点10自身存储的block元数据表恢复读写过程中需要使用的存储对象Object和block的对应关系表ObjBlkMapTbl和存储对象的标识ObjectId分配表ObjAllocTbl,由此,基于本发明实施例提供的存储资源分配方法还可以带来如下效果:(1)分区表和硬盘信息表的大小均比较小,持久化存储时不会占用过多的元数据服务器30的存储空间,恢复至内存后,也不会占用元数据服务器30、客户端20及存储节点10过多的内存资源。(2)每个存储节点10只存储自身的block的元数据,一方面,避免了集中存储造成的存储资源占用过大,另一方面,block的元数据分散存储,实现了存储资源去中心化高效分配。(3)由于正常读写过程中均不涉及到对原数据服务器的访问,由此提高了数据读写的并发性,最终提高分布式存储系统的访问性能。
为了执行上述实施例及各个可能的实施方式中的相应步骤,下面给出一种存储资源分配装置100的实现方式。请参照图9,图9示出了本发明实施例提供的存储资源分配装置100的方框示意图。需要说明的是,本实施例所提供的存储资源分配装置100,其基本原理及产生的技术效果和上述实施例相同,为简要描述,本实施例部分未提及指出。
存储资源分配装置100包括接收模块110、判断模块120、分配模块130及更新模块140。
接收模块110,用于接收所述客户端发送的、用于从所述多个存储分区中确定目标存储分区的分配请求。
判断模块120,用于依据本地预先存储的分区热度表判断所述目标存储分区是否为热分区,其中,所述分区热度表包括与本地相关的存储分区的分区热度。
作为一种具体实施方式,存储分区的分区热度为所述存储分区在最近预设时长内存储资源的分配次数,判断模块120具体用于:若所述目标存储分区的分配次数为所述分区热度表中的最大值,则判定所述目标存储分区为热分区,否则判定所述目标存储分区不为热分区。
分配模块130,用于若目标存储分区不为热分区,则从目标存储分区中分配满足分配请求的存储资源。
作为一种具体实施方式,每一存储分区包括属于不同存储节点的多个硬盘,每一存储分区的多个硬盘包括一个主硬盘和至少一个备硬盘,其中,主硬盘所属的存储节点用于接收分配请求,分配请求还包括目标存储分区的标识,分配模块130具体用于:主硬盘所属的存储节点获取分布式存储系统中存储分区的总数及目标存储分区中最近一次分配的存储对象的标识;主硬盘所属的存储节点依据总数、目标存储分区中最近一次分配的存储对象的标识,确定满足存储资源的存储对象的标识;主硬盘所属的存储节点在本地分配预设长度的存储块,并保存存储块与存储对象之间的关联关系,同时向目标存储分区的每一备硬盘所属的存储节点发送分配命令,以使每一备硬盘的存储节点分配预设长度的存储块、并保存每一备硬盘的存储节点上分配的存储块与存储对象之间的关联关系,其中,与存储对象关联的所有存储块即为存储资源。
作为一种具体实施方式,分配模块130在依据总数、目标存储分区中最近一次分配的存储对象的标识,确定满足存储资源的存储对象的标识时具体用于:主硬盘所属的存储节点依据总数、目标存储分区中最近一次分配的存储对象的标识,利用公式ObjectIdcurrent=ObjectIdlast+P,确定满足存储资源的存储对象的标识,其中,ObjectIdcurrent为满足存储资源的存储对象的标识,ObjectIdlast为目标存储分区中最近一次分配的存储对象的标识,P为总数。
作为一种具体实施方式,分配模块130还用于:主硬盘所属的存储节点接收目标存储分区的每一备硬盘所属的存储节点反馈的分配命令执行成功的消息,并向客户端反馈存储资源分配成功。
作为一种具体实施方式,分配模块130还用于:若目标存储分区为热分区,则向客户端反馈分区热度表,以使客户端依据分区热度表重新确定目标存储分区。
更新模块140,用于更新本地的分区热度表中目标存储分区的分区热度。
综上所述,本发明实施例提供了一种存储资源分配方法、装置、存储节点及存储介质,应用于分布式存储系统中多个存储节点中的任一存储节点,多个存储节点均与客户端通信连接,分布式存储系统包括多个存储分区,每一存储分区分布于多个不同存储节点,每一存储节点与至少一个存储分区关联,所述方法包括:接收客户端发送的、用于从多个存储分区中确定目标存储分区的分配请求;依据本地预先存储的分区热度表判断目标存储分区是否为热分区,其中,分区热度表包括与本地相关的存储分区的分区热度;若目标存储分区不为热分区,则从目标存储分区中分配满足分配请求的存储资源。相对于现有技术,本发明实施例将存储分区分布于多个不同存储节点上,通过预先存储的分区热度表判定存储分区的分区热度,在目标存储分区不为热分区时从目标存储分区分配存储资源,由此避免存储资源在某些存储节点上的集中分配。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。
Claims (10)
1.一种存储资源分配方法,其特征在于,应用于分布式存储系统中多个存储节点中的任一存储节点,所述多个存储节点均与客户端通信连接,所述分布式存储系统包括多个存储分区,每一所述存储分区分布于多个不同所述存储节点,每一所述存储节点与至少一个存储分区关联,所述方法包括:
接收所述客户端发送的、用于从所述多个存储分区中确定目标存储分区的分配请求;
依据本地预先存储的分区热度表判断所述目标存储分区是否为热分区,其中,所述分区热度表包括与本地相关的存储分区的分区热度;
若所述目标存储分区不为热分区,则从所述目标存储分区中分配满足所述分配请求的存储资源。
2.如权利要求1所述的存储资源分配方法,其特征在于,所述存储分区的分区热度为所述存储分区在最近预设时长内存储资源的分配次数,所述依据本地预先存储的分区热度表判断所述目标存储分区是否为热分区的步骤包括:
若所述目标存储分区的分配次数为所述分区热度表中的最大值,则判定所述目标存储分区为热分区,否则判定所述目标存储分区不为热分区。
3.如权利要求1所述的存储资源分配方法,其特征在于,每一所述存储分区包括属于不同所述存储节点的多个硬盘,每一所述存储分区的多个硬盘包括一个主硬盘和至少一个备硬盘,其中,所述主硬盘所属的存储节点用于接收所述分配请求,所述分配请求还包括目标存储分区的标识,所述若所述目标存储分区不为热分区,则从所述目标存储分区中分配满足所述分配请求的存储资源的步骤包括:
所述主硬盘所属的存储节点获取所述分布式存储系统中存储分区的总数及所述目标存储分区中最近一次分配的存储对象的标识;
所述主硬盘所属的存储节点依据所述总数、所述目标存储分区中最近一次分配的存储对象的标识,确定满足所述存储资源的存储对象的标识;
所述主硬盘所属的存储节点在本地分配预设长度的存储块,并保存所述存储块与所述存储对象之间的关联关系,同时向所述目标存储分区的每一所述备硬盘所属的存储节点发送分配命令,以使每一所述备硬盘所述的存储节点分配预设长度的存储块、并保存每一所述备硬盘所述的存储节点上分配的存储块与所述存储对象之间的关联关系,其中,与所述存储对象关联的所有存储块即为所述存储资源。
4.如权利要求3所述的存储资源分配方法,其特征在于,所述主硬盘所属的存储节点依据所述总数、所述目标存储分区中最近一次分配的存储对象的标识,确定满足所述存储资源的存储对象的标识的步骤包括:
所述主硬盘所属的存储节点依据所述总数、所述目标存储分区中最近一次分配的存储对象的标识,利用公式ObjectIdcurrent=ObjectIdlast+P,确定满足所述存储资源的存储对象的标识,其中,ObjectIdcurrent为满足所述存储资源的存储对象的标识,ObjectIdlast为所述目标存储分区中最近一次分配的存储对象的标识,P为所述总数。
5.如权利要求3所述的存储资源分配方法,其特征在于,所述方法还包括:
所述主硬盘所属的存储节点接收所述目标存储分区的每一所述备硬盘所属的存储节点反馈的分配命令执行成功的消息,并向所述客户端反馈所述存储资源分配成功。
6.如权利要求1所述的存储资源分配方法,其特征在于,所述若所述目标存储分区不为热分区,则从所述目标存储分区中分配满足所述分配请求的存储资源的步骤之后还包括:
更新本地的所述分区热度表中所述目标存储分区的分区热度。
7.如权利要求1所述的存储资源分配方法,其特征在于,所述方法还包括:
若所述目标存储分区为热分区,则向所述客户端反馈所述分区热度表,以使所述客户端依据所述分区热度表重新确定目标存储分区。
8.一种存储资源分配装置,其特征在于,应用于分布式存储系统中多个存储节点中的任一存储节点,所述多个存储节点均与客户端通信连接,所述分布式存储系统包括多个存储分区,每一所述存储分区分布于多个不同所述存储节点,每一所述存储节点与至少一个存储分区关联,所述装置包括:
接收模块,用于接收所述客户端发送的、用于从所述多个存储分区中确定目标存储分区的分配请求;
判断模块,用于依据本地预先存储的分区热度表判断所述目标存储分区是否为热分区,其中,所述分区热度表包括与本地相关的存储分区的分区热度;
分配模块,用于若所述目标存储分区不为热分区,则从所述目标存储分区中分配满足所述分配请求的存储资源。
9.一种存储节点,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1-7中任一项所述的存储资源分配方法。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现如权利要求1-7中任一项所述的存储资源分配方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011172337.2A CN112256204B (zh) | 2020-10-28 | 2020-10-28 | 存储资源分配方法、装置、存储节点及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011172337.2A CN112256204B (zh) | 2020-10-28 | 2020-10-28 | 存储资源分配方法、装置、存储节点及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112256204A true CN112256204A (zh) | 2021-01-22 |
CN112256204B CN112256204B (zh) | 2022-06-03 |
Family
ID=74261134
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011172337.2A Active CN112256204B (zh) | 2020-10-28 | 2020-10-28 | 存储资源分配方法、装置、存储节点及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112256204B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113126917A (zh) * | 2021-04-01 | 2021-07-16 | 山东英信计算机技术有限公司 | 一种分布式存储中请求处理方法、系统、设备以及介质 |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8290919B1 (en) * | 2010-08-27 | 2012-10-16 | Disney Enterprises, Inc. | System and method for distributing and accessing files in a distributed storage system |
US20160080495A1 (en) * | 2014-09-15 | 2016-03-17 | Foundation For Research And Technology - Hellas (Forth) | Tiered Heterogeneous Fast Layer Shared Storage Substrate Apparatuses, Methods, and Systems |
US20160224264A1 (en) * | 2013-04-16 | 2016-08-04 | International Business Machines Corporation | Essential metadata replication |
WO2017084348A1 (zh) * | 2015-11-20 | 2017-05-26 | 华为技术有限公司 | Ip硬盘的管理方法和装置 |
CN107104992A (zh) * | 2016-02-19 | 2017-08-29 | 杭州海康威视数字技术股份有限公司 | 一种视频云存储的存储资源分配方法和装置 |
CN107943421A (zh) * | 2017-11-30 | 2018-04-20 | 成都华为技术有限公司 | 一种基于分布式存储系统的分区划分方法及装置 |
CN108418871A (zh) * | 2018-02-09 | 2018-08-17 | 国家电网公司 | 一种云存储性能优化方法和系统 |
CN110069210A (zh) * | 2018-01-23 | 2019-07-30 | 杭州海康威视系统技术有限公司 | 一种存储系统、存储资源的分配方法及装置 |
CN110244901A (zh) * | 2018-03-07 | 2019-09-17 | 杭州海康威视系统技术有限公司 | 任务分配方法及装置、分布式存储系统 |
CN111552677A (zh) * | 2020-05-13 | 2020-08-18 | 重庆紫光华山智安科技有限公司 | 配额管理方法、装置、管理节点及存储介质 |
-
2020
- 2020-10-28 CN CN202011172337.2A patent/CN112256204B/zh active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8290919B1 (en) * | 2010-08-27 | 2012-10-16 | Disney Enterprises, Inc. | System and method for distributing and accessing files in a distributed storage system |
US20160224264A1 (en) * | 2013-04-16 | 2016-08-04 | International Business Machines Corporation | Essential metadata replication |
US20160080495A1 (en) * | 2014-09-15 | 2016-03-17 | Foundation For Research And Technology - Hellas (Forth) | Tiered Heterogeneous Fast Layer Shared Storage Substrate Apparatuses, Methods, and Systems |
WO2017084348A1 (zh) * | 2015-11-20 | 2017-05-26 | 华为技术有限公司 | Ip硬盘的管理方法和装置 |
CN107104992A (zh) * | 2016-02-19 | 2017-08-29 | 杭州海康威视数字技术股份有限公司 | 一种视频云存储的存储资源分配方法和装置 |
CN107943421A (zh) * | 2017-11-30 | 2018-04-20 | 成都华为技术有限公司 | 一种基于分布式存储系统的分区划分方法及装置 |
CN110069210A (zh) * | 2018-01-23 | 2019-07-30 | 杭州海康威视系统技术有限公司 | 一种存储系统、存储资源的分配方法及装置 |
CN108418871A (zh) * | 2018-02-09 | 2018-08-17 | 国家电网公司 | 一种云存储性能优化方法和系统 |
CN110244901A (zh) * | 2018-03-07 | 2019-09-17 | 杭州海康威视系统技术有限公司 | 任务分配方法及装置、分布式存储系统 |
CN111552677A (zh) * | 2020-05-13 | 2020-08-18 | 重庆紫光华山智安科技有限公司 | 配额管理方法、装置、管理节点及存储介质 |
Non-Patent Citations (2)
Title |
---|
苑乃珩: "面向用户的软件定义云存储资源分配策略研究", 《中国优秀博硕士学位论文全文数据库(硕士)信息科技辑》 * |
饶玮等: "基于分布式存储的多类型数据管理技术研究", 《电力信息与通信技术》 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113126917A (zh) * | 2021-04-01 | 2021-07-16 | 山东英信计算机技术有限公司 | 一种分布式存储中请求处理方法、系统、设备以及介质 |
Also Published As
Publication number | Publication date |
---|---|
CN112256204B (zh) | 2022-06-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11740826B2 (en) | Policy-based hierarchical data protection in distributed storage | |
US10949303B2 (en) | Durable block storage in data center access nodes with inline erasure coding | |
JP7312251B2 (ja) | 様々なデータ冗長性スキームを備えた、システムにおける利用可能なストレージ空間を改善すること | |
WO2019119311A1 (zh) | 一种数据存储的方法、装置和系统 | |
US11847098B2 (en) | Metadata control in a load-balanced distributed storage system | |
JP2022504790A (ja) | データブロックのイレイジャーコーディングコンテンツ主導分散 | |
US11442827B2 (en) | Policy-based hierarchical data protection in distributed storage | |
US20240053886A1 (en) | File operations in a distributed storage system | |
US11579992B2 (en) | Methods and systems for rapid failure recovery for a distributed storage system | |
US11449402B2 (en) | Handling of offline storage disk | |
US11693738B2 (en) | Storage system spanning multiple failure domains | |
CN111124264A (zh) | 用于重建数据的方法、设备和计算机程序产品 | |
JP6653370B2 (ja) | ストレージシステム | |
EP3495939B1 (en) | Method and device for storing data in distributed block storage system, and computer readable storage medium | |
CN107948229B (zh) | 分布式存储的方法、装置及系统 | |
CN112256204B (zh) | 存储资源分配方法、装置、存储节点及存储介质 | |
US11188258B2 (en) | Distributed storage system | |
CN107066206B (zh) | 一种分布式物理磁盘的存储控制方法及系统 | |
CN107168645B (zh) | 一种分布式系统的存储控制方法及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |