基于数据库的PG副本均衡方法、装置、设备及存储介质与流程

文档序号:37672639发布日期:2024-04-18 20:45阅读:16来源:国知局
基于数据库的PG副本均衡方法、装置、设备及存储介质与流程

本技术涉及分布式数据存储,尤其涉及一种基于数据库的pg副本均衡方法、装置、设备及存储介质。


背景技术:

1、分布式存储系统(distributed file system,dfs)是一种能够将大量数据分散存储在不同物理节点上的存储系统,pg(placement group,放置组)是数据存储的最小逻辑单元。pg副本是pg中的数据副本,在一个分布式存储系统中存在一定数量的pg副本,这些pg副本会被分布在多个osd(object storage device,对象存储设备)上。logger三副本存储模式是一种基于分布式存储系统的数据存储模式,在logger三副本存储模式中,pg副本包括主副本、从副本和日志副本,同一个pg的三个副本分别存储在不同的物理节点上,用于实现数据的冗余和容错性,当一个物理节点发生故障时,数据仍然可以从另外两个物理节点的副本中恢复。

2、相关技术中,分布式存储系统通过伪随机(controlled replication underscalable hashing,crush)算法把所有pg副本放置在不同物理节点的osd上,实现存储系统数据的整体基本均衡,但实际每种副本角色的数量在osd上的分布并不均衡,主副本角色数量多的osd读写命中率高,反之,osd读写命中率低,读写命中率低的osd成为整个分布式存储系统的性能瓶颈。尤其在logger三副本存储模式中,因为多了新的副本角色日志副本,在保证物理节点间主副本均衡分布的情况下,无法保证日志副本的均衡分布,导致一些物理节点的osd利用率低,不能充分发挥分布式存储系统的性能。因此,如何在logger三副本存储模式下,实现物理节点间pg副本的均衡分布,提高分布式存储系统的性能,成为了亟待解决的技术问题。


技术实现思路

1、本技术实施例的主要目的在于提出一种基于数据库的pg副本均衡方法、装置、设备及存储介质,旨在实现物理节点间pg副本的均衡分布,提高分布式存储系统的性能。

2、为实现上述目的,本技术实施例的第一方面提出了一种基于数据库的pg副本均衡方法,所述方法包括:

3、获取所有物理节点上对象存储设备的存储设备数量和pg副本的pg副本数量;

4、根据所述存储设备数量和所述pg副本数量,将所述pg副本平均分配到每个所述对象存储设备上;其中,所述pg副本的角色包括主副本、从副本和日志副本;

5、获取所述对象存储设备分配的所述pg副本的数量,得到建议pg副本数量;

6、根据所述存储设备数量、所述建议pg副本数量和预设的节点均衡映射表,确定每个所述对象存储设备上的建议日志副本数量、建议主副本数量和建议从副本数量;其中,所述节点均衡映射表包括不同存储设备数量下,每一所述建议pg副本数量和建议日志副本数量、建议主副本数量和建议从副本数量之间的映射关系;

7、根据每个所述对象存储设备上所述建议日志副本数量、所述建议主副本数量和所述建议从副本数量,将每个所述对象存储设备上所述pg副本的角色进行切换。

8、在一些实施例,所述根据所述存储设备数量、所述建议pg副本数量和预设的节点均衡映射表,确定每个所述对象存储设备上的建议日志副本数量、建议主副本数量和建议从副本数量,包括:

9、根据所述存储设备数量在所述节点均衡映射表进行存储设备数量查找,得到所述节点均衡映射表中所述存储设备数量下的每一建议pg副本数量;

10、根据所述建议pg副本数量,在所述节点均衡映射表中所述存储设备数量下的每一建议pg副本数量进行建议pg副本数量查找,得到所述建议pg副本数量对应的所述对象存储设备上的建议日志副本数量、建议主副本数量和建议从副本数量。

11、在一些实施例,所述根据每个所述对象存储设备上所述建议日志副本数量、所述建议主副本数量和所述建议从副本数量,将每个所述对象存储设备上所述pg副本的角色进行切换,包括:

12、根据每个所述对象存储设备上所述建议日志副本数量、所述建议主副本数量和所述建议从副本数量,构建建议pg映射视图;

13、根据所述建议pg映射视图,将每个所述对象存储设备上所述pg副本的角色进行切换。

14、在一些实施例,所述根据每个所述对象存储设备上所述建议日志副本数量、所述建议主副本数量和所述建议从副本数量,将每个所述对象存储设备上所述pg副本的角色进行切换之后,所述方法还包括:

15、接收节点变更信息;

16、根据所述节点变更信息获取变更后的所述对象存储设备的数量,得到更新设备数量;

17、根据所述更新设备数量和所述pg副本数量将所述pg副本平均分配到每个所述对象存储设备上;

18、获取所述对象存储设备分配的所述pg副本的数量,得到更新pg副本数量;

19、根据所述更新设备数量、所述更新pg副本数量和所述节点均衡映射表,确定每个所述对象存储设备上的更新日志副本数量、更新主副本数量和更新从副本数量;

20、根据每个所述对象存储设备上所述更新日志副本数量、所述更新主副本数量和所述更新从副本数量,构建更新pg映射视图;

21、根据所述更新pg映射视图,将每个所述对象存储设备上pg副本的角色进行切换。

22、在一些实施例,所述方法还包括:

23、获得源对象存储设备和目标对象存储设备;其中,所述源对象存储设备为存在迁移pg副本的对象存储设备,所述目标对象存储设备为接收所述迁移pg副的对象存储设备;

24、在所述源对象存储设备中对所述迁移pg副本进行备份,得到备份pg副本;

25、将所述迁移pg副本发送至所述目标对象存储设备;

26、在所述目标对象存储设备接收到所述迁移pg副本后,删除所述备份pg副本。

27、在一些实施例,所述根据每个所述对象存储设备上所述建议日志副本数量、所述建议主副本数量和所述建议从副本数量,构建建议pg映射视图之后,所述方法还包括:

28、从每个所述物理节点的线程中选出主线程,通过所述主线程获取所述建议pg映射视图,并根据所述建议pg映射视图,依次选择当前物理节点对应的pg副本标识信息,将所述pg副本标识信息分配给对应角色数量最少的从线程;其中,每个所述物理节点包括一个所述主线程和至少一个所述从线程;

29、通过所述主线程获取所述pg副本标识信息和所述从线程的分布视图;其中,所述分布视图包括每一所述从线程和所述pg副本标识信息的映射关系;

30、通过所述主线程和所述分布视图检测每个所述物理节点的从线程是否满足预设的线程均衡标准;其中,所述线程均衡标准为每个所述物理节点的从线程间pg副本数量、主副本数量和日志副本数量的差值都不超过预设值;

31、若所述物理节点的从线程不满足所述线程均衡标准,通过所述主线程和所述线程均衡标准对所述物理节点上的从线程进行pg副本标识信息迁移。

32、在一些实施例,若所述物理节点的从线程不满足所述线程均衡标准,通过所述主线程和所述线程均衡标准对所述物理节点上的所有从线程进行pg副本标识信息迁移,包括:

33、遍历所述物理节点上的所有所述从线程,将所述主副本数量最多的线程,记为第一从线程,将所述主副本数量最少的线程,记为第二从线程,将所述日志副本数量最多的线程,记为第三从线程,将所述日志副本数量最少的线程,记为第四从线程,将所述pg副本数量最多的线程,记为第五从线程,将所述pg副本数量最少的线程,记为第六从线程;

34、若所述第一从线程的主副本数量和所述第二从线程的主副本数量的差超过预设值,通过所述主线程将所述第一从线程的一个主副本标识信息迁移到所述第二从线程,直到所述第一从线程的主副本数量和所述第二从线程的主副本数量的差不超过预设值;

35、若所述第三从线程的日志副本数量和所述第四从线程的日志副本数量的差超过预设值,通过所述主线程将所述第三从线程的一个日志副本标识信息迁移到所述第四从线程,直到所述第三从线程的日志副本数量和所述第四从线程的日志副本数量的差不超过预设值;

36、若所述第五从线程的pg副本数量和所述第六从线程的pg副本数量的差超过预设值,通过所述主线程将所述第五从线程的一个从副本标识信息迁移到所述第六从线程,直到所述第五从线程的pg副本数量和所述第六从线程的pg副本数量的差不超过预设值。

37、为实现上述目的,本技术实施例的第二方面提出了一种基于数据库的pg副本均衡装置,所述装置包括:

38、第一获取模块,用于获取所有物理节点上对象存储设备的存储设备数量和pg副本的pg副本数量;

39、分配模块,用于根据所述存储设备数量和所述pg副本数量,将所述pg副本平均分配到每个所述对象存储设备上;其中,所述pg副本的角色包括主副本、从副本和日志副本;

40、第二获取模块,用于获取所述对象存储设备分配的所述pg副本的数量,得到建议pg副本数量;

41、建议模块,用于根据所述存储设备数量、所述建议pg副本数量和预设的节点均衡映射表,确定每个所述对象存储设备上的建议日志副本数量、建议主副本数量和建议从副本数量;其中,所述节点均衡映射表包括不同存储设备数量下,每一所述建议pg副本数量和建议日志副本数量、建议主副本数量之间的映射关系;

42、切换模块,用于根据每个所述对象存储设备上所述建议日志副本数量、所述建议主副本数量和所述建议从副本数量,将每个所述对象存储设备上所述pg副本的角色进行切换。

43、为实现上述目的,本技术实施例的第三方面提出了一种电子设备,所述电子设备包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述第一方面所述的方法。

44、为实现上述目的,本技术实施例的第四方面提出了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述第一方面所述的方法。

45、本技术提出的基于数据库的pg副本均衡方法、装置、设备及存储介质将所有pg副本平均分配到每个对象存储设备上,获取对象存储设备分配的pg副本数量,得到建议pg副本数量,根据存储设备数量、建议pg副本数量和节点均衡映射表,确定每个对象存储设备上的建议日志副本数量、建议主副本数量和建议从副本数量,再根据每个对象存储设备上建议日志副本数量、建议主副本数量和建议从副本数量,将每个对象存储设备上pg副本的角色进行切换。由于将pg副本平均分配到每个对象存储设备上时,每个对象存储设备上pg副本的分布并不均衡,通过预先设置节点均衡映射表,且节点均衡映射表存储有不同存储设备数量下,每一建议pg副本数量和建议日志副本数量、建议主副本数量和建议从副本数量之间的映射关系,进而能够通过获得建议日志副本数量、建议主副本数量和建议从副本数量,将每个对象存储设备上pg副本的角色进行切换,实现物理节点间pg副本的均衡分布,提高分布式存储系统的性能。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1