CN109992206A - 数据分布存储方法及相关装置 - Google Patents
数据分布存储方法及相关装置 Download PDFInfo
- Publication number
- CN109992206A CN109992206A CN201910239344.0A CN201910239344A CN109992206A CN 109992206 A CN109992206 A CN 109992206A CN 201910239344 A CN201910239344 A CN 201910239344A CN 109992206 A CN109992206 A CN 109992206A
- Authority
- CN
- China
- Prior art keywords
- osd
- dmg
- intermediate node
- weight
- failure domain
- 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
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/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]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明涉及分布式存储技术领域,提供一种数据分布存储方法及相关装置,所述方法包括:获取分布式存储系统的第一拓扑结构;根据归属于同一第一中间节点的OSD的权重,确定每个第一中间节点的权重;依据每个第一中间节点的权重及归属于同一第一中间节点的OSD的权重确定对应的每个OSD的分配比例;根据分配比例依次为每个OSD分配DMG,每个OSD上的DMG个数与每个OSD的权重匹配,且所有OSD上的DMG个数之和等于M。本发明依据分布式存储系统中与OSD容量成正比的OSD的权重,将分布式存储系统中DMG列表中的DMG均衡地分布在分布式存储系统中的每个OSD上,从而提高了分布式存储系统中数据分布的均衡度。
Description
技术领域
本发明涉及分布式存储技术领域,具体而言,涉及一种数据分布存储方法及相关装置。
背景技术
分布式存储系统一般采用商业化通用存储服务器,利用存储管理软件把服务器上的硬盘虚拟化成存储资源池进行统一管理,可以提供包括块存储服务、文件存储服务、对象存储服务等融合存储服务。分布式存储系统由于其可扩展性、高性价比、高性能、数据高可靠性、业务灵活性高等方面的优势,目前发展迅速,在各行业中都有广泛应用。
在分布式存储系统中,待存储文件首先被切分成固定长度的文件块,通过将文件块映射至不同主机的不同对象存储设备OSD(Object Storage Device),将文件块中的数据存储至对应OSD,最终实现将待存储文件中的数据存储至分布式存储系统中。
在分布式存储系统中,如何将待存储文件中的数据均衡地存储至不同主机的不同OSD上是本领域技术人员亟待解决的问题。
发明内容
本发明实施例的目的在于提供一种数据分布存储方法及相关装置,用于提高分布式存储系统中数据分布的均衡度。
为了实现上述目的,本发明实施例采用的技术方案如下:
第一方面,本发明实施例提供了一种数据分布存储方法,应用于分布式存储系统中的存储节点,存储节点包括多个对象存储设备OSD,分布式存储系统存在数据管理组DMG列表,DMG列表包含M个DMG,M个DMG划分为K个DMG集合,每个DMG集合包含N个DMG;任意两个DMG集合具有关联关系的DMG互为备份;K个DMG集合依次排列,且每个DMG集合中的N个DMG的排列顺序一致,所述方法包括:获取分布式存储系统的第一拓扑结构,其中,第一拓扑结构包括叶子层和第一中间层,每个OSD为一个叶子节点,至少一个叶子节点构成叶子层,第一中间层包括多个第一中间节点,每个第一中间节点均有至少一个叶子节点归属于对应的第一中间节点;根据归属于同一第一中间节点的OSD的权重,确定每个第一中间节点的权重,其中,OSD的权重与OSD的容量大小成正比,其中,OSD的权重与OSD的容量大小成正比;依据每个第一中间节点的权重及归属于同一第一中间节点的OSD的权重确定对应的每个OSD的分配比例;根据分配比例依次为每个OSD分配DMG,每个OSD上的DMG个数与每个OSD的权重匹配,且所有OSD上的DMG个数之和等于M。
第二方面,本发明实施例还提供了一种数据分布存储装置,应用于分布式存储系统中的存储节点,存储节点包括多个对象存储设备OSD,分布式存储系统存在数据管理组DMG列表,DMG列表包含M个DMG,M个DMG划分为K个DMG集合,每个DMG集合包含N个DMG;任意两个DMG集合具有关联关系的DMG互为备份;K个DMG集合依次排列,且每个DMG集合中的N个DMG的排列顺序一致,所述装置包括获取模块、第一确定模块、第二确定模块和分配模块。其中,获取模块用于获取分布式存储系统的第一拓扑结构,其中,第一拓扑结构包括叶子层和第一中间层,每个OSD为一个叶子节点,至少一个叶子节点构成叶子层,第一中间层包括多个第一中间节点,每个第一中间节点均有至少一个叶子节点归属于对应的第一中间节点;第一确定模块用于根据归属于同一第一中间节点的OSD的权重,确定每个第一中间节点的权重,其中,OSD的权重与OSD的容量大小成正比;第二确定模块用于依据每个第一中间节点的权重及归属于同一第一中间节点的OSD的权重确定对应的每个OSD的分配比例;分配模块用于根据分配比例依次为每个OSD分配DMG,每个OSD上的DMG个数与每个OSD的权重匹配,且所有OSD上的DMG个数之和等于M。
第三方面,本发明实施例还提供了一种存储节点,所述存储节点包括:一个或多个处理器;存储器,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现上述的数据分布存储方法。
第四方面,本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述的数据分布存储方法。
相对现有技术,本发明实施例提供的一种数据分布存储方法及相关装置,首先,获取分布式存储系统的第一拓扑结构,其中,第一拓扑结构包括叶子层和第一中间层,每个OSD为一个叶子节点,至少一个叶子节点构成叶子层,第一中间层包括多个第一中间节点,每个第一中间节点均有至少一个叶子节点归属于对应的第一中间节点;然后,根据归属于同一第一中间节点的OSD的权重,确定每个第一中间节点的权重,其中,OSD的权重与OSD的容量大小成正比;接下来,依据每个第一中间节点的权重及归属于同一第一中间节点的OSD的权重确定对应的每个OSD的分配比例,最后,根据分配比例依次为每个OSD分配DMG,每个OSD上的DMG个数与每个OSD的权重匹配,且所有OSD上的DMG个数之和等于M。与现有技术相比,本发明实施例依据分布式存储系统中与OSD容量成正比的OSD的权重,将分布式存储系统中DMG列表中的DMG均衡地分布在分布式存储系统中的每个OSD上,从而提高了分布式存储系统中数据分布的均衡度。
为使本发明的上述目的、特征和优点能更明显易懂,下文特举实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1示出了本发明实施例提供的分布式存储系统的示意图。
图2示出了本发明实施例提供的存储节点的方框示意图。
图3示出了本发明实施例提供的一种拓扑结构的示意图。
图4示出了本发明实施例提供的另一种拓扑结构的示意图。
图5示出了本发明实施例提供的一种数据分布存储方法流程图。
图6示出了本发明实施例提供的另一种数据分布存储方法流程图。
图7示出了本发明实施例提供的另一种数据分布存储方法流程图。
图8示出了本发明实施例提供的一种OSD不可用的场景下的数据分布存储方法流程图。
图9示出了本发明实施例提供的另一种OSD不可用的场景下的数据分布存储方法流程图。
图10示出了本发明实施例提供的第二拓扑结构中故障域的第一种示例图。
图11示出了本发明实施例提供的第二拓扑结构中故障域的第二种示例图。
图12示出了本发明实施例提供的一种新加入OSD的场景下的数据分布存储方法流程图。
图13示出了本发明实施例提供的另一种新加入OSD的场景下的数据分布存储方法流程图。
图14示出了本发明实施例提供的新加入的OSD的第一种加入方式的示例图。
图15示出了本发明实施例提供的新加入的OSD的第二种加入方式的示例图。
图16示出了本发明实施例提供的数据分布存储装置的方框示意图。
图标:100-存储节点;101-存储器;102-通信接口;103-处理器;104-总线;200-数据分布存储装置;201-获取模块;202-第一确定模块;203-第二确定模块;204-分配模块;205-第一处理模块;206-第二处理模块。
具体实施方式
下面将结合本发明实施例中附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。同时,在本发明的描述中,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
目前,在分布式存储系统中,待存储文件首先被切分成固定长度的文件块,然后根据待存储文件和每个文件块在待存储文件中的位置偏移等信息生成对应文件块的一个唯一的标识,该标识称为对象ID。
在分布式存储系统中,为了实现数据存储的灵活性,数据以数据管理组DMG(DataManagement Group,DMG)为单位进行管理的,对象ID首先映射到DMG,再从DMG映射到一组对象存储设备OSD(Object-based Storage Device,OSD),其中,每个OSD对应一个用于存储数据的逻辑硬盘,每个逻辑硬盘对应一个物理硬盘或者由多个物理硬盘虚拟而成的一个虚拟硬盘,最终,对象ID中的数据存储至对应的一组物理硬盘上,同时,为了保证数据在物理硬盘上的均衡分布,从对象ID映射到DMG,一般采用HASH算法,从DMG映射到OSD,一般采用伪随机算法。例如,在Ceph这种分布式存储系统中,DMG也称为归置组PG(Placement Group,PG),对象ID首先通过HASH算法映射到PG,PG再通过CRUSH算法映射到OSD,这种伪随机算法虽然从一定程度上保证数据最终在物理硬盘上近似均匀地分布,但是整体来看,数据分布的均衡度并不高。
针对这一问题,发明人提出了一种数据分布存储方法及相关装置,依据分布式存储系统中与OSD容量成正比的OSD的权重,将分布式存储系统中DMG列表中的DMG均衡地分布在分布式存储系统中的每个OSD上,从而提高了分布式存储系统中数据分布的均衡度,下面将对此进行详细描述。
请参照图1,图1示出了本发明实施例提供的分布式存储系统的示意图,分布式存储系统包括至少一个监控节点及多个存储节点,每个存储节点包括多个OSD,分布式存储系统预先配置有DMG的个数,存储节点首先从监控节点获取分布式存储系统的拓扑结构,然后根据存储节点中每个OSD的容量确定每个OSD的权重,依据拓扑结构及每个OSD的权重确定存储每个DMG及对应的冗余副本的OSD列表,由此,得到每个DMG与存储该DMG及对应的冗余副本的OSD列表之间的映射关系,当待存储数据发送至存储节点,存储节点首先确定待存储数据对应的DMG,然后根据之前确定的DMG及对应的冗余副本与OSD列表之间的映射关系,确定存储待存储数据对应的DMG及对应的冗余副本的OSD,并将待存储数据存储至OSD对应的物理硬盘。
请参照图2,图2示出了本发明实施例提供的存储节点100的方框示意图。在本发明实施例中,存储节点100可以是图1中任意一个存储节点,存储节点100可以是,但不限于,主机、实体服务器等能提供与所述服务器或者虚拟机有相同功能的实体的服务端。存储节点100的操作系统可以是,但不限于,Windows系统、Linux系统等。所述存储节点100包括存储器101、通信接口102、处理器103和总线104,所述存储器101、通信接口102和处理器103通过总线104连接,处理器103用于执行存储器101中存储的可执行模块,例如计算机程序。
其中,存储器101可能包含高速随机存取存储器(RAM:Random Access Memory),也可能还包括非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。通过至少一个通信接口102(可以是有线或者无线)实现该存储节点100与至少一个其他存储节点100、以及外部存储设备之间的通信连接。
总线104可以是ISA总线、PCI总线或EISA总线等。图2中仅用一个双向箭头表示,但并不表示仅有一根总线或一种类型的总线。
其中,存储器101用于存储程序,所述处理器103在接收到执行指令后,执行所述程序以实现本发明上述实施例揭示的数据分布存储方法。
由于本发明实施例提供的数据分布存储方法是基于分布式存储系统的拓扑结构实现的,为了便于清楚地阐述本发明实施例提供的数据分布存储方法,首先,对分布式存储系统的拓扑结构进行详细说明。
分布式存储系统的拓扑结构包括一个根节点、至少一个中间层及一个叶子层,每个中间层包括多个中间节点,每个OSD为一个叶子节点,至少一个叶子节点构成叶子层,在本发明实施例中,为了便于表述,在不做特殊说明的情况下,一个叶子节点就等同于一个OSD,一个中间节点包括多个OSD,意思是所述多个OSD归属于该中间节点,与根节点直接相连的中间层为最高级中间层,每个最高级中间层中的中间节点所包括的OSD组成一个故障域,同一个故障域不存在两个具有关联关系的DMG,分布式存储系统的拓扑结构可以用于表征分布式存储系统中OSD的物理位置的层次关系。
例如,图3示出了本发明实施例提供的一种拓扑结构的示意图,图3中的拓扑结构包括一个根节点,一个第一中间层,一个叶子层,该根节点与每个第一中间层的每个第一中间节点均直接相连,每个第一中间层与叶子层中的至少一个OSD直接相连,图3中,第一中间层代表主机层,每个第一中间层的第一中间节点代表一个主机,与每个主机直接相连的叶子层的OSD代表同属于该主机的OSD,图3中第一中间层包括3个第一中间节点,分别代表1#主机、2#主机和3#主机,与每个第一中间层直接相连的OSD代表属于对应主机的OSD,即1#主机包括1#OSD~10#OSD、2#主机包括11#OSD~20#OSD、3#主机包括21#OSD~30#OSD,由于图3中只存在一个第一中间层,则该第一中间层为最高级中间层,1#主机中的1#OSD~10#OSD组成1#故障域,2#主机中的11#OSD~20#OSD组成2#故障域,3#主机中的21#OSD~30#OSD组成3#故障域。
图4示出了本发明实施例提供的另一种拓扑结构的示意图,图4中的拓扑结构包括一个根节点,两个中间层,一个叶子层,两个中间层按照从OSD至根节点的方向依次为第一中间层和第二中间层,每个第一中间层与叶子层中的至少一个OSD直接相连,每个第二中间层与第一中间层中的至少一个第一中间节点直接相连,图4中,第一中间层代表主机层,每个第一中间层的第一中间节点代表一个主机,第二中间层代表机架层,每个第二中间层的第二中间节点代表一个机架,与每个主机直接相连的叶子层的OSD代表同属于该主机的OSD,与每个第二中间层直接相连的第一中间层的第一中间节点代表同属于该机架的主机,图4中的第一中间层包括1#主机、2#主机、3#主机、4#主机、5#主机、6#主机,第二中间层包括1#机架、2#机架和3#机架,叶子层包括1#OSD~60#OSD,其中,1#主机包括1#OSD~10#OSD、2#主机包括11#OSD~20#OSD、3#主机包括21#OSD~30#OSD、4#主机包括31#OSD~40#OSD、5#主机包括41#OSD~50#OSD、6#主机包括51#OSD~60#OSD,1#主机和2#主机同属于1#机架、3#主机和4#主机同属于2#机架、5#主机和6#主机同属于3#机架,图4中,与根节点直接相连的中间层为第二中间层,因此,第二中间层为最高级中间层。1#主机中的1#OSD~10#OSD和2#主机中的11#OSD~20#OSD组成1#故障域,3#主机中的21#OSD~30#OSD和4#主机中的31#OSD~40#OSD组成2#故障域,5#主机中的41#OSD~50#OSD和6#主机中的51#OSD~60#OSD组成3#故障域。
需要说明的是,中间层可以为多个,例如,从OSD至根节点的方向,中间层还可以包括第一中间层、第二中间层及第三中间层,分别对应主机层、机架层、房间层,中间层还可以包括第一中间层、第二中间层、第三中间层及第四中间层,分别对应主机层、机架层、房间层、数据中心层,在本发明实施例中,不对中间层的个数予以限定,但是无论中间层有多少个,本领域技术人员均可以通过本发明实施例揭示的方法、在不付出创造性的劳动的前提下推导出对应场景下的解决方法。
还需要说明的是,每个第一中间节点包括的OSD可以为多个,且每个第一中间节点包括的OSD的个数可以不同,同样地,每个第二中间节点包括的第一中间节点可以为多个,且每个第二中间节点包括的第一中间节点可以不同,以此类推,本发明实施例对此不予限定。
请参照图5,图5示出了本发明实施例提供的数据分布存储方法流程图。该方法包括以下步骤:
步骤101,获取分布式存储系统的第一拓扑结构,其中,第一拓扑结构包括叶子层和第一中间层,每个OSD为一个叶子节点,至少一个叶子节点构成叶子层,第一中间层包括多个第一中间节点,每个第一中间节点均有至少一个叶子节点归属于对应的第一中间节点。
在本发明实施例中,拓扑结构可以用于表征分布式存储系统中OSD的物理位置的层次,例如,拓扑结构中的叶子层包括分布式存储系统中的OSD、拓扑结构中的第一中间层的第一中间节点可以表示主机,属于同一个主机的OSD可以通过将OSD与对应的第一中间节点直接相连进行表示,拓扑结构中的第二中间层的第二中间节点可以表示机架,属于同一个机架的主机可以通过将第一中间节点与对应的第二中间节点直接相连进行表示,具体拓扑结构的示意图见图3和图4,此处不再赘述。拓扑结构由分布式存储系统中的监控节点进行维护,当分布式存储系统中的OSD状态发生变化时,例如,有可用变为不可用、或者由不可用变为可用、或者有新的OSD加入时,监控节点负责依据OSD状态的变化对拓扑结构进行相应的更新,存储节点100从监控节点获取最新的拓扑结构,并依据最新的拓扑结构更新相关DMG与OSD列表之间的映射关系。
第一拓扑结构为分布式存储系统初始建立时的拓扑结构,可以表征OSD的物理位置的层次,为了便于与分布式存储系统中OSD发生变化后的拓扑结构进行区分,将任意一个或者多个OSD变为不可用后,对第一拓扑结构进行相应更新的拓扑结构称为第二拓扑结构,将新加入的OSD加入分布式存储系统后,对第一拓扑结构进行相应更新的拓扑结构称为第三拓扑结构。
步骤102,根据归属于同一第一中间节点的OSD的权重,确定每个第一中间节点的权重,其中,OSD的权重与OSD的容量大小成正比。
在本发明实施例中,OSD的权重与OSD的容量大小成正比,例如,容量为1TB的OSD的权重为1,容量为1.2TB的OSD的权重为1.2,即容量越大的OSD,其权重的值也越大,相应地,其分配比例也越高,意味着该OSD上存储的数据量也越大,最终使得数据均衡地分布在分布式存储系统中的OSD上。由此,OSD的权重与OSD的容量大小成正比,在分布式存储系统初始建立时,数据均衡地分布在分布式存储系统中的OSD中。
在本发明实施例中,第一中间节点的权重为该第一中间节点的OSD的权重之和,例如,第一中间节点包括3个OSD,分别为:1#OSD、2#OSD和3#OSD,这3个OSD的权重分别为1、1.2和4,则第一中间节点的权重为:1+1.2+4=6.2。
步骤103,依据每个第一中间节点的权重及归属于同一第一中间节点的OSD的权重确定对应的每个OSD的分配比例。
在本发明实施例中,每个OSD的分配比例为该OSD的权重与该OSD所属的第一中间节点的权重的比值,例如,第一中间节点的权重为10,第一中间节点包括3个OSD,分别为:1#OSD、2#OSD和3#OSD,这3个OSD的权重分别为2、5和3,则1#OSD的分配比例为:2/10=20%,同理,2#OSD的分配比例为:5/10=50%,3#OSD的分配比例:3/10=30%。
步骤104,根据分配比例依次为每个OSD分配DMG,每个OSD上的DMG个数与每个OSD的权重匹配,且所有OSD上的DMG个数之和等于M。
在本发明实施例中,分布式存储系统在配置时预先设定该分布式存储系统中DMG的个数及DMG的冗余策略,冗余策略是为了保证DMG中数据持久性采用的对数据进行重复存储的方式,当其中一份DMG中的数据遭到破坏时,可以通过存储的该DMG的冗余部分的数据进行恢复,从而防止数据丢失,保证数据的持久性。冗余策略可以是副本形式,即每个DMG会在不同的OSD中存储一份以上,当其中一个OSD发生故障导致该OSD上的DMG不可用时,可以通过其他OSD上保存该DMG的副本恢复该DMG中的数据。冗余策略还可以是纠删码的形式,即将一块数据分割成若干原始数据片段,按照预设算法生成冗余数据片段,将原始数据片段和冗余数据片段分别存储在不同OSD中,当原始数据片段或者冗余数据片段中任意一个所属的OSD发生故障导致该OSD上的数据片段不可用时,可以通过其余OSD上的数据片段将该故障OSD上的数据片段恢复。
预先设定该分布式存储系统中DMG的个数及DMG的冗余策略后,该分布式存储系统中的DMG的总个数也随之确定,例如,分布式存储系统中DMG的个数为10000个,冗余策略采取2副本策略,则分布式存储系统中DMG的总个数为10000*2=20000,即需要存储在分布式存储系统的OSD中的DMG的个数为20000。
在本发明实施例中,为了使DMG均衡地分布在分布式存储系统的OSD上,以副本策略为例,将DMG按预设顺序组织成DMG列表,DMG列表包含M个DMG,M个DMG划分为K个DMG集合,每个DMG集合包含N个DMG,任意两个DMG集合具有关联关系的DMG互为备份,其中,关联关系可以是两个DMG的标识相同,也可以是两个DMG的标识具有特定的函数关系,本发明实施例不对具体关联关系予以限定;任意两个DMG集合中的N个DMG的排列顺序一致,例如,以关联关系为两个DMG的标识相同为例,即两个具有相同标识的DMG互为备份,DMG列表可以是:(1,2,3,…,N,1,2,3,…,N,1,2,3,…,N),其中,M=3*N,M为分布式存储系统需要存储的DMG的总个数,由于每个DMG有3个副本,则该DMG列表包括3个集合,每个集合中包括N个DMG,其DMG的标识分别为1~N,N表示分布式存储系统预先设置的DMG的个数,3个DMG集合中标识相同的DMG互为备份,且3个DMG集合中的N个DMG的排列顺序一致。
在本发明实施例中,OSD为多个,根据分配比例,依次为每个OSD分配DMG,每个OSD上的DMG个数与对应OSD的权重匹配,由于OSD的权重与OSD的容量成正比,故容量越大的OSD,其上分配的DMG的个数也越多。
本发明实施例提供的数据分布存储方法,依据分布式存储系统中与OSD容量成正比的OSD的权重,将分布式存储系统的DMG列表中的DMG均衡地分布在分布式存储系统中的所有OSD上。与现有技术相比,其核心改进在于,将分布式存储系统中的总的DMG预先按序排列成DMG列表,根据OSD的权重确定OSD的分配比例,根据OSD的分配比例从DMG列表中确定每个OSD中分配的DMG,最终保证容量越大的OSD中分配的DMG的个数也较多,且同一个DMG的不同副本分布在不同故障域的OSD中,既提高了分布式存储系统中数据分布的均衡度,又保证了DMG的可靠性。
在图5的基础上,图6示出了本发明实施例提供的另一种数据分布存储方法流程图,图6是基于第一拓扑结构中包括一个第一中间层的场景,参见图6,步骤104的一种可能实现方式为:
步骤104-1,依据多个第一中间节点的权重确定每个第一中间节点的分配比例。
在本发明实施例中,每个第一中间节点的分配比例为该第一中间节点占多个第一中间节点的权重之和,例如,第一中间节点为3个,分别为:1#中间节点、2#中间节点和3#中间节点,这3个中间节点的权重分别为:30、50和20,则1#中间节点的分配比例为:30/(30+50+20)=30%,同理,2#中间节点、3#中间节点的分配比例分别为:50%、20%。
步骤104-2,根据每个第一中间节点的分配比例及M个DMG确定每个第一中间节点待分配的DMG数量X。
步骤104-3,按照每个第一中间节点待分配的DMG数量X依次从DMG列表中确定X个DMG。
步骤104-4,根据每个第一中间节点待分配的DMG数量X及属于第一中间节点的OSD的分配比例确定对应的每个OSD的待分配的DMG数量Y。
步骤104-5,按照每个OSD待分配的DMG数量Y依次将DMG列表中的X个DMG中的Y个DMG分配至对应的每个OSD。
在本发明实施例中,DMG的分配从根节点至OSD的方向逐层进行,首先,确定第一中间节点的待分配DMG,然后,再从第一中间节点的待分配DMG中确定第一中间节点的每个OSD的待分配DMG,例如,DMG列表为:(1,2,3,…,10000,1,2,3,…,10000,1,2,3,…,10000),则M为30000,1#第一中间节点的分配比例为30%,则1#第一中间节点待分配的DMG数量X=30000*30%=9000个,DMG列表中前9000个DMG为待分配至第一中间节点的DMG,1#第一中间节点有4个OSD,为1#OSD~4#OSD,1#第一中间节点的权重为10,4个OSD的权重分别为:5、2、2、1,则4个OSD的分配比例分别为:50%、20%、20%、10%。则,1#OSD的待分配的DMG数量Y为:9000*50%=4500个,1~9000的DMG中1~4500的DMG为待分配至1#OSD的DMG,2#OSD的待分配的DMG数量Y为:9000*20%=1800个,1~9000的DMG中4501~6300的DMG为待分配至2#OSD的DMG,3#OSD的待分配的DMG数量Y为:9000*20%=1800个,1~9000的DMG中6301~8100的DMG为待分配至3#OSD的DMG,4#OSD的待分配的DMG数量Y为:9000*10%=900个,1~9000的DMG中8101~9000的DMG为待分配至4#OSD的DMG。其余每个第一中间节点的分配过程也是如此,此处不再赘述。
本发明实施例提供的数据分布存储方法,通过先确定每个第一中间节点的待分配的DMG,然后从第一中间节点的待分配的DMG中确定该第一中间节点的OSD的待分配的DMG,由此,保证每个相同标识的DMG被分配至不同的故障域,从而在保证DMG均衡分布的前提下,同时还保证了DMG的故障域隔离的要求,增强了DMG的可靠性。
在图5的基础上,图7示出了本发明实施例提供的另一种数据分布存储方法流程图,图7是基于第一拓扑结构中包括一个第一中间层和一个第二中间层的场景,参见图7,步骤104的另一种可能的实现方式为:
步骤104-6,根据属于同一第二中间节点的第一中间节点的权重,确定每个第二中间节点的权重。
在本发明实施例中,每个第二中间节点的权重为属于该第二中间节点的第一中间节点的权重之和。
步骤104-7,依据多个第二中间节点的权重确定每个第二中间节点的分配比例。
步骤104-8,根据每个第二中间节点的分配比例及M个DMG确定每个第二中间节点待分配的DMG数量H。
步骤104-9,按照每个第二中间节点待分配的DMG数量H依次从DMG列表中确定H个DMG。
步骤104-10,依据每一个第二中间节点的权重及属于同一第二中间节点的第一中间节点的权重确定每个第一中间节点的分配比例。
步骤104-11,根据每个第一中间节点的分配比例及H个DMG确定每个第一中间节点待分配的DMG数量I。
步骤104-12,根据每个第一中间节点待分配的DMG数量I及属于第一中间节点的OSD的分配比例确定对应的每个OSD的待分配的DMG数量J。
步骤104-13,按照每个OSD待分配的DMG数量J依次将DMG列表中的I个DMG中的J个DMG分配至对应的每个OSD。
本发明实施例提供的数据分布存储方法,通过先确定每个第二中间节点的待分配的DMG,然后从第二中间节点的待分配的DMG中确定该第二中间节点的第一中间节点的待分配的DMG,最后从第一中间节点的待分配的DMG中确定该第一中间节点的OSD的待分配的DMG,由此,保证该数据分布存储方法可以适用于同时存在第一中间层和第二中间层的场景。
需要说明的是,对于同时存在第一中间层、第二中间层、第三中间层等多个中间层的场景,本领域技术人员完全可以根据本申请文件公开的数据分布存储方法,在不做出创造性劳动的前提下推导出适用于多个中间层的场景的数据分布存储方法,对此,本申请文件不进行一一表述。
在图5的基础上,在步骤104之后,可以得到每个DMG与OSD之间的映射关系,当待存储数据发送至存储节点100,存储节点100首先确定待存储数据对应的DMG,然后根据该DMG与OSD之间的映射关系,确定对应的OSD,并将待存储数据存储至对应的OSD。
但是,当任意OSD变为不可用时,为了保证分布式存储系统可以正常工作,待存储数据可以正确地存储到可用的OSD,需要将不可用的OSD上的DMG均衡地迁移至其余可用的OSD上,因此,基于图5,本发明实施例提供了一种OSD不可用的场景下的数据分布存储方法,参见图8,图8示出了本发明实施例提供的一种OSD不可用的场景下的数据分布存储方法流程图,包括以下步骤:
步骤105,当任一OSD变为不可用时,获取更新后的第二拓扑结构,其中,第二拓扑结构为将第一拓扑结构中不可用的OSD移除后得到。
在本发明实施例中,当任一OSD变为不可用时,第二拓扑结构中该不可用的OSD的权重变为0,该不可用的OSD所属的第一中间节点的权重也随之变小,其余第一中间节点的权重随之变大,因此,该不可用的OSD上的DMG会被均衡地分布至其他可用的OSD。
步骤106,获取不可用的OSD的DMG。
步骤107,依据第二拓扑结构及每个可用的OSD的权重对不可用的OSD的DMG进行重新分配。
本发明实施例提供的数据分布存储方法,在任一OSD不可用的场景下,依据第二拓扑结构每个可用的OSD的权重重新计算每个可用的OSD的分配比例,将不可用的OSD的DMG均衡地分布至可用的OSD,实现了任一OSD不可用的场景下DMG的均衡分布。
需要说明的是,当多个OSD不可用的处理方法与任一OSD不可用的处理方法类似,此处不再赘述,OSD不可用可以是OSD本身出现故障引起的,也可以是OSD所属的主机出现故障引起的,或者OSD所属的主机网络链接不可用引起的等,导致OSD不可用的场景在本发明实施例中不予限定。
在图8的基础上,本发明实施例提供了另一种OSD不可用的场景下的数据分布存储方法,请参见图9,图9示出了本发明实施例提供的另一种OSD不可用的场景下的数据分布存储方法流程图,步骤107还可以包括以下子步骤:
步骤107-1,依据第二拓扑结构及每个可用的OSD的权重确定第一相关故障域的分配比例及第一非相关故障域的分配比例。
在本发明实施例中,第一相关故障域由不可用的OSD属于的中间节点所包含的所有OSD组成,除第一相关故障域之外的其余故障域为第一非相关故障域,即第一非相关故障域中的OSD均为可用的OSD。
例如,图10示出了本发明实施例提供的第二拓扑结构中故障域的第一种示例图,图10中,2#主机的20#OSD变为不可用,因此,2#主机包括的OSD组成了第一相关故障域,1#主机包括的OSD组成了1#第一非相关故障域,3#主机包括的OSD组成了2#第一非相关故障域。
图11示出了本发明实施例提供的第二拓扑结构中故障域的第二种示例图,图11中,3#主机的30#OSD变为不可用,因此,1#机架包括的OSD组成了第一相关故障域,2#机架包括的OSD组成了1#第一非相关故障域,3#机架包括的OSD组成了2#第一非相关故障域。
在本发明实施例中,第一相关故障域的分配比例为:(第一相关故障域的权重/(第一相关故障域的权重+所有第一非相关故障域的权重之和)),其中,第一相关故障域的权重为第一相关故障域包括的可用的OSD的权重之和,第一非相关故障域为第一非相关故障域包括的可用的OSD的权重之和,例如,第一相关故障域的权重为5,1#第一非相关故障域的权重为2,2#第一非相关故障域的权重为3,则第一相关故障域的分配比例为:5/(5+2+3)=50%,1#第一非相关故障域的分配比例为:2/(5+2+3)=20%,2#第一非相关故障域的分配比例为:3/(5+2+3)=30%。
步骤107-2,依据第一非相关故障域的分配比例及第一非相关故障域中的OSD的权重确定第一非相关故障域中对应的OSD的待移入的DMG数量A。
在本发明实施例中,首先,获取不可用的OSD在不可用前第一非相关故障域的第一DMG数量,然后,依据第一非相关故障域的分配比例计算不可用的OSD在不可用后第一非相关故障域的第二DMG数量,第一非相关故障域待移入的DMG数量=第二DMG数量-第一DMG数量,依据第一非相关故障域的OSD的权重计算每个第一非相关故障域的OSD的待移入的DMG数量A。例如,不可用的OSD在不可用前第一非相关故障域的第一DMG数量为5000,第一非相关故障域的分配比例为50%,M=20000,即分布式存储系统中共有20000个DMG,则不可用的OSD在不可用后第一非相关故障域的第二DMG数量为:20000*50%=10000,第一非相关故障域待移入的DMG数量=10000-5000=5000,第一非相关故障域存在3个OSD,分别为:1#OSD、2#OSD和3#OSD,对应的权重分别为:20%、20%、60%,则1#OSD的待移入的DMG数量A=5000*20%=1000,同理,2#OSD的待移入的DMG数量A=5000*20%=1000,3#OSD的待移入的DMG数量A=5000*60%=3000。
需要说明的是,当第二拓扑结构中存在第一中间层和第二中间层,甚至更多的中间层时,计算方式类似,此处不再赘述。
步骤107-3,当第一非相关故障域中的OSD不存在与不可用的OSD的DMG具有关联关系的DMG时,依次将不可用的OSD的DMG中A个DMG移入至第一非相关故障域中的对应的OSD。
在本发明实施例中,两个具有关联关系的DMG互为备份关系,为了满足故障域隔离的原则,同一个第一非相关故障域中不能存在两个具有关联关系的DMG。
步骤107-4,依据第一相关故障域的分配比例及第一相关故障域中的可用的OSD的权重确定第一相关故障域中的对应的可用的OSD的待移入的DMG数量B。
在本发明实施例中,第一相关故障域中的对应的可用OSD的待移入的DMG数量B与第一非相关故障域中的对应的OSD的待移入的DMG数量A类似,此处不再赘述。
步骤107-5,将不可用的OSD的DMG中B个DMG移入至第一相关故障域中的对应的OSD,其中,DMG数量A与DMG数量B之和为不可用的OSD的DMG数量。
在本发明实施例中,由于第一相关故障域中本来就不存在两个具有关联关系的DMG,因此,可以将不可用的OSD的DMG中的任意DMG移入至第一相关故障域中的可用的OSD。
本发明实施例提供的数据分布存储方法,将不可用的OSD的DMG迁移至可用的OSD时,根据移入的OSD所属第一相关故障域和第一非相关故障域区别对待,避免了DMG在多个第一非相关故障域的OSD之间做无效迁移,使得分布式存储系统在OSD不可用的情况下快速将不可用的OSD的DMG恢复,最终有效提升分布式存储系统的可靠性和系统的可用性。
在图5的基础上,在得到每个DMG与OSD之间的映射关系之后,当有新加入的OSD加入分布式存储系统时,需要将原有的OSD上的部分DMG均衡地迁移至新加入的OSD上,最终使得分布式存储系统中所有DMG均衡地分布在该分布式存储系统的原有的OSD和新加入的OSD中,因此,基于图5,本发明实施例还提供了一种加入新加入的OSD的场景下的数据分布存储方法,参见图12,图12示出了本发明实施例提供的一种新加入的OSD的场景下的数据分布存储方法流程图,该数据分布存储方法包括以下步骤:
步骤108,当新加入的OSD加入第一拓扑结构时,获取更新后的第三拓扑结构,其中,第三拓扑结构为将第一拓扑结构中加入新加入的OSD后得到。
在本发明实施例中,当新加入的OSD加入第一拓扑结构后得到第三拓扑结构,该新加入的OSD所属的第一中间节点的权重随之变大,其余第一中间节点的权重随之变小,因此,权重变小的第一中间节点中的原有的OSD的部分DMG会移入至权重变大的第一中间节点的新加入的OSD中,最终,达到分布式存储系统中总的DMG均衡地分布至分布式存储系统的原有的OSD和新加入的OSD。
步骤109,依据第三拓扑结构、新加入的OSD的权重及原有的OSD的权重确定待迁移的DMG。
在本发明实施例中,由于新加入的OSD的加入,使得原有的OSD的分配比例变小,因此,原有的OSD上分配的DMG比新加入的OSD加入之前有所减少,而减少的数量就迁移至新加入的OSD。
步骤110,依据待迁移的DMG从原有的OSD迁移至新加入的OSD。
需要说明的是,加入新加入的OSD可以是直接加入,也可以是通过加入新的主机,最终使得新的主机上的OSD加入,或者加入新的机架,使得新的机架上的新的主机加入,最终使得新的主机上的OSD加入,本发明实施例不对新加入的OSD的加入方式予以限定。
本发明实施例提供的数据分布存储方法,在新加入的OSD加入的场景下,依据第三拓扑结构中原有的OSD的权重、新加入的OSD的权重重新计算原有的OSD和新加入的OSD的分配比例,将原有的OSD的部分DMG均衡地分布至新加入的OSD,实现了新加入的OSD加入的场景下DMG的均衡分布。
在图12的基础上,本发明实施例提供了另一种加入新加入的OSD的场景下的数据分布存储方法,请参看图13,图13示出了本发明实施例提供的另一种新加入的OSD的场景下的数据分布存储方法流程图,步骤109还可以包括以下子步骤:
步骤109-1,依据第三拓扑结构、每个原有的OSD的权重及新加入的OSD的权重确定每个原有的OSD的待移出的DMG数量C。
在本发明实施例中,作为一种具体实施方式,确定每个原有的OSD的待移出的DMG数量C的方法可以是:首先,依据第三拓扑结构、每个原有的OSD的权重及新加入的OSD的权重计算每个原有的OSD的分配比例,具体计算方式与步骤102-步骤103类似,此处不再赘述;然后,依据每个原有OSD在新加入的OSD加入之前后的分配比例的变化计算对应原有的OSD的待移出的DMG数量C,例如,原有的OSD有2个,分别为1#OSD和2#OSD,1#OSD在新加入的OSD加入前后的分配比例分别为:20%、10%,1#OSD在新加入的OSD加入之前的DMG数量为1000,则1#OSD在新加入的OSD加入之后的DMG的数量应该为:1000*((10%)/(20%))=500,故1#OSD的待移出的DMG数量C=1000-500=500,即1#OSD的500个DMG应该移入至新加入的OSD,2#OSD在新加入的OSD加入前后的分配比例分别为:80%、60%,则2#OSD在新加入的OSD加入之前的DMG的数量为5000,则2#OSD在新加入的OSD加入之后的DMG的数量应该为:
5000*((60%)/(80%))=3750,故2#OSD的待移出的DMG数量C=5000-3750=1250。
步骤109-2,依据第二非相关故障域中的OSD的待移出的DMG数量C将对应的第二非相关故障域中的对应的OSD的DMG中满足预设迁移条件的DMG确定为第一待迁移的DMG。
在本发明实施例中,第二相关故障域由新加入的OSD属于的中间节点所包含的新加入的OSD或新加入的OSD和原有的OSD组成,第二非相关故障域为除第二相关故障域之外的其余故障域,即第二非相关故障域中的OSD均为原有的OSD。
新加入的OSD的加入方式至少包括两种情况:图14示出了本发明实施例提供的新加入的OSD的第一种加入方式的示例图,图14中,新加入的OSD为40#OSD,40#OSD加入3#主机,3#主机包括的原有的OSD(即21#OSD~30#OSD)和新加入的OSD(即40#OSD)组成了第二相关故障域,1#主机包括的原有的OSD(即1#OSD~10#OSD)组成1#第二非相关故障域,2#主机包括的原有的OSD(即11#OSD~20#OSD)组成2#第二非相关故障域。图15示出了本发明实施例提供的新加入的OSD的第二种加入方式的示例图,图15中,4#主机为新加入主机,4#主机的40#OSD为新加入的OSD,4#主机包括的新加入的OSD组成了第二相关故障域。
第二相关故障域的分配比例及第二非相关故障域的分配比例与第一相关故障域的分配比例及第一非相关故障域的分配比例计算方法类似,此处不再赘述。
需要说明的是,对于同时存在第一中间层和第二中间层或者更多中间层的场景,第二相关故障域和第二非相关故障域的确定方式与此类似,此处不再赘述。
还需要说明的是,图14和图15只给出了新加入的OSD为一个的场景下的加入方式及对应的第二相关故障域和第二非相关故障域的确定方法,对于新加入的OSD为多个的场景下的加入方式及对应的第二相关故障域和第二非相关故障域的确定方法与此类似,本申请文件中不对新加入的OSD的个数予以限定。
在本发明实施例中,第一待迁移的DMG来自于第二非相关故障域中的OSD的DMG,为了满足故障域隔离的需求,只有满足预设迁移条件的第二非相关故障域中的OSD的DMG才能迁移至新加入的OSD。
具体地,将第二非相关故障域中的OSD的DMG中满足预设迁移条件的DMG确定为第一待迁移的DMG的方法可以是:
首先,依次遍历第二非相关故障域中的OSD的DMG;
其次,当第二非相关故障域中的OSD的DMG未在第二相关故障域中时,将对应的OSD的DMG放入预先建立的迁移集合中,并将迁移集合中的所有DMG确定为第一待迁移的DMG,其中,迁移集合中的任意两个DMG不具有关联关系,例如,OSD的DMG有5个:对应的DMG标识分别为:1、2、3、4、5,第二相关故障域中的DMG有2个:对应的DMG标识分别为:3、5,迁移集合中存在的DMG有1个,对应的DMG标识为2,OSD的待移出的DMG的数量C为2,确定第一待迁移的DMG的步骤:首先,判断OSD的DMG标识为1的DMG是否满足预设迁移条件,标识为1的DMG没有在第二相关故障域中,也没有在迁移集合中,因此,满足预设迁移条件,将OSD的DMG标识为1的DMG放入迁移集合中,此时,迁移集合中存在2个DMG,对应的DMG标识分别为:2、1,然后,判断OSD的DMG标识为2的DMG是否满足预设迁移条件,标识为1的DMG没有在第二相关故障域中,但是已经在迁移集合中,因此,不满足预设迁移条件,以此类推,可以判定,标识为3的DMG不满足预设迁移条件,标识为4的DMG满足预设迁移条件,可以放入迁移集合中,此时,已经从OSD的DMG中筛选出2个满足预设迁移条件的DMG,达到OSD的待移出的DMG的数量C,故,终止当前的遍历,然后对下一个OSD进行相同的筛选,直至确定出每个OSD待迁移的DMG,最终,所有OSD待迁移的DMG组成第一待迁移的DMG。
步骤109-3,依据第二相关故障域中的OSD的待移出的DMG数量C从第二相关故障域中对应的OSD的DMG中确定第二待迁移的DMG。
在本发明实施例中,当第二相关故障域由新加入的OSD属于的中间节点所包含的原有的OSD和新加入的OSD组成时,第二待迁移的DMG来自于第二相关故障域的原有的OSD,由于第二相关故障域的原有的OSD的DMG本身已经满足故障域的隔离需求,即:第二相关故障域的原有的OSD的DMG中不存在两个具有关联关系的DMG,因此,第二相关故障域中对应的原有的OSD的DMG可以直接迁移至新加入的OSD。
步骤109-4,将第一待迁移的DMG和第二待迁移的DMG合并为待迁移的DMG。
本发明实施例提供的数据分布存储方法,将原有的OSD的部分DMG迁移至新加入的OSD时,根据原有的OSD所属的第二相关故障域和第二非相关故障域区别对待,避免了DMG在多个第二非相关故障域的OSD之间做无效迁移,使得分布式存储系统在加入新加入的OSD后快速地达到DMG的再次均衡分布,最终有效提升分布式存储系统的可靠性和系统的可用性。
进一步地,针对上述图5~图9、图12和图13的数据分布存储方法,下面给出一种用于执行图5~图9、图12和图13中各个步骤的执行主体的实现方式,该执行主体可以为图2中的存储节点100,具体地,图16示出了本发明实施例提供的数据分布存储装置200的方框示意图。数据分布存储装置200包括至少一个可以软件或固件(firmware)的形式存储于所述存储器101中或固化在所述存储节点100的操作系统(operating system,OS)中的软件功能模块。数据分布存储装置200包括获取模块201;第一确定模块202;第二确定模块203;分配模块204;第一处理模块205;第二处理模块206。
获取模块201,用于获取分布式存储系统的第一拓扑结构,其中,第一拓扑结构包括叶子层和第一中间层,每个OSD为一个叶子节点,至少一个叶子节点构成叶子层,第一中间层包括多个第一中间节点,每个第一中间节点均有至少一个叶子节点归属于对应的第一中间节点。
在本发明实施例中,获取模块201用于执行步骤101。
第一确定模块202,用于根据归属于同一第一中间节点的OSD的权重,确定每个第一中间节点的权重,其中,OSD的权重与OSD的容量大小成正比。
在本发明实施例中,第一确定模块202用于执行步骤102。
第二确定模块203,用于依据每个第一中间节点的权重及归属于同一第一中间节点的OSD的权重确定对应的每个OSD的分配比例。
在本发明实施例中,第二确定模块203用于执行步骤103。
分配模块204,用于根据分配比例依次为每个OSD分配DMG,每个OSD上的DMG个数与每个OSD的权重匹配,且所有OSD上的DMG个数之和等于M。
可选地,分配模块204具体用于:依据多个第一中间节点的权重确定每个第一中间节点的分配比例;根据每个第一中间节点的分配比例及M个DMG确定每个第一中间节点待分配的DMG数量X;按照每个第一中间节点待分配的DMG数量X依次从DMG列表中确定X个DMG;根据每个第一中间节点待分配的DMG数量X及属于第一中间节点的OSD的分配比例确定对应的每个OSD的待分配的DMG数量Y;按照每个OSD待分配的DMG数量Y依次将DMG列表中的X个DMG中的Y个DMG分配至对应的每个OSD。
可选地,分配模块204具体还用于:根据归属于同一第二中间节点的第一中间节点的权重,确定每个第二中间节点的权重;依据多个第二中间节点的权重确定每个第二中间节点的分配比例;根据每个第二中间节点的分配比例及M个DMG确定每个第二中间节点待分配的DMG数量H;按照每个第二中间节点待分配的DMG数量H依次从DMG列表中确定H个DMG;依据每一个第二中间节点的权重及归属于同一第二中间节点的第一中间节点的权重确定每个第一中间节点的分配比例;根据每个第一中间节点的分配比例及H个DMG确定每个第一中间节点待分配的DMG数量I;根据每个第一中间节点待分配的DMG数量I及归属于第一中间节点的OSD的分配比例确定对应的每个OSD的待分配的DMG数量J;按照每个OSD待分配的DMG数量J依次将DMG列表中的I个DMG中的J个DMG分配至对应的每个OSD。
在本发明实施例中,分配模块204用于执行步骤104及步骤104-1~步骤104-13。
第一处理模块205,用于当任一OSD变为不可用时,获取更新后的第二拓扑结构,其中,第二拓扑结构为将第一拓扑结构中不可用的OSD移除后得到;获取不可用的OSD的DMG;依据第二拓扑结构及每个可用的OSD的权重对不可用的OSD的DMG进行重新分配。
可选地,第一处理模块205具体用于:依据第二拓扑结构及每个可用的OSD的权重确定第一相关故障域的分配比例及第一非相关故障域的分配比例;依据第一非相关故障域的分配比例及第一非相关故障域中的OSD的权重确定第一非相关故障域中对应的OSD的待移入的DMG数量A;当第一非相关故障域中的OSD不存在与不可用的OSD的DMG具有关联关系的DMG时,依次将不可用的OSD的DMG中A个DMG移入至第一非相关故障域中的对应的OSD;依据第一相关故障域的分配比例及第一相关故障域中的可用的OSD的权重确定第一相关故障域中的对应的可用的OSD的待移入的DMG数量B;将不可用的OSD的DMG中B个DMG移入至第一相关故障域中的对应的可用的OSD;其中,DMG数量A与DMG数量B之和为不可用的OSD的DMG数量。
在本发明实施例中,第一处理模块205用于执行步骤105~步骤107和步骤107-1~步骤107-5。
第二处理模块206,用于当新加入的OSD加入第一拓扑结构时,获取更新后的第三拓扑结构,其中,第三拓扑结构为将第一拓扑结构中加入新加入的OSD后得到;依据第三拓扑结构、新加入的OSD的权重及原有的OSD的权重确定待迁移的DMG;依据待迁移的DMG从原有的OSD迁移至新加入的OSD。
可选地,第二处理模块206具体用于:依据第三拓扑结构、每个原有的OSD的权重及新加入的OSD的权重确定每个OSD待移出的DMG数量C;依据第二非相关故障域中的OSD的待移出的DMG数量C将对应的第二非相关故障域中的对应的OSD的DMG中满足预设迁移条件的DMG确定为第一待迁移的DMG;依据第二相关故障域中的原有的OSD的待移出的DMG数量C从第二相关故障域中对应的原有的OSD的DMG中确定第二待迁移的DMG;将第一待迁移的DMG和第二待迁移的DMG合并为待迁移的DMG。
可选地,第二处理模块206具体用于依据第二非相关故障域中的OSD的待移出的DMG数量C将对应的第二非相关故障域中的对应的OSD的DMG中满足预设迁移条件的DMG确定为第一待迁移的DMG时,第二处理模块206还用于依次遍历第二非相关故障域中的OSD的DMG;当第二非相关故障域中的OSD的DMG未在第二相关故障域中时,将对应的OSD的DMG放入预先建立的迁移集合中,并将迁移集合中的所有DMG确定为第一待迁移的DMG,其中,迁移集合中的任意两个DMG不具有关联关系。
在本发明实施例中,第二处理模块206用于执行步骤108~步骤110及步骤109-1~步骤109-4。
综上所述,本发明提供的一种数据分布存储方法及相关装置,应用于分布式存储系统中的存储节点,存储节点包括多个OSD,分布式存储系统存在数据管理组DMG列表,DMG列表包含M个DMG,M个DMG划分为K个DMG集合,每个DMG集合包含N个DMG;任意两个DMG集合具有关联关系的DMG互为备份;K个DMG集合依次排列,且每个DMG集合中的N个DMG的排列顺序一致,所述方法包括:获取分布式存储系统的第一拓扑结构,其中,第一拓扑结构包括叶子层和第一中间层,每个OSD为一个叶子节点,至少一个叶子节点构成叶子层,第一中间层包括多个第一中间节点,每个第一中间节点均有至少一个叶子节点归属于对应的第一中间节点;根据归属于同一第一中间节点的OSD的权重,确定每个第一中间节点的权重,其中,OSD的权重与OSD的容量大小成正比;依据每个第一中间节点的权重及归属于同一第一中间节点的OSD的权重确定对应的每个OSD的分配比例;根据分配比例依次为每个OSD分配DMG,每个OSD上的DMG个数与每个OSD的权重匹配,且所有OSD上的DMG个数之和等于M。与现有技术相比,本发明依据分布式存储系统中与OSD容量成正比的OSD的权重,将分布式存储系统中DMG列表中的DMG均衡地分布在分布式存储系统中的每个OSD上,从而提高了分布式存储系统中数据分布的均衡度。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本发明的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
另外,在本发明各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
Claims (13)
1.一种数据分布存储方法,其特征在于,应用于分布式存储系统中的存储节点,所述存储节点包括多个对象存储设备OSD,所述分布式存储系统存在数据管理组DMG列表,所述DMG列表包含M个DMG,所述M个DMG划分为K个DMG集合,每个DMG集合包含N个DMG;任意两个所述DMG集合中具有关联关系的DMG互为备份;K个DMG集合依次排列,且每个DMG集合中的所述N个DMG的排列顺序一致;所述方法包括:
获取所述分布式存储系统的第一拓扑结构,其中,所述第一拓扑结构包括叶子层和第一中间层,每个所述OSD为一个叶子节点,至少一个所述叶子节点构成叶子层,所述第一中间层包括多个第一中间节点,每个所述第一中间节点均有至少一个叶子节点归属于对应的第一中间节点;
根据归属于同一所述第一中间节点的所述OSD的权重,确定每个所述第一中间节点的权重,其中,所述OSD的权重与所述OSD的容量大小成正比;
依据所述每个所述第一中间节点的权重及归属于同一所述第一中间节点的所述OSD的权重确定对应的每个所述OSD的分配比例;
根据所述分配比例依次为每个所述OSD分配DMG,每个所述OSD上的DMG个数与每个所述OSD的权重匹配,且所有OSD上的DMG个数之和等于M。
2.如权利要求1所述的数据分布存储方法,其特征在于,所述根据所述分配比例为每个所述OSD分配DMG的步骤包括:
依据多个所述第一中间节点的权重确定每个所述第一中间节点的分配比例;
根据每个所述第一中间节点的分配比例及所述M个DMG确定每个所述第一中间节点待分配的DMG数量X;
按照每个所述第一中间节点待分配的DMG数量X依次从所述DMG列表中确定X个DMG;
根据每个所述第一中间节点待分配的DMG数量X及归属于所述第一中间节点的OSD的分配比例确定对应的每个所述OSD的待分配的DMG数量Y;
按照每个所述OSD待分配的DMG数量Y依次将所述DMG列表中的X个DMG中的Y个DMG分配至对应的每个所述OSD。
3.如权利要求1所述的数据分布存储方法,其特征在于,所述第一拓扑结构还包括第二中间层,其中,所述第二中间层包括多个第二中间节点,每一所述第二中间节点包括至少一个所述第一中间节点;
所述根据所述分配比例为每个所述OSD分配DMG的步骤包括:
根据归属于同一所述第二中间节点的所述第一中间节点的权重,确定每个所述第二中间节点的权重;
依据多个所述第二中间节点的权重确定每个所述第二中间节点的分配比例;
根据每个所述第二中间节点的分配比例及M个DMG确定每个所述第二中间节点待分配的DMG数量H;
按照每个所述第二中间节点待分配的DMG数量H依次从所述DMG列表中确定H个DMG;
依据每一个所述第二中间节点的权重及归属于同一所述第二中间节点的所述第一中间节点的权重确定每个所述第一中间节点的分配比例;
根据每个所述第一中间节点的分配比例及H个DMG确定每个所述第一中间节点待分配的DMG数量I;
根据每个所述第一中间节点待分配的DMG数量I及归属于所述第一中间节点的所述OSD的分配比例确定对应的每个所述OSD的待分配的DMG数量J;
按照每个所述OSD待分配的DMG数量J依次将所述DMG列表中的I个DMG中的J个DMG分配至对应的每个所述OSD。
4.如权利要求1所述的数据分布存储方法,其特征在于,所述方法还包括:
当任一所述OSD变为不可用时,获取更新后的第二拓扑结构,其中,所述第二拓扑结构为将所述第一拓扑结构中不可用的OSD移除后得到;
获取所述不可用的OSD的DMG;
依据所述第二拓扑结构及每个可用的所述OSD的权重对所述不可用的OSD的DMG进行重新分配。
5.如权利要求4所述的数据分布存储方法,其特征在于,所述第二拓扑结构依据预设故障域策略划分为多个故障域,所述故障域包括第一相关故障域与第一非相关故障域,所述第一相关故障域由所述不可用的OSD归属的中间节点所包含的所有所述可用的OSD组成,其中,所述中间节点位于最高级中间层,除所述第一相关故障域之外的其余故障域为第一非相关故障域,所述依据所述第二拓扑结构及每个可用的所述OSD的权重对所述不可用的OSD的DMG进行重新分配的步骤,包括:
依据所述第二拓扑结构及每个可用的所述OSD的权重确定所述第一相关故障域的分配比例及所述第一非相关故障域的分配比例;
依据所述第一非相关故障域的分配比例及所述第一非相关故障域中的所述OSD的权重确定所述第一非相关故障域中对应的所述OSD的待移入的DMG数量A;
当所述第一非相关故障域中的所述OSD不存在与所述不可用的OSD的DMG具有所述关联关系的DMG时,依次将所述不可用的OSD的DMG中A个DMG移入至所述第一非相关故障域中的对应的所述OSD;
依据所述第一相关故障域的分配比例及所述第一相关故障域中的所述可用的OSD的权重确定所述第一相关故障域中的对应的所述可用的OSD的待移入的DMG数量B;
将所述不可用的OSD的DMG中B个DMG移入至所述第一相关故障域中的所述对应的所述可用的OSD;
其中,DMG数量A与DMG数量B之和为所述不可用的OSD的DMG数量。
6.如权利要求1所述的数据分布存储方法,其特征在于,所述方法还包括:
当新加入的OSD加入所述第一拓扑结构时,获取更新后的第三拓扑结构,其中,所述第三拓扑结构为将所述第一拓扑结构中加入所述新加入的OSD后得到;
依据所述第三拓扑结构、所述新加入的OSD的权重及原有的OSD的权重确定待迁移的DMG;
依据所述待迁移的DMG从所述原有的OSD迁移至所述新加入的OSD。
7.如权利要求6所述的数据分布存储方法,其特征在于,所述第三拓扑结构依据预设故障域策略划分为多个故障域,所述故障域包括第二相关故障域与第二非相关故障域,所述第二相关故障域由所述新加入的OSD归属的中间节点所包含的所述新加入的OSD或所述新加入的OSD和所述原有的OSD组成,其中,所述中间节点位于最高级中间层,所述第二非相关故障域为除所述第二相关故障域之外的其余故障域,所述依据所述第三拓扑结构、所述新加入的OSD的权重及所述原有的OSD的权重确定待迁移的DMG的步骤,包括:
依据所述第三拓扑结构、每个所述原有的OSD的权重及所述新加入的OSD的权重确定每个所述原有的OSD待移出的DMG数量C;
依据所述第二非相关故障域中的所述OSD的待移出的DMG数量C将对应的第二非相关故障域中的对应的所述OSD的DMG中满足预设迁移条件的DMG确定为第一待迁移的DMG;
依据所述第二相关故障域中的所述原有的OSD的待移出的DMG数量C从所述第二相关故障域中所述对应的所述原有的OSD的DMG中确定第二待迁移的DMG;
将所述第一待迁移的DMG和所述第二待迁移的DMG合并为待迁移的DMG。
8.如权利要求7所述的数据分布存储方法,其特征在于,所述将对应的第二非相关故障域中的对应的所述OSD的DMG中满足预设迁移条件的DMG确定为第一待迁移的DMG的步骤包括:
依次遍历所述第二非相关故障域中的所述OSD的DMG;
当所述第二非相关故障域中的所述OSD的DMG未在所述第二相关故障域中时,将对应的所述OSD的DMG放入预先建立的迁移集合中,并将所述迁移集合中的所有DMG确定为所述第一待迁移的DMG,其中,所述迁移集合中的任意两个DMG不具有关联关系。
9.一种数据分布存储装置,其特征在于,应用于分布式存储系统中的存储节点,所述存储节点包括多个对象存储设备OSD,所述分布式存储系统存在数据管理组DMG列表,所述DMG列表包含M个DMG,所述M个DMG划分为K个DMG集合,每个DMG集合包含N个DMG;任意两个所述DMG集合中具有关联关系的DMG互为备份;K个DMG集合依次排列,且每个DMG集合中的所述N个DMG的排列顺序一致;所述装置包括:
获取模块,用于获取所述分布式存储系统的第一拓扑结构,其中,所述第一拓扑结构包括叶子层和第一中间层,每个所述OSD为一个叶子节点,至少一个所述叶子节点构成叶子层,所述第一中间层包括多个第一中间节点,每个所述第一中间节点均有至少一个叶子节点归属于对应的第一中间节点;
第一确定模块,根据归属于同一所述第一中间节点的所述OSD的权重,确定每个所述第一中间节点的权重,其中,所述OSD的权重与所述OSD的容量大小成正比;
第二确定模块,用于依据所述每个所述第一中间节点的权重及归属于同一所述第一中间节点的所述OSD的权重确定对应的每个所述OSD的分配比例;
分配模块,用于根据所述分配比例依次为每个所述OSD分配DMG,每个所述OSD上的DMG个数与每个所述OSD的权重匹配,且所有OSD上的DMG个数之和等于M。
10.如权利要求9所述的数据分布存储装置,其特征在于,所述装置还包括第一处理模块,所述第一处理模块用于:
当任一所述OSD变为不可用时,获取更新后的第二拓扑结构,其中,所述第二拓扑结构为将所述第一拓扑结构中不可用的OSD移除后得到;
获取所述不可用的OSD的DMG;
依据所述第二拓扑结构及每个可用的所述OSD的权重对所述不可用的OSD的DMG进行重新分配。
11.如权利要求9所述的数据分布存储装置,其特征在于,所述装置还包括第二处理模块,所述第二处理模块用于:
当新加入的OSD加入所述第一拓扑结构时,获取更新后的第三拓扑结构,其中,所述第三拓扑结构为将所述第一拓扑结构中加入所述新加入的OSD后得到;
依据所述第三拓扑结构、所述新加入的OSD的权重及原有的OSD的权重确定待迁移的DMG;
依据所述待迁移的DMG从所述原有的OSD迁移至所述新加入的OSD。
12.一种存储节点,其特征在于,所述存储节点包括:
一个或多个处理器;
存储器,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现如权利要求1-8中任一项所述的方法。
13.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现如权利要求1-8中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910239344.0A CN109992206B (zh) | 2019-03-27 | 2019-03-27 | 数据分布存储方法及相关装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910239344.0A CN109992206B (zh) | 2019-03-27 | 2019-03-27 | 数据分布存储方法及相关装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109992206A true CN109992206A (zh) | 2019-07-09 |
CN109992206B CN109992206B (zh) | 2022-05-10 |
Family
ID=67131675
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910239344.0A Active CN109992206B (zh) | 2019-03-27 | 2019-03-27 | 数据分布存储方法及相关装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109992206B (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110427160A (zh) * | 2019-08-09 | 2019-11-08 | 济南浪潮数据技术有限公司 | 归置组分布的均衡方法及装置 |
CN110703949A (zh) * | 2019-10-10 | 2020-01-17 | 业成科技(成都)有限公司 | 绝缘胶保护的改良结构 |
CN111124309A (zh) * | 2019-12-22 | 2020-05-08 | 浪潮电子信息产业股份有限公司 | 一种分片映射关系确定方法、装置、设备及存储介质 |
CN112083892A (zh) * | 2020-09-25 | 2020-12-15 | 上海依图网络科技有限公司 | 一种数据存储方法、装置、设备和介质 |
CN113271323A (zh) * | 2020-02-14 | 2021-08-17 | 中移(苏州)软件技术有限公司 | 集群扩容方法、装置和存储介质 |
CN113312208A (zh) * | 2021-05-26 | 2021-08-27 | 深圳潮数软件科技有限公司 | 一种基于系统资源的均衡集中备份方法 |
CN114237520A (zh) * | 2022-02-28 | 2022-03-25 | 广东睿江云计算股份有限公司 | 一种ceph集群数据均衡方法以及系统 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2002025481A2 (en) * | 2000-09-18 | 2002-03-28 | Linmor Technologies Inc. | High performance relational database management system |
CN103634401A (zh) * | 2013-12-03 | 2014-03-12 | 北京京东尚科信息技术有限公司 | 一种存储数据副本的方法和终端装置以及服务器装置 |
CN105912612A (zh) * | 2016-04-06 | 2016-08-31 | 中广天择传媒股份有限公司 | 一种分布式文件系统及面向该系统的数据均衡分布方法 |
CN106991170A (zh) * | 2017-04-01 | 2017-07-28 | 广东浪潮大数据研究有限公司 | 一种分布式文件容量均衡的方法与装置 |
US20170235609A1 (en) * | 2016-02-12 | 2017-08-17 | Coho Data Inc. | Methods, systems, and devices for adaptive data resource assignment and placement in distributed data storage systems |
CN109213637A (zh) * | 2018-11-09 | 2019-01-15 | 浪潮电子信息产业股份有限公司 | 分布式文件系统集群节点的数据恢复方法、装置及介质 |
-
2019
- 2019-03-27 CN CN201910239344.0A patent/CN109992206B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2002025481A2 (en) * | 2000-09-18 | 2002-03-28 | Linmor Technologies Inc. | High performance relational database management system |
CN103634401A (zh) * | 2013-12-03 | 2014-03-12 | 北京京东尚科信息技术有限公司 | 一种存储数据副本的方法和终端装置以及服务器装置 |
US20170235609A1 (en) * | 2016-02-12 | 2017-08-17 | Coho Data Inc. | Methods, systems, and devices for adaptive data resource assignment and placement in distributed data storage systems |
CN105912612A (zh) * | 2016-04-06 | 2016-08-31 | 中广天择传媒股份有限公司 | 一种分布式文件系统及面向该系统的数据均衡分布方法 |
CN106991170A (zh) * | 2017-04-01 | 2017-07-28 | 广东浪潮大数据研究有限公司 | 一种分布式文件容量均衡的方法与装置 |
CN109213637A (zh) * | 2018-11-09 | 2019-01-15 | 浪潮电子信息产业股份有限公司 | 分布式文件系统集群节点的数据恢复方法、装置及介质 |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110427160A (zh) * | 2019-08-09 | 2019-11-08 | 济南浪潮数据技术有限公司 | 归置组分布的均衡方法及装置 |
CN110703949A (zh) * | 2019-10-10 | 2020-01-17 | 业成科技(成都)有限公司 | 绝缘胶保护的改良结构 |
CN111124309A (zh) * | 2019-12-22 | 2020-05-08 | 浪潮电子信息产业股份有限公司 | 一种分片映射关系确定方法、装置、设备及存储介质 |
CN111124309B (zh) * | 2019-12-22 | 2022-02-18 | 浪潮电子信息产业股份有限公司 | 一种分片映射关系确定方法、装置、设备及存储介质 |
CN113271323A (zh) * | 2020-02-14 | 2021-08-17 | 中移(苏州)软件技术有限公司 | 集群扩容方法、装置和存储介质 |
CN112083892A (zh) * | 2020-09-25 | 2020-12-15 | 上海依图网络科技有限公司 | 一种数据存储方法、装置、设备和介质 |
CN112083892B (zh) * | 2020-09-25 | 2021-05-18 | 上海依图网络科技有限公司 | 一种数据存储方法、装置、设备和介质 |
CN113312208A (zh) * | 2021-05-26 | 2021-08-27 | 深圳潮数软件科技有限公司 | 一种基于系统资源的均衡集中备份方法 |
CN114237520A (zh) * | 2022-02-28 | 2022-03-25 | 广东睿江云计算股份有限公司 | 一种ceph集群数据均衡方法以及系统 |
CN114237520B (zh) * | 2022-02-28 | 2022-07-08 | 广东睿江云计算股份有限公司 | 一种ceph集群数据均衡方法以及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN109992206B (zh) | 2022-05-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109992206A (zh) | 数据分布存储方法及相关装置 | |
US10613780B1 (en) | Multi-node removal | |
US11238008B2 (en) | Automatic archiving of data store log data | |
CN103890738B (zh) | 用于保留克隆分离操作之后的存储对象中的消重的系统和方法 | |
EP2784675B1 (en) | Method, device and system for data reconstruction | |
KR101242458B1 (ko) | 지능형 분산 스토리지 서비스 시스템 및 방법 | |
CN103890729B (zh) | 计算机化方法、存储服务器及管理服务器 | |
CN102708165B (zh) | 分布式文件系统中的文件处理方法及装置 | |
CN109597567B (zh) | 一种数据处理方法和装置 | |
US20150347047A1 (en) | Multilayered data storage methods and apparatus | |
CN109828868A (zh) | 数据存储方法、装置、管理设备和双活数据存储系统 | |
US8661055B2 (en) | File server system and storage control method | |
WO2012114492A1 (ja) | 計算機システム、及びその管理方法、並びにプログラム | |
CN106610903A (zh) | 层级化存储器系统、存储器控制器和去重及存储器层级化方法 | |
JP2005222539A (ja) | 複数のコントローラ間に仮想ストレージセグメントを割り当てる能力を有するストレージシステム | |
CN110515724A (zh) | 资源配置方法、装置、监视器及机器可读存储介质 | |
CN106293492B (zh) | 一种存储管理方法及分布式文件系统 | |
US20200133555A1 (en) | Mechanisms for performing accurate space accounting for volume families | |
US11157186B2 (en) | Distributed object storage system with dynamic spreading | |
CN102221982A (zh) | 块级虚拟化存储设备上实现重复数据删除的方法及系统 | |
CN106777164A (zh) | 一种数据迁移集群及数据迁移方法 | |
JPWO2016174764A1 (ja) | 管理装置および管理方法 | |
CN106603632A (zh) | 一种降低云平台启动风暴的虚拟机管理方法 | |
CN107357522A (zh) | 数据处理方法和装置 | |
WO2019000535A1 (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 |