第9章 ストレッチモードでのクラスターのトラブルシューティング

障害が発生したタイブレーカーモニターを交換および削除できます。必要に応じて、クラスターを強制的に回復モードまたは正常モードにすることもできます。

関連情報

ストレッチモードのクラスターの詳細は、Ceph Storage のストレッチクラスター を参照してください。

9.1. タイブレーカーをクォーラム内のモニターに置き換える

タイブレーカーモニターに障害が発生した場合は、それをクォーラム内の既存のモニターに置き換えて、クラスターから削除できます。

前提条件

  • 稼働中の Red Hat Ceph Storage クラスターがある。
  • クラスターでストレッチモードが有効になっている

手順

  1. 自動化されたモニターのデプロイメントを無効にします。

    [ceph: root@host01 /]# ceph orch apply mon --unmanaged
    
    Scheduled mon update…

  2. クォーラムでモニターを表示します。

    [ceph: root@host01 /]# ceph -s
    
    mon: 5 daemons, quorum host01, host02, host04, host05 (age 30s), out of quorum: host07

  3. モニターを新しいタイブレーカーとしてクォーラムに設定します。

    構文

    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

  4. 障害が発生したタイブレーカーモニターを削除します。

    構文

    ceph orch daemon rm FAILED_TIEBREAKER_MONITOR --force

    [ceph: root@host01 /]# ceph orch daemon rm mon.host07 --force
    
    Removed mon.host07 from host 'host07'

  5. モニターがホストから削除されたら、モニターを再デプロイします。

    構文

    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

  6. クォーラムに 5 つのモニターがあることを確認します。

    [ceph: root@host01 /]# ceph -s
    
    mon: 5 daemons, quorum host01, host02, host04, host05, host07 (age 15s)

  7. すべてが正しく設定されていることを確認します。

    [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

  8. モニターを再デプロイします。

    構文

    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...