8.2. 降低检测下线 OSD 的计时器设置
有时,需要降低检测下线 OSD 的定时器设置。例如,在将 Red Hat Ceph Storage 用作 iSCSI 网关时,您可以通过降低检测下线 OSD 的计时器设置来降低启动器超时的可能性。
先决条件
- 一个正在运行的 Red Hat Ceph Storage 集群。
流程
将 Ansible 配置为使用新的计时器设置。
在
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
ceph_conf_overrides: osd: osd_client_watch_timeout: 15 osd_heartbeat_grace: 20 osd_heartbeat_interval: 5
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 当
site.yml
Ansible playbook 针对 OSD 节点运行时,上述设置将添加到其ceph.conf
配置文件中。使用 Ansible 更新
ceph.conf
文件,并在所有 OSD 节点上重新启动 OSD 守护进程。在 Ansible admin 节点上运行以下命令:ansible-playbook --limit osds site.yml
[user@admin ceph-ansible]$ ansible-playbook --limit osds site.yml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
验证定时器设置与
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
# 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
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Example:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 可选:如果无法立即重启 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'
# 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'
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Example:
ceph tell osd.0 injectargs '--osd_client_watch_timeout 15' ceph tell osd.0 injectargs '--osd_heartbeat_grace 20' ceph tell osd.0 injectargs '--osd_heartbeat_interval 5'
[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'
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 从 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
# 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
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Example:
ceph daemon osd.0 config set osd_client_watch_timeout 15 ceph daemon osd.0 config set osd_heartbeat_grace 20 ceph daemon osd.0 config set osd_heartbeat_interval 5
[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
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
其它资源
- 有关将 Red Hat Ceph Storage 用作 iSCSI 网关的更多信息,请参阅 块设备指南中的 Ceph iSCSI 网关简介。