第10章 ストレッチモードでのクラスターのトラブルシューティング
障害が発生したタイブレーカーモニターを交換および削除できます。必要に応じて、クラスターを強制的に回復モードまたは正常モードにすることもできます。
関連情報
ストレッチモードのクラスターの詳細については、Ceph Storage のストレッチクラスター を参照してください。
10.1. タイブレーカーをクォーラム内のモニターに置き換える
タイブレーカーモニターに障害が発生した場合は、それをクォーラム内の既存のモニターに置き換えて、クラスターから削除できます。
前提条件
- 稼働中の Red Hat Ceph Storage クラスターがある。
- クラスターでストレッチモードが有効になっている
手順
自動化されたモニターのデプロイメントを無効にします。
例:
[ceph: root@host01 /]# ceph orch apply mon --unmanaged Scheduled mon update…
クォーラムでモニターを表示します。
例:
[ceph: root@host01 /]# ceph -s mon: 5 daemons, quorum host01, host02, host04, host05 (age 30s), out of quorum: host07
モニターを新しいタイブレーカーとしてクォーラムに設定します。
構文
ceph mon set_new_tiebreaker NEW_HOST
例:
[ceph: root@host01 /]# ceph mon set_new_tiebreaker host02
重要モニターが既存の非タイブレーカーモニターと同じ場所にある場合、エラーメッセージが表示されます。
例:
[ceph: root@host01 /]# ceph mon set_new_tiebreaker host02 Error EINVAL: mon.host02 has location DC1, which matches mons host02 on the datacenter dividing bucket for stretch mode.
その場合は、モニターの場所を変更します。
構文
ceph mon set_location HOST datacenter=DATACENTER
例:
[ceph: root@host01 /]# ceph mon set_location host02 datacenter=DC3
障害が発生したタイブレーカーモニターを削除します。
構文
ceph orch daemon rm FAILED_TIEBREAKER_MONITOR --force
例:
[ceph: root@host01 /]# ceph orch daemon rm mon.host07 --force Removed mon.host07 from host 'host07'
モニターがホストから削除されたら、モニターを再デプロイします。
構文
ceph mon add HOST IP_ADDRESS datacenter=DATACENTER ceph orch daemon add mon HOST
例:
[ceph: root@host01 /]# ceph mon add host07 213.222.226.50 datacenter=DC1 [ceph: root@host01 /]# ceph orch daemon add mon host07
クォーラムに 5 つのモニターがあることを確認します。
例:
[ceph: root@host01 /]# ceph -s mon: 5 daemons, quorum host01, host02, host04, host05, host07 (age 15s)
すべてが正しく設定されていることを確認します。
例:
[ceph: root@host01 /]# ceph mon dump epoch 19 fsid 1234ab78-1234-11ed-b1b1-de456ef0a89d last_changed 2023-01-17T04:12:05.709475+0000 created 2023-01-16T05:47:25.631684+0000 min_mon_release 16 (pacific) election_strategy: 3 stretch_mode_enabled 1 tiebreaker_mon host02 disallowed_leaders host02 0: [v2:132.224.169.63:3300/0,v1:132.224.169.63:6789/0] mon.host02; crush_location {datacenter=DC3} 1: [v2:220.141.179.34:3300/0,v1:220.141.179.34:6789/0] mon.host04; crush_location {datacenter=DC2} 2: [v2:40.90.220.224:3300/0,v1:40.90.220.224:6789/0] mon.host01; crush_location {datacenter=DC1} 3: [v2:60.140.141.144:3300/0,v1:60.140.141.144:6789/0] mon.host07; crush_location {datacenter=DC1} 4: [v2:186.184.61.92:3300/0,v1:186.184.61.92:6789/0] mon.host03; crush_location {datacenter=DC2} dumped monmap epoch 19
モニターを再デプロイします。
構文
ceph orch apply mon --placement="HOST_1, HOST_2, HOST_3, HOST_4, HOST_5”
例:
[ceph: root@host01 /]# ceph orch apply mon --placement="host01, host02, host04, host05, host07" Scheduled mon update...