附录 G. Object Storage Daemon (OSD) 配置选项

以下是部署期间可以设置的 Ceph Object Storage Daemon(OSD)配置选项。

您可以使用 ceph config set osd CONFIGURATION_OPTION VALUE 命令设置这些配置选项。

osd_uuid
描述
Ceph OSD 的通用唯一识别符(UUID)。
类型
UUID
默认
UUID。
备注
osd uuid 应用到单个 Ceph OSD。fsid 应用到整个集群。
osd_data
描述

OSD 数据路径。在部署 Ceph 时,您必须创建该目录。在此挂载点上挂载 OSD 数据的驱动器。

IMPORTANT: Red Hat does not recommend changing the default.
类型
字符串
默认
/var/lib/ceph/osd/$cluster-$id
osd_max_write_size
描述
以 MB 为单位的最大写入大小。
类型
32 位整数
默认
90
osd_client_message_size_cap
描述
内存中允许的最大客户端数据消息。
类型
64 位 Unsigned 整数
默认
500MB 默认。500*1024L*1024L
osd_class_dir
描述
RADOS 类插件的类路径。
类型
字符串
默认
$libdir/rados-classes
osd_max_scrubs
描述
Ceph OSD 同步清理操作的最大数量。
类型
32 位整数
默认
1
osd_scrub_thread_timeout
描述
刮除线程超时前需要经过的最大时间(以秒为单位)。
类型
32 位整数
默认
60
osd_scrub_finalize_thread_timeout
描述
刮除完成线程超时前需要经过的最大时间(以秒为单位)。
类型
32 位整数
默认
60*10
osd_scrub_begin_hour
描述
这会将清理操作限制为在一天的这个小时或之后进行。使用 osd_scrub_begin_hour = 0osd_scrub_end_hour = 0 以允许清理整个一天。与 osd_scrub_end_hour 一起,它们定义了一个时间窗,在其中执行清理。但是,无论时间窗是否允许,只要放置组的清理间隔超过 osd_scrub_max_interval,就会执行清理。
类型
整数
默认
0
允许的范围
[0,23]
osd_scrub_end_hour
描述
这会将清理限制为比此问题更早的小时。使用 osd_scrub_begin_hour = 0osd_scrub_end_hour = 0 允许在整个一天进行清理。与 osd_scrub_begin_hour 一起,它们定义了一个时间窗,在其中执行清理。但是,无论时间窗是否允许,只要放置组的清理间隔超过 osd_scrub_max_interval,就会执行清理。
类型
整数
默认
0
允许的范围
[0,23]
osd_scrub_load_threshold
描述
最大负载。当系统负载(由 getloadavg() 功能定义)超过这个数值时,Ceph 不会进行刮除。默认为 0.5
类型
浮点值
默认
0.5
osd_scrub_min_interval
描述
当 Red Hat Ceph Storage 集群负载较低时,清理 Ceph OSD 的最小间隔(以秒为单位)。
类型
浮点值
默认
每天一次。60*60*24
osd_scrub_max_interval
描述
清理 Ceph OSD 所需负载时的最长时间(以秒为单位)。
类型
浮点值
默认
每周一次。7*60*60*24
osd_scrub_interval_randomize_ratio
描述
使用这个比率,在 osd scrub min intervalosd scrub max interval 间随机化调度的刮除。
类型
浮点值
默认
0.5.
mon_warn_not_scrubbed
描述
osd_scrub_interval 后的秒数,以警告任何未清理的 PG。
类型
整数
默认
0 (无警告)。
osd_scrub_chunk_min
描述
对象存储被分区为以哈希界限结尾的块。对于块清理,Ceph 每次清理对象的一个块,且会阻止对这个块的写入。osd scrub chunk min 设置表示要清理的最小块数量。
类型
32 位整数
默认
5
osd_scrub_chunk_max
描述
清理的最大块数量。
类型
32 位整数
默认
25
osd_scrub_sleep
描述
深度清理操作之间休眠的时间。
类型
浮点值
默认
0 (或关闭)。
osd_scrub_during_recovery
描述
允许在恢复期间进行清理。
类型
Bool
默认
false
osd_scrub_invalid_stats
描述
强制执行额外的清理,以修复标记为无效统计数据。
类型
Bool
默认
true
osd_scrub_priority
描述
控制清理操作与客户端 I/O 的队列优先级。
类型
Unsigned 32 位整数
默认
5
osd_requested_scrub_priority
描述
在工作队列中为用户请求清理设置的优先级。如果这个值要小于 osd_client_op_priority,可以在清理阻止客户端操作时将其提高到 osd_client_op_priority 的值。
类型
Unsigned 32 位整数
默认
120
osd_scrub_cost
描述
以 MB 为单位清理操作的成本,用于队列调度目的。
类型
Unsigned 32 位整数
默认
52428800
osd_deep_scrub_interval
描述
深度清理的时间间隔,即完全读取所有数据。osd scrub load threshold 参数不会影响此设置。
类型
浮点值
默认
每周一次。60*60*24*7
osd_deep_scrub_stride
描述
在进行深度清理时读取大小。
类型
32 位整数
默认
512 KB.524288
mon_warn_not_deep_scrubbed
描述
osd_deep_scrub_interval 后的秒数,以警告任何未清理的 PG。
类型
整数
默认
0 (无警告)
osd_deep_scrub_randomize_ratio
描述
清理的速率会随机变得深度清理(即使 osd_deep_scrub_interval 已通过)。
类型
浮点值
默认
0.15 或 15%
osd_deep_scrub_update_digest_min_age
描述
在清理更新整个对象摘要前,旧对象需要有多少秒。
类型
整数
默认
7200 (120 小时)
osd_deep_scrub_large_omap_object_key_threshold
描述
当您遇到多个 OMAP 密钥的对象时,会发出警告。
类型
整数
默认
200000
osd_deep_scrub_large_omap_object_value_sum_threshold
描述
当您遇到多个 OMAP 键字节超过这个对象时,会发出警告。
类型
整数
默认
1 G
osd_op_num_shards
描述
客户端操作的分片数量。
类型
32 位整数
默认
0
osd_op_num_threads_per_shard
描述
客户端操作的每个分片的线程数量。
类型
32 位整数
默认
0
osd_op_num_shards_hdd
描述
HDD 操作的分片数量。
类型
32 位整数
默认
5
osd_op_num_threads_per_shard_hdd
描述
每个分片用于 HDD 操作的线程数量。
类型
32 位整数
默认
1
osd_op_num_shards_ssd
描述
SSD 操作的分片数量。
类型
32 位整数
默认
8
osd_op_num_threads_per_shard_ssd
描述
用于 SSD 操作的每个分片的线程数量。
类型
32 位整数
默认
2
osd_client_op_priority
描述
为客户端操作设置的优先级。它相对于 osd recovery op priority
类型
32 位整数
默认
63
有效范围
1-63
osd_recovery_op_priority
描述
恢复操作设置的优先级。它相对于 osd client op priority
类型
32 位整数
默认
3
有效范围
1-63
osd_op_thread_timeout
描述
Ceph OSD 操作线程超时(以秒为单位)。
类型
32 位整数
默认
15
osd_op_complaint_time
描述
在经过指定秒数后,某个操作会变得令人满意。
类型
浮点值
默认
30
osd_disk_threads
描述
用于执行后台磁盘密集型 OSD 操作的磁盘线程数量,如清理和 snap 修剪。
类型
32 位整数
默认
1
osd_op_history_size
描述
要跟踪的最大完成操作数。
类型
32-bit Unsigned 整数
默认
20
osd_op_history_duration
描述
要跟踪的最旧的已完成操作。
类型
32-bit Unsigned 整数
默认
600
osd_op_log_threshold
描述
一次显示多少个操作日志。
类型
32 位整数
默认
5
osd_op_timeout
描述
运行 OSD 操作超时的时间(以秒为单位)。
类型
整数
默认
0
重要

不要设置 osd op timeout 选项,除非您的客户端可以处理后果。例如,在虚拟机中运行的客户端设置此参数可能会导致数据崩溃,因为虚拟机将此超时解释为硬件故障。

osd_max_backfills
描述
允许从一个 OSD 或单个 OSD 允许的最大回填操作数。
类型
64-bit Unsigned 整数
默认
1
osd_backfill_scan_min
描述
每次回填扫描的最小对象数量。
类型
32 位整数
默认
64
osd_backfill_scan_max
描述
每次回填扫描的最大对象数量。
类型
32 位整数
默认
512
osd_backfill_full_ratio
描述
当 Ceph OSD 的全满比率超过这个值时,拒绝接受回填请求。
类型
浮点值
默认
0.85
osd_backfill_retry_interval
描述
在重试回填请求前等待的秒数。
类型
默认
30.000000
osd_map_dedup
描述
启用删除 OSD map 中的重复项。
类型
布尔值
默认
true
osd_map_cache_size
描述
以 MB 为单位的 OSD map 缓存的大小。
类型
32 位整数
默认
50
osd_map_cache_bl_size
描述
OSD 守护进程中的内存中 OSD map 缓存的大小。
类型
32 位整数
默认
50
osd_map_cache_bl_inc_size
描述
内存中 OSD 映射缓存在 OSD 守护进程中递增的大小。
类型
32 位整数
默认
100
osd_map_message_max
描述
每个 MOSDMap 消息允许的最大映射条目。
类型
32 位整数
默认
40
osd_snap_trim_thread_timeout
描述
在超时 snap trim 线程前的最大时间(以秒为单位)。
类型
32 位整数
默认
60*60*1
osd_pg_max_concurrent_snap_trims
描述
并行 snap 修剪/PG 的最大数量。这将控制每个 PG 要一次修剪的对象数量。
类型
32 位整数
默认
2
osd_snap_trim_sleep
描述
在 PG 发布的每个修剪操作之间插入一个 sleep。
类型
32 位整数
默认
0
osd_max_trimming_pgs
描述
修剪 PG 的最大数量
类型
32 位整数
默认
2
osd_backlog_thread_timeout
描述
backlog 线程超时前需要经过的最大时间(以秒为单位)。
类型
32 位整数
默认
60*60*1
osd_default_notify_timeout
描述
OSD 默认通知超时(以秒为单位)。
类型
32 位整数(Unsigned)
默认
30
osd_check_for_log_corruption
描述
检查日志文件是否存在损坏。计算的代价可能会比较高。
类型
布尔值
默认
false
osd_remove_thread_timeout
描述
在超时删除 OSD 线程前的最大时间(以秒为单位)。
类型
32 位整数
默认
60*60
osd_command_thread_timeout
描述
命令线程超时前需要经过的最大时间(以秒为单位)。
类型
32 位整数
默认
10*60
osd_command_max_records
描述
限制丢失对象的数量。
类型
32 位整数
默认
256
osd_auto_upgrade_tmap
描述
在旧对象为 omap 使用 tmap
类型
布尔值
默认
true
osd_tmapput_sets_users_tmap
描述
仅使用 tmap 进行调试。
类型
布尔值
默认
false
osd_preserve_trimmed_log
描述
保留会修剪的日志文件,但会占用更多磁盘空间。
类型
布尔值
默认
false
osd_recovery_delay_start
描述
在对等点完成后,开始恢复对象前,Ceph 延迟指定的秒数。
类型
浮点值
默认
0
osd_recovery_max_active
描述
一次每个 OSD 活跃的恢复请求数。更多请求会加快恢复速度,但请求会增加集群中的负载。
类型
32 位整数
默认
0
osd_recovery_max_chunk
描述
要推送的数据恢复块的最大大小。
类型
64 位 Unsigned 整数
默认
8388608
osd_recovery_threads
描述
恢复数据的线程数量。
类型
32 位整数
默认
1
osd_recovery_thread_timeout
描述
超时恢复线程前的最大时间(以秒为单位)。
类型
32 位整数
默认
30
osd_recover_clone_overlap
描述
在恢复期间保留克隆重叠。应始终设为 true
类型
布尔值
默认
true
rados_osd_op_timeout
描述
RADOS 在从 RADOS 操作返回错误之前等待来自 OSD 的响应的秒数。值为 0 表示没有限制。
类型
默认
0