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都为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 |
参考&鸣谢