愛在花開的季節 发表于 2024-9-7 04:44:28

ceph中pg与pool关系

在Ceph中,PG(Placement Group)和Pool是非常告急的概念,它们在Ceph的存储架构中扮演着关键角色。理解这些概念有助于更好地管理和优化Ceph集群。下面详细介绍这两个概念及其相互关系。
   Pool(存储池)


[*] 定义:

[*]Pool(存储池)是Ceph中逻辑上的存储单位,用于组织和管理数据。
[*]用户可以通过创建不同的Pool来为不同的应用步伐或用途分配存储空间。

[*] 类型:

[*]Pool可以是replicated(复制型)或erasure-coded(纠删码型)。

[*]复制型 Pool:数据被复制多份(通常为2或3份),分布在不同的OSD上,以提高数据的可靠性和可用性。
[*]纠删码型 Pool:数据被分割成多个数据块和校验块,分布在不同的OSD上,通过校验块来恢复数据,节流存储空间。


[*] 配置参数:

[*]大小:size表现一个对象必要多少个副本,默认为2或3。
[*]最小大小:min_size表现读取时所需的最少副本数。
[*]最大大小:max_size表现写入时的最大副本数。
[*]CRUSH 规则:crush_rule用于定义数据放置的计谋。

Placement Group(PG)


[*] 定义:

[*]PG(Placement Group)是Ceph中物理上的数据分布单位,用于将数据分散到不同的OSD上。
[*]每个Pool由多个PG构成,每个PG负责一部门数据的管理和存储。

[*] 目的:

[*]PG的作用是将数据均匀分布到集群中的OSD上,以实现负载均衡和提高性能。
[*]PG的数量影响数据的分布和性能,通常发起根据集群规模和工作负载来调整PG的数量。

[*] 配置参数:

[*]数量:pg_num表现一个Pool中的PG数量。
[*]目标数量:target_pg_num表现Pool的目标PG数量,用于调整PG的数量。

PG与Pool的关系


[*] 数据分布:

[*]每个Pool由多个PG构成,每个PG负责一部门数据的管理和存储。
[*]数据被分散到不同的PG中,每个PG又分布在不同的OSD上。

[*] 负载均衡:

[*]通过调整PG的数量,可以实现数据的均匀分布和负载均衡。
[*]更多的PG意味着更细粒度的数据分布,但也可能导致更高的元数据开销。

[*] 性能优化:

[*]增长PG的数量可以提高I/O性能,由于更多的并发操作可以在不同的PG上举行。
[*]但是,过多的PG也会增长元数据管理的复杂性和开销。

示例配置

假设你有一个Ceph集群,而且想要创建一个新的存储池,以下是具体的配置步调:
创建复制型 Pool

1# 创建名为"my-replicated-pool"的复制型Pool
2ceph osd pool create my-replicated-pool 128 128
3
4# 设置Pool的大小为3(即3个副本)
5ceph osd pool set my-replicated-pool size 3
6
7# 设置Pool的最小大小为2(即至少需要2个副本才能读取)
8ceph osd pool set my-replicated-pool min_size 2创建纠删码型 Pool

1# 创建名为"my-erasure-pool"的纠删码型Pool
2ceph osd pool create my-erasure-pool 128 128 erasure my-erasure-code-profile
3
4# 设置纠删码配置文件
5ceph osd erasure-code-profile set my-erasure-code-profile k=2 m=1在这里,128表现Pool中的PG数量,可以根据集群的现实规模和工作负载举行调整。
总结



[*]Pool 是Ceph中的逻辑存储单位,用于组织和管理数据。
[*]PG 是Ceph中的物理数据分布单位,用于将数据均匀分散到不同的OSD上。
[*]通过合理配置Pool和PG的数量,可以实现数据的均匀分布、负载均衡和性能优化。
[*]Pool可以是复制型或纠删码型,根据不同的需求选择合适的类型。
 ceph监控页面示例图:https://i-blog.csdnimg.cn/direct/c9b8b6f0bc35431fa0226d752d5d819e.png

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页: [1]
查看完整版本: ceph中pg与pool关系