ceph_conf_overrides:
global:
max_open_files: 131072
osd:
# osd_memory_target: 4294967296
#每个OSD进程能申请到的内存大小
osd_pool_default_min size: 1
#个PG能接受IO的最小副本数
osd_journal_size: 20000
#osd journal大小
osd_max_write_size: 512
# OSD一次可写入的最大值
osd_client_message_size_cap: 2147483648
#客户端允许在内存中的最大数据(bytes)
osd_deep_scrub_stride: 131072
#在Deep Scrub时候允许读取的字节数(bytes)。
osd_op_threads: 16
#并发文件系统操作数
osd_disk_threads: 4
#OSD密集型操作例如恢复和Scrubbing时的线程
osd_map_cache_size: 1024
#保留OSD Map的缓存(MB)
osd_map_cache_bl_size: 128
#OSD进程在内存中的OSDMap缓存(MB)
osd_recovery_op_priority: 2
#恢复操作优先级,取值1-63,值越高占用资源越高
osd_recovery_max_active: 10
#同一时间内活跃的恢复请求数
osd_max_backfills: 4
#一个OSD允许的最大backfills数。
osd_min_pg_log_entries: 30000
#修建PGLog是保留的最小PGLog数
osd_max_pg_log_entries: 100000
#修建PGLog是保留的最大PGLog数
osd_mon_heartbeat_interval: 40
# 默认值30s,OSD ping一个monitor的时间间隔
ms_dispatch_throttle_bytes: 1048576000
# 默认值104857600,等待派遣的最大消息数(bytes)
objecter_inflight_ops: 819200
# 默认值1024,客户端流控,允许的最大未发送io请求数,超过阀值会堵塞应用io,为0表示不受限
osd_op_log_threshold: 50
# 默认值5,一次显示多少操作的log
osd_crush_chooseleaf_type: 0
# 默认值为1,CRUSH规则用到chooseleaf时的bucket的类型,0 表示让数据尽量散列
osd_recovery_max_single_start: 1
# OSD在某个时刻会为一个PG启动恢复操作数。
# 和osd_recovery_max_active一起使用,假设我们配置osd_recovery_max_single_start为1,osd_recovery_max_active为10,
# 那么,这意味着OSD在某个时刻会为一个PG启动一个恢复操作,而且最多可以有10个恢复操作同时处于活动状态。
osd_recovery_max_chunk: 1048576
# 默认为8388608, 设置恢复数据块的大小,以防网络阻塞
osd_recovery_threads: 10
# 恢复数据所需的线程数
osd_recovery_sleep: 0
# 默认为0,recovery的时间间隔,会影响recovery时长,如果recovery导致业务不正常,可以调大该值,增加时间间隔
# 通过sleep的控制可以大大的降低迁移磁盘的占用,对于本身磁盘性能不太好的硬件环境下,可以用这个参数进行一下控制,能够缓解磁盘压力过大引起的osd崩溃的情况
# 参考值: sleep=0;sleep=0.1;sleep=0.2;sleep=0.5
osd_crush_update_on_start: true
# 默认true。false时,新加的osd会up/in,但并不会更新crushmap,prepare+active期间不会导致数据迁移
osd_op_thread_suicide_timeout: 600
# 防止osd线程操作超时导致自杀,默认150秒,这在集群比较卡的时候很有用
osd_op_thread_timeout: 300
# osd线程操作超时时间,默认15秒
osd_recovery_thread_timeout: 300
# osd恢复线程超时时间,默认30秒
osd_recovery_thread_suicide_timeout: 600
# 防止osd恢复线程超时导致自杀,默认300秒,在集群比较卡的时候也很有用
osd_scrub_begin_hour: 0
# 开始scrub的时间(含deep-scrub),为每天0点
osd_scrub_end_hour: 8
# 结束scrub的时间(含deep-scrub),为每天8点,这样将deep-scrub操作尽量移到夜间相对client io低峰的时段,避免影响正常client io
osd_max_markdown_count: 10
# 当osd执行缓慢而和集群失去心跳响应时,可能会被集群标记为down(假down),默认为5次,超过此次数osd会自杀,必要时候可设置osd nodown来避免这种行为
mon:
mon_clock_drift_allowed: 1
# monitor间的clock drift
mon_osd_min_down_reporters: 13
# 向monitor报告down的最小OSD数
mon_osd_down_out_interval: 600
# 标记一个OSD状态为down和out之前Ceph等待的秒数。
client:
rbd_cache_enabled: true
# 默认值 true,RBD缓存
rbd_cache_size: 335544320
# 默认值33554432,RBD能使用的最大缓存大小(bytes)
rbd_cache_max_dirty: 235544320
# 默认值25165824,缓存为write-back时允许的最大dirty(脏)字节数(bytes),不能超过 rbd_cache_size,如果为0,使用write-through
rbd_cache_target_dirty: 134217728
# 默认值16777216,开始执行回写过程的脏数据大小,不能超过rbd_cache_max_dirty
rbd_cache_max_dirty_age: 30
# # 默认值1,在被刷新到存储盘前dirty数据存在缓存的时间(seconds),避免可能的脏数据因为迟迟未达到开始回写的要求而长时间存在
rbd_cache_writethrough_until_flush: false
# # 默认值true,该选项是为了兼容linux-2.6.32之前的virtio驱动,避免因为不发送flush请求,数据不回写。
# # 设置该参数后,librbd会以writethrough的方式执行io,直到收到第一个flush请求,才切换为writeback方式。
rbd_cache_max_dirty_object: 2
# # 默认值0,最大的Object对象数,默认为0,表示通过rbd cache size计算得到,librbd默认以4MB为单位对磁盘Image进行逻辑切分。
# # 每个chunk对象抽象为一个Object;librbd中以Object为单位来管理缓存,增大该值可以提升性能。
ceph参数调优,for ceph-ansible配置
最新推荐文章于 2024-09-26 23:10:48 发布