1. OSD 如何选择伙伴 OSD? 选择与当前 OSD 所在处的 PG 的 OSD 表中,其他处于 Up + Activing 的 OSD 选择在编号上与当前 OSD 临近(前一个以及后一个)处于 Up + Activing 的 OSD 如果OSD 的心跳伙伴 OSD 个数小于预期(一般为10个),则依次原则在编号上与当前 OSD 临近且处于 Up + Activing 的 OSD,...
PG是Ceph中数据的逻辑单元,用于分布数据和处理数据的复制和恢复。PG的数量和分布对于Ceph的性能和可靠性至关重要。而OSD是负责实际数据存储和处理的单元,每个OSD都会存储一部分数据块,并根据需要处理数据的读写请求。 PG和OSD之间的关系可以理解为PG是逻辑上的数据分发单位,而OSD是实际的数据存储和处理单位。在Ceph中...
总的来说,OSD和PG是Ceph中非常重要的概念,它们在实现数据存储、分布和负载均衡方面起着至关重要的作用。通过合理地使用OSD和PG,并结合Ceph提供的数据复制和恢复机制,用户可以在Ceph集群中构建高性能、高可用性的存储系统,满足各种数据存储和处理的需求。在未来的发展中,Ceph还会继续完善和优化OSD和PG的功能,为用户提供...
osd.19 upinweight 1 up_from 289 up_thru 289 down_at 276 last_clean_interval [179,288) [v2:10.0.0.59:6816/1465,v1:10.0.0.59:6817/1465] [v2:192.168.10.59:6812/2001465,v1:192.168.10.59:6813/2001465] exists,up 218b659a-0082-4760-8997-419d4b4b11c2 pg_upmap_items 4.6 [7,5] pg_...
ceph创建存储池需要pg数和pgp数的两个参数,在前面我们介绍了ceph的pg,那么pgp和pg有什么关系呢? PG(Placement Group),pg是一个虚拟的概念,用于存放object,PGP(Placement Group for Placement purpose),相当于是pg存放的一种osd排列组合。举个例子:假设集群有3个osd,即osd1,osd2,osd3,副本数为2,如果pgp=1,那...
PG temp:Peering过程中,如果当前interval通过CRUSH计算得到的Up Set不合理,那么可以通知OSD Monitor设置PG temp来显示的指定一些仍然具有相对完备PG信息的OSD加入Acting set,在Ceph 正在往主 OSD 回填数据时,这个主OSD是不能提供数据服务的,使得Acting set中的OSD在完成Peering之后能够临时处理客户端发起的读写请求,以尽...
ceph中pg代表数据分布,默认已经开启了自动调整, 很多情况下需要手动调整pg数量,设置ceph的pg或pgp数量(自动调整或手动调整): ###查看pg自动调整是否开启:ceph osd pool autoscale-status###查看单个pool的pg自动调整状态:ceph osd pool get testpool1 pg_autoscale_mode###将testpool1的pg自动调整关闭:ceph osd...
PGMap 是由 Monitor 维护的所有 PG 的状态,每个 OSD 都会掌握自己所拥有的 PG 状态,PG 迁移需要 Monitor 作出决定然后反映到 PGMap 上,相关 OSD 会得到通知去改变其 PG 状态。在一个新的 OSD 启动并加入 OSDMap 后,Monitor 会通知这个OSD需要创建和维护的 PG ,当存在多个副本时,PG 的 Primary OSD 会主动...
PGMap 是由 Monitor 维护的所有 PG 的状态,每个 OSD 都会掌握自己所拥有的 PG 状态,PG 迁移需要 Monitor 作出决定然后反映到 PGMap 上,相关 OSD 会得到通知去改变其 PG 状态。在一个新的 OSD 启动并加入 OSDMap 后,Monitor 会通知这个OSD需要创建和维护的 PG ,当存在多个副本时,PG 的 Primary OSD 会主动...
例如,如果3副本存储池中只有3个PG,而Ceph 集群有N个OSD,则ceph 只使用3个OSD来存储数据,因为CRUSH别无选择,只能使用唯一的PG。当有更多的PG可用时,CRUSH 有可能在OSD上均匀分布数据。 OSD 与放置组数量的比例调整也不能完全解决数据分布不均匀的问题,因为CRUSH 没有考虑到对象的大小。例如,在10个OSD上的1000个...