Ceph集群OSD节点配置优化

OSD配置优化

Filestore

参数名 描述 默认值 推荐值
filestore max sync interval 从日志到数据盘最大同步间隔(秒) 5 15
filestore min sync interval 从日志到数据盘最小同步间隔(秒) 0.1 10
filestore queue max ops 最大未完成io数 50 25000
filestore queue max bytes 最大未完成io字节数(B) 100 << 20 10 << 20
filestore queue committing max ops 数据盘能够commit的操作数 500 5000
filestore queue committing max bytes 数据盘能够commit的最大字节数(B) 100 << 20 1000 << 20
filestore op threads 并发文件系统操作线程数 2 32
filestore fd cache size 对象文件句柄缓存大小 128 8192
filestore wbthrottle_xfs_bytes_start_flusher xfs文件系统开始执行回刷的脏数据 41943040 90 << 20
filestore wbthrottle_xfs_bytes_hard_limit xfs文件系统允许的最大脏数据 419430400 500 << 20

Journal

参数名 描述 默认值 推荐值
osd journal size OSD 日志大小(MB) 5120 20000
journal max write bytes 日志一次异步io的最大字节数(B) 10 << 20 1 << 30
journal max write entries 日志一次异步io的最大记录数 100 10000

Recovery

None

PG

PGs = (Total_number_of_OSD * 100) / max_replication_count
如果有15个OSD,副本数为3,根据公式计算PGs为500,最接近512,所以需要设置该pool的pg_numpgp_num都为512

1
2
ceph osd pool set {pool name} pg_num 512
ceph osd pool set {pool name} pgp_num 512

CRUSH Map

Todo…

Client

参数名 描述 默认值 推荐值
objecter inflight ops 客户端允许的最大未发送io请求数 1024 1 << 20
objecter inflight op bytes 客户端允许的最大未发送脏数据 100 << 20 10 << 30

Other

参数名 描述 默认值 推荐值
osd max write size OSD一次可写入的最大值(MB) 90 512
osd client message size 客户端允许在内存中的最大数据(B) 500 << 20 2 << 30
osd deep scrub stride 在Deep Scrub时允许读取的字节数(B) 512 << 10 128 << 10
osd op threads OSD进程操作的线程数 2 8
osd disk threads OSD恢复和Scrubbing时的线程数 1 4
osd map cache size OSD Map 的缓存(MB) 200 1024
ms_dispatch_throttle_bytes 控制DispatcherQueue队列深度大小 100 << 20 1 << 30

参考&鸣谢