8.2. 降低检测下线 OSD 的计时器设置


有时,需要降低检测下线 OSD 的定时器设置。例如,在将 Red Hat Ceph Storage 用作 iSCSI 网关时,您可以通过降低检测下线 OSD 的计时器设置来降低启动器超时的可能性。

先决条件

  • 一个正在运行的 Red Hat Ceph Storage 集群。

流程

  1. 将 Ansible 配置为使用新的计时器设置。

    1. group_vars/all.yml 文件中添加 ceph_conf_overrides 部分,或者编辑任何现有的 ceph_conf_overrides 部分,使其包含以 osd 开头的行:

      ceph_conf_overrides:
           osd:
             osd_client_watch_timeout: 15
             osd_heartbeat_grace: 20
             osd_heartbeat_interval: 5

      site.yml Ansible playbook 针对 OSD 节点运行时,上述设置将添加到其 ceph.conf 配置文件中。

    2. 使用 Ansible 更新 ceph.conf 文件,并在所有 OSD 节点上重新启动 OSD 守护进程。在 Ansible admin 节点上运行以下命令:

      [user@admin ceph-ansible]$ ansible-playbook --limit osds site.yml
  2. 验证定时器设置与 ceph_conf_overrides 中设置的相同:

    在一个或多个 OSD 上,使用 ceph daemon 命令查看设置:

    # ceph daemon osd.OSD_ID config get osd_client_watch_timeout
    # ceph daemon osd.OSD_ID config get osd_heartbeat_grace
    # ceph daemon osd.OSD_ID config get osd_heartbeat_interval

    Example:

    [root@osd1 ~]# ceph daemon osd.0 config get osd_client_watch_timeout
    {
        "osd_client_watch_timeout": "15"
    }
    [root@osd1 ~]#  ceph daemon osd.0 config get osd_heartbeat_grace
    {
        "osd_heartbeat_grace": "20"
    }
    [root@osd1 ~]# ceph daemon osd.0 config get osd_heartbeat_interval
    {
        "osd_heartbeat_interval": "5"
    }
  3. 可选:如果无法立即重启 OSD 守护进程,请从 Ceph 监控节点或直接在所有 OSD 节点上进行在线更新。在您能够重新启动 OSD 守护进程后,如上所述,使用 Ansible 将新的计时器设置添加到 ceph.conf 中,以便在重启后保留设置。

    • 从 monitor 节点在线更新 OSD 计时器设置:

      # ceph tell osd.OSD_ID injectargs '--osd_client_watch_timeout 15'
      # ceph tell osd.OSD_ID injectargs '--osd_heartbeat_grace 20'
      # ceph tell osd.OSD_ID injectargs '--osd_heartbeat_interval 5'

      Example:

      [root@mon ~]# ceph tell osd.0 injectargs '--osd_client_watch_timeout 15'
      [root@mon ~]# ceph tell osd.0 injectargs '--osd_heartbeat_grace 20'
      [root@mon ~]# ceph tell osd.0 injectargs '--osd_heartbeat_interval 5'
    • 从 OSD 节点在线更新 OSD 计时器设置:

      # ceph daemon osd.OSD_ID config set osd_client_watch_timeout 15
      # ceph daemon osd.OSD_ID config set osd_heartbeat_grace 20
      # ceph daemon osd.OSD_ID config set osd_heartbeat_interval 5

      Example:

      [root@osd1 ~]# ceph daemon osd.0 config set osd_client_watch_timeout 15
      [root@osd1 ~]# ceph daemon osd.0 config set osd_heartbeat_grace 20
      [root@osd1 ~]# ceph daemon osd.0 config set osd_heartbeat_interval 5

其它资源

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.