2025年2月16日星期日

ceph osd pool get cache-pool all 缓存池相关配置

 

核心参数

参数作用适用场景建议值
size副本数量,决定数据在 OSD 之间的冗余度2-3 副本保证数据安全生产环境建议 3,测试环境 2
min_size最小副本数,低于该值时数据不可写一般设置为 size 的一半size / 2 向上取整,例如 2 副本时建议 23 副本时建议 2
pg_num / pgp_num置换组数量,决定数据在 OSD 之间的分布情况高吞吐量时需合理设置使用 ceph pg autoscaler 自动调整或手动计算合适的值

缓存相关参数

参数作用适用场景建议值
hit_set_type用于追踪最近访问过的对象,通常用于 writebackreadproxy 缓存模式仅在 writeback 缓存需要统计访问频率时使用bloom(适用于热点缓存),none 表示未启用
hit_set_periodhit_set 统计的时间窗口(秒)影响数据推广(promote)策略一般 120s
hit_set_count维护的 hit_set 历史记录数量用于访问统计适用于 readproxy 缓存,建议 8
cache_target_dirty_ratiowriteback 模式下,缓存池中允许的“脏”数据比例(未回写到主存储池)0 表示未启用缓存写回0.2 ~ 0.4(即 20%-40%)
cache_target_dirty_high_ratiowriteback 模式下,达到此比例后强制回写控制写缓存溢出0.6 ~ 0.8
cache_target_full_ratio缓存池达到该比例时,触发对象驱逐(eviction)防止缓存池填满0.8 ~ 0.9
cache_min_flush_age最小的回写等待时间(秒)writeback 模式下生效,延迟数据写入,提高缓存命中率60 ~ 300s
cache_min_evict_age最小的驱逐时间(秒),低于该时间的数据不会从缓存池清除控制缓存淘汰策略300 ~ 600s

数据提升与迁移相关参数

参数作用适用场景建议值
min_read_recency_for_promote读操作提升数据到缓存的最小访问次数适用于 readproxy,减少缓存污染3 ~ 5(减少临时访问数据进入缓存)
min_write_recency_for_promote写操作提升数据到缓存的最小访问次数适用于 writeback,避免冷数据进入缓存3 ~ 5

I/O 相关参数

参数作用适用场景建议值
fast_read是否开启快速读取(跳过缓存直接读后端池)readproxyreadonly 模式时可用1(开启)
hit_set_grade_decay_ratehit_set 统计数据的衰减速度影响数据淘汰率0.9 ~ 0.95
hit_set_search_last_n在最近 Nhit_set 周期内搜索热点数据用于热点统计8

你的存储池的当前状态分析

你的 cache-pool 目前:

  • cache_mode 没有显示:说明缓存池可能未正确启用,建议检查 ceph osd pool get cache-pool cache_mode
  • 所有缓存参数都为 0:表示当前没有配置缓存策略,缓存机制可能未生效。
  • hit_set_typenone:说明没有开启热点追踪,建议启用 bloom 过滤器以提高缓存效率。

改进建议

  1. 检查缓存模式

    bash
    ceph osd pool get cache-pool cache_mode
    • 若输出为空或 none,需要设置缓存模式,例如:
      bash
      ceph osd tier cache-mode cache-pool writeback
  2. 设置基本缓存参数

    bash
    ceph osd pool set cache-pool cache_target_dirty_ratio 0.3 ceph osd pool set cache-pool cache_target_dirty_high_ratio 0.7 ceph osd pool set cache-pool cache_target_full_ratio 0.9 ceph osd pool set cache-pool cache_min_flush_age 120 ceph osd pool set cache-pool cache_min_evict_age 600 ceph osd pool set cache-pool min_read_recency_for_promote 3 ceph osd pool set cache-pool min_write_recency_for_promote 3
  3. 启用 hit_set 以追踪热点

    bash
    ceph osd pool set cache-pool hit_set_type bloom ceph osd pool set cache-pool hit_set_period 120 ceph osd pool set cache-pool hit_set_count 8 ceph osd pool set cache-pool hit_set_grade_decay_rate 0.9 ceph osd pool set cache-pool hit_set_search_last_n 8
  4. 确认是否正确绑定

    bash
    ceph osd tier set-overlay cephfs_data cache-pool

总结

你的 cache-pool 目前的缓存机制似乎未生效(所有缓存参数都为 0),可能只是创建了缓存池但未启用。如果你希望真正利用缓存池提高 CephFS 读写性能,建议:

  • 启用 writeback 模式,允许缓存数据写入并在后台同步到主存储池。
  • 调整缓存参数,优化数据回写、驱逐、访问提升策略。
  • 检查缓存绑定关系,确保 cephfs_data 正确使用 cache-pool 作为缓存层。

这样可以充分发挥 CephFS 的缓存能力,提高 I/O 性能!

没有评论:

发表评论

youtube的dns屏蔽方法

  216.239.38.120 是 Google 提供的一个特殊 DNS 服务器,用于强制开启 YouTube 受限模式(Restricted Mode) 。 如果你想在家里强制 YouTube 进入受限模式,可以在 路由器的 DNS 设置 中配置以下 DNS 服务器: D...