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 Ansible Playbook の
site.yml
が OSD ノードに対して実行すると、上記の設定がceph.conf
設定ファイルに追加されます。Ansible を使用して
ceph.conf
ファイルを更新し、すべての OSD ノードで OSD デーモンを再起動します。Ansible 管理ノードで、以下のコマンドを実行します。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
で設定されている値と同じであることを確認します。1 つ以上の 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 例:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow オプション: OSD デーモンをすぐに再起動できない場合は、Ceph Monitor ノードからオンライン更新を実行します。または、すべての OSD ノードで直接更新を実行します。OSD デーモンの再起動ができたら、上記のように Ansible を使用して新しいタイマー設定を
ceph.conf
に追加し、設定が再起動後も維持されるようにします。Ceph 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 例:
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 Ceph 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 例:
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 ゲートウェイの概要 」を参照してください。