CN108846009B - 一种ceph中副本数据存储方法及装置 - Google Patents

一种ceph中副本数据存储方法及装置 Download PDF

Info

Publication number
CN108846009B
CN108846009B CN201810400813.8A CN201810400813A CN108846009B CN 108846009 B CN108846009 B CN 108846009B CN 201810400813 A CN201810400813 A CN 201810400813A CN 108846009 B CN108846009 B CN 108846009B
Authority
CN
China
Prior art keywords
fault
domains
stored
storage
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.)
Active
Application number
CN201810400813.8A
Other languages
English (en)
Other versions
CN108846009A (zh
Inventor
韩庆波
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing QIYI Century Science and Technology Co Ltd
Original Assignee
Beijing QIYI Century Science and Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing QIYI Century Science and Technology Co Ltd filed Critical Beijing QIYI Century Science and Technology Co Ltd
Priority to CN201810400813.8A priority Critical patent/CN108846009B/zh
Publication of CN108846009A publication Critical patent/CN108846009A/zh
Application granted granted Critical
Publication of CN108846009B publication Critical patent/CN108846009B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0709Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in a distributed system consisting of a plurality of standalone computer nodes, e.g. clusters, client-server systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0727Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in a storage system, e.g. in a DASD or network based storage system

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明实施例提供了一种ceph中副本数据存储方法、装置、电子设备以及存储介质,所述方法包括:获取对象存储设备OSD集群的拓扑结构;将所述OSD集群的至少一个物理故障域划分为多个虚拟故障子域,将未划分的故障域和划分得到的虚拟故障子域,作为待存储故障域;基于需要存储的所述副本数据的数量,选择所述数量个待存储故障域作为存储故障域,所选择的存储故障域中的不同虚拟故障子域属于不同物理故障域;将所述副本数据分别存储在每个存储故障域的一个OSD中。使用本发明实施例提供的副本数据存储方法能够降低ceph中副本数据丢失的概率。

Description

一种ceph中副本数据存储方法及装置
技术领域
本发明涉及数据管理技术领域,特别是涉及一种ceph(分布式文件***)中副本数据存储方法、装置、电子设备以及存储介质。
背景技术
ceph是一种分布式文件***,对于ceph,PG(placement group,放置组)是虚拟的数据存储的节点,PG的载体是可以是一种实体的硬件存储单元,例如OSD(object storagedevice,对象存储设备)。每个PG都有R个副本数据,分别存放在R个不同的OSD上,且这R个OSD属于不同的物理故障域。物理故障域是人为划分的存储区域,划分物理故障域是为了避免某个存储区域出现故障时,存放在该区域的相同副本数据都会受到影响,通常将相同副本数据存放在不同的物理故障域中。
若存放某个PG的副本数据的分别属于不同物理故障域的多个OSD都发生了故障,那么该PG的副本数据就会丢失。通常称包含一定数量的OSD的集合为一个OSD集群。
已知丢失PG的副本数据的概率公式为:
Figure BDA0001645674270000011
其中R表示副本数据的数量,Pr表示R个OSD同时出现故障的概率,N表示OSD集群中OSD的数量,M表示一个PG的R个副本数据在该OSD集群中分配情况的数量。
举例来讲,可以参见图1,图1为现有技术中ceph中副本数据存储方法的一种示意图,如图1所示,一个PG有三个副本数据,分别存放在位于三个不同故障域中的三个OSD上,图1中每个机架为一个故障域,即存放该PG的副本数据的三个OSD分别位于三个不同的机架上。
对于图1,每个机架上都有24个OSD,那么该PG的3个副本数据在该OSD集群中的分布情况共有24×24×24种,即在计算丢失PG数据的概率公式中,M的值为24×24×24=13824,该值较大,也意味着丢失PG的副本数据的概率较大。
发明内容
本发明实施例的目的在于提供一种ceph中副本数据存储方法、装置、电子设备以及存储介质,以实现降低ceph中副本数据丢失的概率。
具体技术方案如下:
本发明实施例提供了一种ceph中副本数据存储方法,所述方法包括:
获取OSD集群的拓扑结构,所述OSD集群包括多个OSD,所述拓扑结构表示所述OSD集群的物理故障域的划分情况;
将所述OSD集群的至少一个物理故障域划分为多个虚拟故障子域,将未划分的故障域和划分得到的虚拟故障子域,作为待存储故障域;
针对待存储的副本数据,基于需要存储的所述副本数据的数量,选择所述数量个待存储故障域作为存储故障域,所选择的存储故障域中的不同虚拟故障子域属于不同物理故障域;
将所述副本数据分别存储在每个存储故障域的一个OSD中。
可选的,所述将所述OSD集群的至少一个物理故障域划分为多个虚拟故障子域,包括:
将所述OSD集群的每个物理故障域均划分为多个虚拟故障子域。
可选的,在所述选择所述数量个待存储故障域作为存储故障域之前,还包括:
将得到的待存储故障域划分为多组待存储故障域,且每组待存储故障域中的不同虚拟故障子域属于不同物理故障域;
所述选择所述数量个待存储故障域作为存储故障域,包括:
从所述多组待存储故障域中的一组待存储故障域中,选择所述数量个待存储故障域作为存储故障域。
可选的,所述将所述OSD集群的至少一个物理故障域划分为多个虚拟故障子域,包括:
将所述OSD集群的每个物理故障域均划分为两个虚拟故障子域;
在所述选择所述数量个待存储故障域作为存储故障域之前,还包括:
将得到的待存储故障域划分为两组待存储故障域,且每组待存储故障域中的不同虚拟故障子域属于不同物理故障域;
所述选择所述数量个待存储故障域作为存储故障域,包括:
从所述两组待存储故障域中的一组待存储故障域中,选择所述数量个待存储故障域作为存储故障域。
可选的,需要存储的所述副本数据的数量,与所述OSD集群的物理故障域的数量相同。
本发明实施例还提供了一种ceph中副本数据存储装置,所述装置包括:
拓扑结构获取模块,用于获取OSD集群的拓扑结构,所述OSD集群包括多个OSD,所述拓扑结构表示所述OSD集群的物理故障域的划分情况;
故障域划分模块,用于将所述OSD集群的至少一个物理故障域划分为多个虚拟故障子域,将未划分的故障域和划分得到的虚拟故障子域,作为待存储故障域;
存储域选择模块,用于针对待存储的副本数据,基于需要存储的所述副本数据的数量,选择所述数量个待存储故障域作为存储故障域,所选择的存储故障域中的不同虚拟故障子域属于不同物理故障域;
存储模块,用于将所述副本数据分别存储在每个存储故障域的一个OSD中。
可选的,所述故障域划分模块,具体用于:
将所述OSD集群的每个物理故障域均划分为多个虚拟故障子域。
可选的,所述装置还包括:
分组模块,用于将得到的待存储故障域划分为多组待存储故障域,且每组待存储故障域中的不同虚拟故障子域属于不同物理故障域;
所述存储域选择模块,具体用于:
从所述多组待存储故障域中的一组待存储故障域中,选择所述数量个待存储故障域作为存储故障域。
可选的,所述故障域划分模块具体用于:
将所述OSD集群的每个物理故障域均划分为两个虚拟故障子域;
所述装置还包括:
划分模块,用于将得到的待存储故障域划分为两组待存储故障域,且每组待存储故障域中的不同虚拟故障子域属于不同物理故障域;
选择模块,用于从所述两组待存储故障域中的一组待存储故障域中,选择所述数量个待存储故障域作为存储故障域。
可选的,需要存储的所述副本数据的数量,与所述OSD集群的物理故障域的数量相同。
本发明实施例还提供了一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,所述处理器、所述通信接口、所述存储器通过所述通信总线完成相互间的通信;
所述存储器,用于存放计算机程序;
所述处理器,用于执行所述存储器上所存放的程序时,实现上述任一方法步骤。
本发明实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述任一方法步骤。
使用本发明实施例提供的ceph中副本数据存储方法、装置、电子设备以及存储介质,能够将OSD集群中至少一个物理故障域划分为多个虚拟故障子域,再选择出与副本数量相同的故障域进行副本数据存储,且所选择的故障域中不同虚拟故障子域属于不同物理故障域。由于所选择的故障域中至少有一个虚拟故障子域,其包含的OSD的数目小于划分前物理故障域包含的OSD数目,因此,副本数据在所选择的故障域中分配情况的数量会减少,根据现有的副本数据丢失的概率公式可知,本发明实施例提供的副本数据存储方法能够降低ceph中副本数据丢失的概率。
当然,实施本发明的任一产品或方法并不一定需要同时达到以上所述的所有优点。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍。
图1为现有技术中ceph中副本数据存储方法的一种示意图;
图2为本发明实施例提供的ceph中副本数据存储方法的一种流程图;
图3为本发明实施例提供的ceph中副本数据存储方法的一种示意图;
图4为本发明实施例提供的ceph中副本数据存储方法的另一种示意图;
图5为本发明实施例提供的ceph中副本数据存储装置的一种结构示意图;
图6为本发明实施例提供的电子设备的一种结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行描述。
为了解决现有技术中存在的问题,本发明实施例提供了一种ceph中副本数据存储方法、装置、电子设备以及存储介质,能够解决现有技术中丢失PG的副本数据的概率较大的问题。
参见图2,图2为本发明实施例提供的ceph中副本数据存储方法的一种流程图,可以包括以下步骤:
步骤S201:获取OSD集群的拓扑结构,OSD集群包括多个OSD,拓扑结构表示OSD集群的物理故障域的划分情况;
在ceph中,可以将数据副本存储在OSD上,则在存储数据之前,可以先获取OSD集群的拓扑结构,可以通过调出crush map(ceph中层级分布图)来获取OSD集群的拓扑结构,其中crush map描述了ceph存储***的层级结构,例如该存储***包括多少机架,每个机架上包括多少存储设备,每个存储设备中含有多少OSD等。
在本发明实施例中,所获取的OSD集群的拓扑结构可以包括物理故障域的划分情况,其中,物理故障域是人为划分的存储区域,划分物理故障域是为了避免某个存储区域出现故障时,存放在该区域的相同副本数据都受到影响,因此通常将相同副本数据存放在不同的物理故障域中。参见图1,图1中物理故障域级别为机架级别,即每个机架为一个物理故障域,从图1中可以看出,每个机架中包含了24个OSD。
步骤S202:将OSD集群的至少一个物理故障域划分为多个虚拟故障子域,将未划分的故障域和划分得到的虚拟故障子域,作为待存储故障域;
在本步骤中,可以通过修改ceph rule(ceph中数据存储规则)的方式来修改物理故障域的划分情况,其中,ceph rule规定了副本数据存储的限制条件,例如,对于需要存储的三个相同的副本数据,ceph rule规定了将该三个副本数据以何种规则存储于三个不同的物理故障域。
在本发明实施例中,可以通过修改ceph rule来将OSD集群的至少一个物理故障域划分为多个虚拟的物理故障子域,在划分完成后将未划分的故障域和划分得到的虚拟故障子域,均作为待存储故障域。
也可以将OSD集群的每个物理故障域均划分为多个虚拟的物理故障子域,本发明实施例对此不作限定。
步骤S203:针对待存储的副本数据,基于需要存储的副本数据的数量,选择该副本数量个待存储故障域作为存储故障域,所选择的存储故障域中的不同虚拟故障子域属于不同物理故障域;
在本发明实施例中,将物理故障域划分完成后,即可根据副本数据的数量,选取该数量个待存储故障域进行副本数据的存储。例如,对于副本数量为三的副本数据,可以选择三个待存储故障域来分别对这三个副本进行存储,而这三个待存储故障域属于不同的物理故障域,这样可以保证将三个副本数据存放在不同的物理故障域中。
在本发明实施例中,将物理故障域划分完成后,可以将得到的待存储故障域划分为多组待存储故障域,且每组待存储故障域的不同虚拟故障子域属于不同物理故障域。这样,在决定副本数据存储于哪些待存储故障时,可以从划分得到的多组待存储故障域中,选择一组待存储故障域,再从该组待存储故障域中,选择副本数量个待存储故障域作为存储故障域,存储故障域也就是所选择的即将存放副本数据的故障域。
举例来讲,可以参见图3,图3为本发明实施例提供的一种副本数据存储方法的示意图,对于副本数量为三的待存储数据,最终要为其划分三个故障域进行数据存储。在此之前,若获取的物理故障域的数目为4,即包括图3中所示的物理故障域a,物理故障域b,物理故障域c,物理故障域d。在图3所示的实施例中,物理故障域a没有划分子域,而分别将物理故障域b,c,d,划分为虚拟故障子域b1、b2,c1、c2,d1、d2,则将a,b1、b2,c1、c2,d1、d2均作为待存储故障域。
在划分完成后,可以将待存储故障域进行分组,且保证每组待存储故障域中的不同虚拟故障子域属于不同物理故障域。例如,可以将a,b1,c1,d2分为一组,也可以将b1,c2,d2分为一组,即每组中包含的待存储故障域的数目可以大于或者等于需要存储的副本数据的副本数量。
确定出分组后,可以从多组待存储故障域中选择一组用来存储副本数据,由于被选择的一组待存储故障域中的故障域的数目可能大于副本数量,因此,可以在被选择的一组待存储故障域中,选择副本数量个待存储故障域,将副本数据分别存储于该副本数量个待存储故障域中。例如,若选择的一组待存储故障域中包含了故障域a,b1,c1,d2,而由于副本数量为3,因此,可以从该组待存储故障域中选择a,b1,c1,用于副本数据的存储。
步骤S204:将副本数据分别存储在每个存储故障域的一个OSD中。
在选择出副本数量个待存储故障域后,可以将其确定为存储故障域,即可将待存储的副本数据分别存储于存储故障域中,每个存储故障域中包含多个OSD,可以将副本数据分别存储于每个存储故障域中的一个OSD上。
可见,使用本发明实施例提供的ceph中副本数据存储方法,能够将OSD集群中至少一个物理故障域划分为多个虚拟故障子域,再选择出与副本数量相同的故障域进行副本数据存储,且所选择的故障域中不同虚拟故障子域属于不同物理故障域。由于所选择的故障域中至少有一个虚拟故障子域,其包含的OSD的数目小于划分前物理故障域包含的OSD数目,因此,副本数据在所选择的故障域中分配情况的数量会减少,根据现有的副本数据丢失的概率公式可知,本发明实施例提供的副本数据存储方法能够降低ceph中副本数据丢失的概率。
在本发明实施例中,将OSD集群的至少一个物理故障域划分为多个虚拟故障子域,可以包括:
将OSD集群的每个物理故障域均划分为两个虚拟故障子域;
在选择副本数量个待存储故障域作为存储故障域之前,还可以包括:
将得到的待存储故障域划分为两组待存储故障域,且每组待存储故障域中的不同虚拟故障子域属于不同物理故障域;
选择副本数量个待存储故障域作为存储故障域,可以包括:
从两组待存储故障域中的一组待存储故障域中,选择数量个待存储故障域作为存储故障域。
下面结合图4进行说明,参见图4,图4为本发明实施例提供的ceph中副本数据存储方法的一种示意图,图4所示实施例中,将每个物理故障域,也即图中的每个机架,都划分成了两个虚拟故障子域,分别为A1,A2,B1,B2,C1,C2,如图4所示,每个虚拟故障子域中都包含了12个OSD,在图4所示的实施例中,可以确定出两组待存储故障域,且每组待存储故障域中的虚拟故障子域都属于不同的故障域,例如,将A1,B1,C1确定为一组,将A2,B2,C2确定为另一组。
则在进行数据存储时,可以选择上述两组中的一组来存储副本数据,并将需要存储的副本数据分别存储于被选择的一组存储故障域中的一个OSD上,由于每个存储故障域中都包括12个OSD,那么,对于三个相同的副本数据,对其存储时,选择每一组存储故障域都有12×12×12种可能的存储情况,那么最终的副本数据在故障域中存储情况的数目为12×12×12×2,该值小于使用现有技术中的副本数据存储方法所得到的24×24×24种可能的存储的情况,根据现有的分布数据丢失的概率公式可知,本发明实施例提供的副本数据存储方法能够降低ceph中副本数据丢失的概率。
参见图5,图5为本发明实施例提供的ceph中副本数据存储装置的一种结构示意图,可以包括:
拓扑结构获取模块501,用于获取对象存储单元OSD集群的拓扑结构,OSD集群包括多个OSD,拓扑结构表示OSD集群的物理故障域的划分情况;
故障域划分模块502,用于将OSD集群的至少一个物理故障域划分为多个虚拟故障子域,将未划分的故障域和划分得到的虚拟故障子域,作为待存储故障域;
存储域选择模块503,用于针对待存储的副本数据,基于需要存储的副本数据的数量,选择该副本数量个待存储故障域作为存储故障域,所选择的存储故障域中的不同虚拟故障子域属于不同物理故障域;
存储模块504,用于将副本数据分别存储在每个存储故障域的一个OSD中。
在本发明实施例中,故障域划分模块502,具体可以用于:
将OSD集群的每个物理故障域均划分为多个虚拟故障子域。
在本发明实施例中,在图5所示ceph中副本数据存储装置的基础上,还可以包括:
分组模块,用于将得到的待存储故障域划分为多组待存储故障域,且每组待存储故障域中的不同虚拟故障子域属于不同物理故障域;
存储域选择模块,具体可以用于:
从多组待存储故障域中的一组待存储故障域中,选择副本数量个待存储故障域作为存储故障域。
在本发明实施例中,故障域划分模块,具体可以用于:
将OSD集群的每个物理故障域均划分为两个虚拟故障子域;
在图5所示的ceph中副本数据存储装置的基础上,还可以包括:
划分模块,用于将得到的待存储故障域划分为两组待存储故障域,且每组待存储故障域中的不同虚拟故障子域属于不同物理故障域;
选择模块,用于从两组待存储故障域中的一组待存储故障域中,选择副本数量个待存储故障域作为存储故障域。
在本发明实施例中,需要存储的副本数据的数量,可以与OSD集群的物理故障域的数量相同。
本发明实施例公开了一种电子设备,如图6所示。包括处理器601、通信接口602、存储器603和通信总线604,其中,处理器601,通信接口602,存储器603通过通信总线604完成相互间的通信,
存储器603,用于存放计算机程序;
处理器601,用于执行存储器603上所存放的程序时,实现上述任一方法步骤。
上述电子设备提到的通信总线可以是外设部件互连标准(Peripheral ComponentInterconnect,PCI)总线或扩展工业标准结构(Extended Industry StandardArchitecture,EISA)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
通信接口用于上述电子设备与其他设备之间的通信。
存储器可以包括随机存取存储器(Random Access Memory,RAM),也可以包括非易失性存储器(Non-Volatile Memory,NVM),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(Network Processor,NP)等;还可以是数字信号处理器(Digital SignalProcessing,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
本发明实施例还提供了一种计算机可读存储介质,计算机可读存储介质内存储有计算机程序,计算机程序被处理器执行时实现上述任一方法步骤。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行计算机程序指令时,全部或部分地产生按照本发明实施例的流程或功能。计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid State Disk(SSD))等。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置、电子设备、计算机可读存储介质以及计算机程序产品实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。

Claims (9)

1.一种分布式文件***ceph中副本数据存储方法,其特征在于,所述方法包括:
获取对象存储设备OSD集群的拓扑结构,所述OSD集群包括多个OSD,所述拓扑结构表示所述OSD集群的物理故障域的划分情况;
将所述OSD集群的至少一个物理故障域划分为多个虚拟故障子域,将未划分的故障域和划分得到的虚拟故障子域,作为待存储故障域;
针对待存储的副本数据,基于需要存储的所述副本数据的数量,选择所述数量个待存储故障域作为存储故障域,所选择的存储故障域中的不同虚拟故障子域属于不同物理故障域;
将所述副本数据分别存储在每个存储故障域的一个OSD中;
在所述选择所述数量个待存储故障域作为存储故障域之前,还包括:
将得到的待存储故障域划分为多组待存储故障域,且每组待存储故障域中的不同虚拟故障子域属于不同物理故障域;
所述选择所述数量个待存储故障域作为存储故障域,包括:
从所述多组待存储故障域中的一组待存储故障域中,选择所述数量个待存储故障域作为存储故障域。
2.根据权利要求1所述的方法,其特征在于,所述将所述OSD集群的至少一个物理故障域划分为多个虚拟故障子域,包括:
将所述OSD集群的每个物理故障域均划分为多个虚拟故障子域。
3.根据权利要求1所述的方法,其特征在于,所述将所述OSD集群的至少一个物理故障域划分为多个虚拟故障子域,包括:
将所述OSD集群的每个物理故障域均划分为两个虚拟故障子域;
在所述选择所述数量个待存储故障域作为存储故障域之前,还包括:
将得到的待存储故障域划分为两组待存储故障域,且每组待存储故障域中的不同虚拟故障子域属于不同物理故障域;
所述选择所述数量个待存储故障域作为存储故障域,包括:
从所述两组待存储故障域中的一组待存储故障域中,选择所述数量个待存储故障域作为存储故障域。
4.根据权利要求3所述的方法,其特征在于,需要存储的所述副本数据的数量,与所述OSD集群的物理故障域的数量相同。
5.一种分布式文件***ceph中副本数据存储装置,其特征在于,所述装置包括:
拓扑结构获取模块,用于获取对象存储设备OSD集群的拓扑结构,所述OSD集群包括多个OSD,所述拓扑结构表示所述OSD集群的物理故障域的划分情况;
故障域划分模块,用于将所述OSD集群的至少一个物理故障域划分为多个虚拟故障子域,将未划分的故障域和划分得到的虚拟故障子域,作为待存储故障域;
存储域选择模块,用于针对待存储的副本数据,基于需要存储的所述副本数据的数量,选择所述数量个待存储故障域作为存储故障域,所选择的存储故障域中的不同虚拟故障子域属于不同物理故障域;
存储模块,用于将所述副本数据分别存储在每个存储故障域的一个OSD中;
所述装置还包括:
分组模块,用于将得到的待存储故障域划分为多组待存储故障域,且每组待存储故障域中的不同虚拟故障子域属于不同物理故障域;
所述存储域选择模块,具体用于:
从所述多组待存储故障域中的一组待存储故障域中,选择所述数量个待存储故障域作为存储故障域。
6.根据权利要求5所述的装置,其特征在于,所述故障域划分模块,具体用于:
将所述OSD集群的每个物理故障域均划分为多个虚拟故障子域。
7.根据权利要求5所述的装置,其特征在于,所述故障域划分模块具体用于:
将所述OSD集群的每个物理故障域均划分为两个虚拟故障子域;
所述装置还包括:
划分模块,用于将得到的待存储故障域划分为两组待存储故障域,且每组待存储故障域中的不同虚拟故障子域属于不同物理故障域;
选择模块,用于从所述两组待存储故障域中的一组待存储故障域中,选择所述数量个待存储故障域作为存储故障域。
8.根据权利要求7所述的装置,其特征在于,需要存储的所述副本数据的数量,与所述OSD集群的物理故障域的数量相同。
9.一种电子设备,其特征在于,包括处理器、通信接口、存储器和通信总线,其中,所述处理器、所述通信接口、所述存储器通过所述通信总线完成相互间的通信;
所述存储器,用于存放计算机程序;
所述处理器,用于执行所述存储器上所存放的程序时,实现权利要求1-4任一所述的方法步骤。
CN201810400813.8A 2018-04-28 2018-04-28 一种ceph中副本数据存储方法及装置 Active CN108846009B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810400813.8A CN108846009B (zh) 2018-04-28 2018-04-28 一种ceph中副本数据存储方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810400813.8A CN108846009B (zh) 2018-04-28 2018-04-28 一种ceph中副本数据存储方法及装置

Publications (2)

Publication Number Publication Date
CN108846009A CN108846009A (zh) 2018-11-20
CN108846009B true CN108846009B (zh) 2021-02-05

Family

ID=64212397

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810400813.8A Active CN108846009B (zh) 2018-04-28 2018-04-28 一种ceph中副本数据存储方法及装置

Country Status (1)

Country Link
CN (1) CN108846009B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112068976A (zh) * 2019-06-10 2020-12-11 北京京东尚科信息技术有限公司 数据备份存储方法及装置、电子设备和存储介质
CN112578992B (zh) * 2019-09-27 2022-07-22 西安华为技术有限公司 一种数据存储方法和数据存储装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103778255A (zh) * 2014-02-25 2014-05-07 深圳市中博科创信息技术有限公司 一种分布式文件***及其数据分布方法
CN107291594A (zh) * 2017-06-30 2017-10-24 上海白虹软件科技股份有限公司 openstack平台对ceph进行监控和管理的装置及方法
CN107704212A (zh) * 2017-10-31 2018-02-16 紫光华山信息技术有限公司 一种数据处理方法及装置

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10222986B2 (en) * 2015-05-15 2019-03-05 Cisco Technology, Inc. Tenant-level sharding of disks with tenant-specific storage modules to enable policies per tenant in a distributed storage system

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103778255A (zh) * 2014-02-25 2014-05-07 深圳市中博科创信息技术有限公司 一种分布式文件***及其数据分布方法
CN107291594A (zh) * 2017-06-30 2017-10-24 上海白虹软件科技股份有限公司 openstack平台对ceph进行监控和管理的装置及方法
CN107704212A (zh) * 2017-10-31 2018-02-16 紫光华山信息技术有限公司 一种数据处理方法及装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
基于Ceph的分布式存储节能技术研究与实现;沈良好;《中国优秀硕士学位论文全文数据库》;20170315;第3-42页 *

Also Published As

Publication number Publication date
CN108846009A (zh) 2018-11-20

Similar Documents

Publication Publication Date Title
CN108829738B (zh) 一种ceph中数据存储方法及装置
CN108897628B (zh) 一种分布式锁的实现方法、装置及电子设备
CN110113393B (zh) 一种消息推送方法、装置、电子设备及介质
CN108121804B (zh) 跨地域分布式存储数据的方法、装置、终端及存储介质
CN103324713B (zh) 多级服务器中的数据处理方法、装置和数据处理***
CN108846009B (zh) 一种ceph中副本数据存储方法及装置
CN112463058B (zh) 一种碎片数据整理方法、装置及存储节点
CN108804568B (zh) 一种Openstack中副本数据在ceph中存储方法及装置
US20150278543A1 (en) System and Method for Optimizing Storage of File System Access Control Lists
CN112650692A (zh) 堆内存分配方法、装置及存储介质
CN111563115B (zh) 一种分布式数据库中数据分布信息的统计方法及装置
CN111046004B (zh) 一种数据文件存储方法、装置、设备及存储介质
CN114138181A (zh) 一种绑定池放置组选主的方法、装置、设备及可读介质
CN112256691B (zh) 一种数据映射方法、装置及电子设备
CN105389394A (zh) 基于多个数据库集群的数据请求处理方法及装置
CN111078773B (zh) 一种数据处理方法及装置
CN111404828A (zh) 实现全局流控的方法及装置
CN116522844A (zh) 电路划分方法、电路节点电压计算方法、终端及存储介质
CN115687359A (zh) 数据表分区方法及装置、存储介质、计算机设备
CN112000482B (zh) 一种内存管理的方法、装置、电子设备及存储介质
CN113849482A (zh) 一种数据迁移方法、装置及电子设备
CN108984780B (zh) 基于支持重复键值树数据结构管理磁盘数据的方法和装置
CN110058790B (zh) 用于存储数据的方法、设备和计算机程序产品
CN116860180B (zh) 一种分布式存储方法、装置、电子设备及存储介质
CN111884932A (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