【问题标题】:Increase ceph recovery增加ceph恢复
【发布时间】:2021-05-05 16:42:22
【问题描述】:

我一直在努力提高我们的 ceph 恢复速度,但我在 ceph 文档和各种论坛中遇到的每个选项似乎都没有效果。

此时我已尝试设置在线找到的选项组合,但恢复速度没有变化。当前设置通过以下方式设置:

for i in $(sudo ceph osd ls)
do
  sudo ceph tell osd.$i injectargs --osd-max-backfills=7 \
                                   --osd-recovery-max-active=50 \
                                   --osd-recovery-op-priority=100 \
                                   --osd-recovery-max-active-hdd=50 \
                                   --osd-client-op-priority=3
done

无论恢复情况如何:

  io:
    client:   857 MiB/s rd, 357 MiB/s wr, 748 op/s rd, 745 op/s wr
    recovery: 53 MiB/s, 16 objects/s

任何有关如何让 ceph 更快恢复的帮助将不胜感激。

Ceph 版本:15.2.9
操作系统:Ubuntu 20.04
存储类型:SATA HDD 网络:LACP Teaming 模式下每个节点 2x10Gbps 节点数:15
每个节点的磁盘:5 个 90x10TB 磁盘节点和 10 个 60x14TB 磁盘节点

【问题讨论】:

  • OSD节点之间的网络带宽是多少?
  • 您的客户端 IO 看起来很高。看看磁盘饱和度(例如使用 iostat),我假设磁盘的利用率已经达到 100%,所以你无法提高恢复速度。
  • @0xF2 我更新了我的问题,提供了有关您问题的更多详细信息。
  • @eblock 查看 iostat 我发现 OSD 中磁盘上的 tps 差异很大,从接近 0 到大约 100 之间不等。然而,iowait 在所有节点上都相当低,大约 3-4% iowait 和 92-93% 空闲
  • 您将 --osd-max-backfills 设置推到了多远?您可以尝试将其增加几次,然后在下一次增加之前等待它的进展情况。如果客户端 IO 没有受到太大影响,我会尝试达到 48 左右。只是为了让 OSD 的利用率接近 100%。

标签: ceph


【解决方案1】:

您需要将osd_recovery_sleep_hdd 设置为0

sudo ceph tell osd.* injectargs --osd_recovery_sleep_hdd=0
sudo ceph tell 'osd.*' injectargs --osd-max-backfills=300 --osd-recovery-max-active=900

在 cmd 下检查恢复运行:

ceph pg stat

【讨论】:

    猜你喜欢
    • 2018-03-07
    • 2022-11-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多