注意
本文档适用于 Ceph 的开发版本。
MDS 配置参考
- mds_cache_mid
缓存 LRU(从顶部开始)中新项目的插入点。
- 类型:
float- 默认值:
0.7
- mds_allow_batched_ops
MDS 会尽可能对同一 inode 上的查找或 getattr RPC 进行批处理,以避免对元数据的重复锁定并绕过获取写锁的其他请求。通常,这只会提高性能,但此开关的存在是为了提供一种关闭此行为进行比较的方法。
- 类型:
bool- 默认值:
true
- mds_dir_max_commit_size
在 MDS 将目录更新拆分为更小的事务(MB)之前,目录更新的最大大小。
- 类型:
int- 默认值:
10
- mds_dir_max_entries
在任何新条目被 ENOSPC 拒绝之前,最大条目数。
- 类型:
uint- 默认值:
0
- mds_decay_halflife
用于平衡的每个目录温度计数器的衰减率
- 类型:
float- 默认值:
5.0
- mds_beacon_interval
MDS 发送给 Monitor 的信标消息之间的时间间隔(以秒为单位)
- 类型:
float- 默认值:
4.0
- mds_beacon_grace
Ceph 宣布 MDS 滞后(并可能替换它)之前没有信标的时间间隔。
- 类型:
float- 默认值:
15.0
- mon_mds_blocklist_interval
OSD map 中失败 MDS 的 blocklist 持续时间。请注意,这控制了失败的 MDS 守护程序将在 OSDMap blocklist 中停留多长时间。它对管理员手动 blocklist 某些内容时 blocklist 持续时间没有影响。例如,
ceph osd blocklist add仍将使用默认的 blocklist 时间。- 类型:
float- 默认值:
1 day- min:
1_hr
- mds_reconnect_timeout
在 MDS 重新连接恢复状态期间等待客户端重新连接的超时时间(以秒为单位)
- 类型:
float- 默认值:
45.0
- mds_tick_interval
MDS 执行内部周期性任务的频率。
- 类型:
float- 默认值:
5.0
- mds_dirstat_min_interval
尝试避免将递归统计信息传播到树上的最小间隔(以秒为单位)。
- 类型:
float- 默认值:
1.0
- mds_scatter_nudge_interval
dirstat 更改传播的速度有多快。
- 类型:
float- 默认值:
5.0
- mds_client_prealloc_inos
每个客户端会话要预分配的 inode 数量。
- 类型:
int- 默认值:
1000
- mds_early_reply
确定 MDS 是否允许客户端在请求提交到日志之前查看请求结果。
- 类型:
bool- 默认值:
true
- mds_default_dir_hash
用于跨目录片段对文件进行哈希处理的函数。
- 类型:
int- 默认值:
2
- mds_log_skip_corrupt_events
确定 MDS 是否应在日志重放期间尝试跳过损坏的日志事件。
- 类型:
bool- 默认值:
false
- mds_bal_sample_interval
确定对目录温度进行采样的频率(用于分片决策)。
- 类型:
float- 默认值:
3.0
- mds_bal_replicate_threshold
在 Ceph 尝试将元数据复制到其他节点之前,最低温度。
- 类型:
float- 默认值:
8000.0
- mds_bal_unreplicate_threshold
在 Ceph 停止将元数据复制到其他节点之前,最低温度。
- 类型:
float- 默认值:
0.0
- mds_bal_split_size
MDS 将目录片段拆分为更小的位之前,最大目录大小。
- 类型:
int- 默认值:
10000
- mds_bal_split_rd
在 Ceph 拆分目录片段之前,最大目录读取温度。
- 类型:
float- 默认值:
25000.0
- mds_bal_split_wr
在 Ceph 拆分目录片段之前,最大目录写入温度。
- 类型:
float- 默认值:
10000.0
- mds_bal_split_bits
拆分目录片段的位数。
- 类型:
int- 默认值:
3- 允许范围:
[1, 24]
- mds_bal_merge_size
在 Ceph 尝试合并相邻目录片段之前,最小目录大小。
- 类型:
int- 默认值:
50
- mds_bal_interval
MDS 之间工作负载交换的频率(以秒为单位)。
- 类型:
int- 默认值:
10
- mds_bal_fragment_interval
片段有资格进行拆分或合并与执行分片更改之间的延迟(以秒为单位)。
- 类型:
int- 默认值:
5
- mds_bal_fragment_fast_factor
片段超过拆分大小的比例,在此比例之前立即执行拆分(跳过片段间隔)
- 类型:
float- 默认值:
1.5
- mds_bal_fragment_size_max
在任何新条目被 ENOSPC 拒绝之前,片段的最大大小。
- 类型:
int- 默认值:
100000
- mds_bal_idle_threshold
在 Ceph 将子树迁移回其父级之前,最低温度。
- 类型:
float- 默认值:
0.0
- mds_bal_max
在 Ceph 停止之前运行平衡器的迭代次数。(仅用于测试目的)
- 类型:
int- 默认值:
-1
- mds_bal_max_until
在 Ceph 停止之前运行平衡器的秒数。(仅用于测试目的)
- 类型:
int- 默认值:
-1
- mds_bal_mode
计算 MDS 负载的方法。
0= 混合。1= 请求速率和延迟。2= CPU 负载。
- 类型:
int- 默认值:
0
- mds_bal_min_rebalance
在 Ceph 迁移之前,最小子树温度。
- 类型:
float- 默认值:
0.1
- mds_bal_overload_epochs
Ceph 迁移之前过载持续的 epoch 数,将其设置为更高的值可以避免由负载波动引起的频繁迁移。
- 类型:
int- 默认值:
2
- mds_bal_min_start
在 Ceph 搜索子树之前,最小子树温度。
- 类型:
float- 默认值:
0.2
- mds_bal_need_min
接受的目标子树大小的最小分数。
- 类型:
float- 默认值:
0.8
- mds_bal_need_max
接受的目标子树大小的最大分数。
- 类型:
float- 默认值:
1.2
- mds_bal_midchunk
Ceph 将迁移任何大于目标子树大小此分数的子树。
- 类型:
float- 默认值:
0.3
- mds_bal_minchunk
Ceph 将忽略任何小于目标子树大小此分数的子树。
- 类型:
float- 默认值:
0.001
- mds_replay_interval
在 standby-replay 模式下(“热备用”)的日志轮询间隔。
- 类型:
float- 默认值:
1.0
- mds_shutdown_check
MDS 关闭期间轮询缓存的间隔。
- 类型:
int- 默认值:
0
- mds_thrash_exports
Ceph 将随机导出节点之间的子树(仅限测试)。
- 类型:
int- 默认值:
0
- mds_thrash_fragments
Ceph 将随机分片或合并目录。
- 类型:
int- 默认值:
0
- mds_dump_cache_on_map
Ceph 将在每个 MDSMap 上将 MDS 缓存内容转储到一个文件中。
- 类型:
bool- 默认值:
false
- mds_dump_cache_after_rejoin
Ceph 将在重新加入缓存后(恢复期间)将 MDS 缓存内容转储到一个文件中。
- 类型:
bool- 默认值:
false
- mds_verify_scatter
Ceph 将断言各种分散/收集不变量为
true(仅限开发人员)。- 类型:
bool- 默认值:
false
- mds_debug_scatterstat
Ceph 将断言各种递归 stat 不变量为
true(仅限开发人员)。- 类型:
bool- 默认值:
false
- mds_debug_frag
Ceph 将在方便时验证目录分片不变量(仅限开发人员)。
- 类型:
bool- 默认值:
false
- mds_debug_auth_pins
调试授权引脚不变量(仅限开发人员)。
- 类型:
bool- 默认值:
false
- mds_debug_subtrees
调试子树不变量(仅限开发人员)。
- 类型:
bool- 默认值:
false
- mds_kill_mdstable_at
Ceph 将在 MDSTable 代码中注入 MDS 故障(仅限开发人员)。
- 类型:
int- 默认值:
0
- mds_kill_export_at
Ceph 将在子树导出代码中注入 MDS 故障(仅限开发人员)。
- 类型:
int- 默认值:
0
- mds_kill_import_at
Ceph 将在子树导入代码中注入 MDS 故障(仅限开发人员)。
- 类型:
int- 默认值:
0
- mds_kill_link_at
Ceph 将在硬链接代码中注入 MDS 故障(仅限开发人员)。
- 类型:
int- 默认值:
0
- mds_kill_rename_at
Ceph 将在重命名代码中注入 MDS 故障(仅限开发人员)。
- 类型:
int- 默认值:
0
- mds_inject_skip_replaying_inotable
MDS 将在重放日志时跳过重放 inotable。(仅用于测试)。
- 类型:
bool- 默认值:
false
- mds_kill_after_journal_logs_flushed
主 MDS 将在 mknod/openc 日志刷新到池后立即崩溃。(仅用于测试)。
- 类型:
bool- 默认值:
false
- mds_wipe_sessions
Ceph 将在启动时删除所有客户端会话(仅用于测试)。
- 类型:
bool- 默认值:
false
- mds_wipe_ino_prealloc
Ceph 将在启动时删除 ino 预分配元数据(仅用于测试)。
- 类型:
bool- 默认值:
false
- mds_skip_ino
启动时要跳过的 inode 数量(仅用于测试)。
- 类型:
int- 默认值:
0
- mds_min_caps_per_client
客户端可能拥有的最小 capabilities 数量
- 类型:
uint- 默认值:
100
- mds_symlink_recovery
将符号链接目标存储在符号链接文件的第一个数据对象上。允许使用恢复工具恢复符号链接。
- 类型:
bool- 默认值:
true
- mds_extraordinary_events_dump_interval
发生非常事件时,转储最近内存中日志的时间间隔(以秒为单位)。默认值为
0(禁用)。要在 debug_mds 中启用此选项,日志级别应为< 10,收集级别应为>=10。- 类型:
秒- 默认值:
0- 允许范围:
[0, 60]
- subv_metrics_window_interval
子卷指标滑动窗口中保持值的时间间隔(以秒为单位)
- 类型:
秒- 默认值:
30- min:
30