ceph (luminous 版) primary affinity 管理

本文旨在优化Ceph Luminous集群,确保在混合使用不同性能磁盘的环境下,IO处理优先发生在高性能磁盘上。通过调整primary affinity参数,可以在不改变磁盘存储能力的情况下,减少低性能OSD的primary PG,从而提高集群整体吞吐和性能。文中详细介绍了查询、修改和验证primary affinity的方法。

目的

集群中存在多种性能不一样的磁盘与主机
为了保证 CEPH 集群吞吐与性能可以得到更好的优化
保证了磁盘的数据容量一致的情况下优先使用性能更好的磁盘作出 IO 处理

环境说明

假设1

当前集群环境中混用了 SSD 与 SATA 磁盘

假设2

当前具有一批大小一样的 SATA 磁盘
其中 OSD.0 已经使用了 2 年
其他 OSD 磁盘都是新采购, 性能会比 OSD.0 更加好

总结

CEPH 会认为每个磁盘能力一样
会平均每个磁盘的 IO 能力(primary affinity)与存储空间能力(weight)
primary affinity 参数可以在不改变磁盘存储能力的情况下, 降低在 CEPH 集群使用过程中对该 osd 的认购 primary pg 能力

参考下图
primaryosd

从上图看出来, priamry osd 在每次 peering 时, 都会比 secondary osd 具有更多的 IO

性能

改变 primary affinity 的值, 我们可以减少某个 OSD 中 primary pg 认购

修改方法

配置文件修改

/etc/ceph/ceph.conf

[mon]
mon osd allow primary affinity = true

手动修改

查询

[root@cephsvr-128040 ~]# ceph daemon /var/run/ceph/ceph-mon.$(hostname -s).asok config show | grep primary
		"mon_osd_allow_primary_affinity": "false",

修改

[root@cephsvr-128040 ~]# ceph tell mon.\* injectargs '--mon_osd_allow_primary_affinity=true'
mon.cephsvr-128040: injectargs:mon_osd_allow_primary_affinity = 'true' (not observed, change may require restart)
mon.cephsvr-128214: injectargs:mon_osd_allow_primary_affinity = 'true' (not observed, change may require restart)
mon.cephsvr-128215: injectargs:mon_osd_allow_primary_affinity = 'true' (not observed, change may require restart)

验证

[root@cephsvr-128040 ~]# ceph daemon /var/run/ceph/ceph-mon.$(hostname -s).asok config show | grep primary
		"mon_osd_allow_primary_affinity": "true",

修改 primary affinity

验证当前 osd.0 中 pg primary 个数

[root@cephsvr-128040 ~]# ceph pg dump | grep active+clean | egrep "\[0," | wc -l
dumped all
75

修改 parimary affinity

[root@cephsvr-128040 ~]# ceph osd primary-affinity osd.0 0.5
set osd.0 primary-affinity to 0.5 (8327682)

验证修改后 osd.0 中 pg primary 个数

[root@cephsvr-128040 ~]# ceph pg dump | grep active+clean | egrep "\[0," | wc -l
dumped all
69

ceph 验证方法

参考下面命令

[root@cephsvr-128040 ~]# ceph osd tree | more
ID  CLASS WEIGHT    TYPE NAME                   STATUS REWEIGHT PRI-AFF
 -1       216.00000 root default
-10        72.00000     rack racka07
 -3        72.00000         host cephsvr-128214
 12   hdd   6.00000             osd.12              up  1.00000 1.00000
 13   hdd   6.00000             osd.13              up  1.00000 1.00000
 14   hdd   6.00000             osd.14              up  1.00000 1.00000
 15   hdd   6.00000             osd.15              up  1.00000 1.00000
 16   hdd   6.00000             osd.16              up  1.00000 1.00000
 17   hdd   6.00000             osd.17              up  1.00000 1.00000
 18   hdd   6.00000             osd.18              up  1.00000 1.00000
 19   hdd   6.00000             osd.19              up  1.00000 1.00000
 20   hdd   6.00000             osd.20              up  1.00000 1.00000
 21   hdd   6.00000             osd.21              up  1.00000 1.00000
 22   hdd   6.00000             osd.22              up  1.00000 1.00000
 23   hdd   6.00000             osd.23              up  1.00000 1.00000
 -9        72.00000     rack racka12
 -2        72.00000         host cephsvr-128040
	0   hdd   6.00000             osd.0               up  1.00000 0.50000    <- 这里
	1   hdd   6.00000             osd.1               up  1.00000 1.00000
	2   hdd   6.00000             osd.2               up  1.00000 1.00000
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Terry_Tsang

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值