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_num
和pgp_num
都为5121
2ceph 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 |