目的
集群中存在多种性能不一样的磁盘与主机
为了保证 CEPH 集群吞吐与性能可以得到更好的优化
保证了磁盘的数据容量一致的情况下优先使用性能更好的磁盘作出 IO 处理
环境说明
假设1
当前集群环境中混用了 SSD 与 SATA 磁盘
假设2
当前具有一批大小一样的 SATA 磁盘
其中 OSD.0 已经使用了 2 年
其他 OSD 磁盘都是新采购, 性能会比 OSD.0 更加好
总结
CEPH 会认为每个磁盘能力一样
会平均每个磁盘的 IO 能力(primary affinity)与存储空间能力(weight)
primary affinity 参数可以在不改变磁盘存储能力的情况下, 降低在 CEPH 集群使用过程中对该 osd 的认购 primary pg 能力
参考下图
从上图看出来, priamry osd 在每次 peering 时, 都会比 secondary osd 具有更多的 IO
性能
改变 primary affinity 的值, 我们可以减少某个 OSD 中 primary pg 认购