4.4. ストレッチモードの使用と維持


OSD ホストを追加し、データセンターモニターサービスホストを管理し、クォーラムの有無にかかわらず tiebreaker をモニターに置き換えることで、ストレッチモードを使用および維持します。

4.4.1. ストレッチモードでの OSD ホストの追加

ストレッチモードで Ceph OSD を追加できます。この手順は、ストレッチモードが有効になっていないクラスターに OSD ホストを追加する場合に類似しています。

前提条件

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

手順

  1. OSD をデプロイするために利用可能なデバイスをリスト表示します。

    構文

    ceph orch device ls [--hostname=HOST_1 HOST_2] [--wide] [--refresh]

    [ceph: root@host01 /]# ceph orch device ls

  2. OSD を特定のホストまたは使用可能なすべてのデバイスにデプロイします。

    • 特定のホスト上の特定のデバイスから OSD を作成します。

      構文

      ceph orch daemon add osd HOST:DEVICE_PATH

      [ceph: root@host01 /]# ceph orch daemon add osd host03:/dev/sdb

    • 使用可能なデバイスと未使用のデバイスに OSD をデプロイします。

      重要

      このコマンドは、コロケーションされた WAL および DB デバイスを作成します。コロケーションされていないデバイスを作成する場合は、このコマンドを使用しないでください。

      [ceph: root@host01 /]# ceph orch apply osd --all-available-devices

  3. OSD ホストを CRUSH バケットの下に移動します。

    構文

    ceph osd crush move HOST datacenter=DATACENTER

    [ceph: root@host01 /]# ceph osd crush move host03 datacenter=DC1
    [ceph: root@host01 /]# ceph osd crush move host06 datacenter=DC2

    注記

    両方のサイトに同じトポロジーノードを追加してください。ホストが 1 つのサイトのみに追加されると、問題が発生する可能性があります。

4.4.2. ストレッチモードでのデータセンターモニターサービスホストの管理

この情報を使用して、ストレッチモードでデータセンターモニターサービス (mon) ホストを追加および削除します。データセンターの管理は、仕様ファイルを使用するか、Ceph クラスター上で直接行うことができます。

前提条件

始める前に、次の前提条件が満たされていることを確認してください。

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

4.4.2.1. サービス仕様ファイルを使用して mon サービスを管理する

以下の手順では、mon サービスを追加する方法を詳しく説明します。サービスを削除する場合は、サービス仕様ファイルを更新するときと同じ手順で、該当する情報を削除します。

手順

  1. mon の仕様ファイルをエクスポートし、出力を mon-spec.yaml に保存します。

    構文

    ceph orch ls mon --export > mon-spec.yaml

    ファイルをエクスポートした後、YAML ファイルを編集できます。

  2. 新しいホストの詳細を追加します。次の例では、host08 が DC2 データセンターバケット内のクラスターに追加されています。

    構文

    service_type: host
    addr: 10.1.172.225
    hostname: host08
    labels:
    - mon
    ---
    service_type: mon
    service_name: mon
    placement:
     label: mon
    spec:
     crush_locations:
       host01:
       - datacenter=DC1
      host02:
       - datacenter=DC1
      host03:
       - datacenter=DC1
       host04:
       - datacenter=DC2
       host05:
       - datacenter=DC2
       host06:
       - datacenter=DC2
       host08:
       - datacenter=DC2

  3. 仕様ファイルを適用します。

    構文

    ceph orch apply -i mon-spec.yaml

    [ceph: root@host01 /]# eph orch apply -i mon-spec.yaml
    Added host 'host08' with addr '10.1.172.225'
    Scheduled mon update...

検証

  1. ceph mon dump コマンドを使用して、mon サービスがデプロイされ、適切な CRUSH の場所がモニターに追加されたことを確認します。

    [ceph: root@host01 /]# ceph mon dump
    epoch 16
    fsid ff19789c-f5c7-11ef-8e1c-fa163e4e1f7e
    last_changed 2025-02-28T12:12:51.089706+0000
    created 2025-02-28T11:34:59.325503+0000
    min_mon_release 19 (squid)
    election_strategy: 3
    stretch_mode_enabled 1
    tiebreaker_mon host07
    disallowed_leaders host07
    0: [v2:10.0.56.37:3300/0,v1:10.0.56.37:6789/0] mon.host01; crush_location {datacenter=DC1}
    1: [v2:10.0.59.188:3300/0,v1:10.0.59.188:6789/0] mon.host05; crush_location {datacenter=DC2}
    2: [v2:10.0.59.35:3300/0,v1:10.0.59.35:6789/0] mon.host02; crush_location {datacenter=DC1}
    3: [v2:10.0.56.189:3300/0,v1:10.0.56.189:6789/0] mon.host07; crush_location {datacenter=DC3}
    4: [v2:10.0.56.13:3300/0,v1:10.0.56.13:6789/0] mon.host04; crush_location {datacenter=DC2}
    dumped monmap epoch 16

  2. ceph orch host ls を使用して、ホストがクラスターに追加されたことを確認します。

    [ceph: root@host01 /]# ceph orch host ls
    HOST                                        ADDR         LABELS       STATUS
    host01            10.0.56.37   mgr,mon,osd
    host02            10.0.59.35   mgr,mon,osd
    host03            10.0.58.106  osd,mds,rgw
    host04            10.0.56.13   osd,mon,mgr
    host05            10.0.59.188  mgr,mon,osd
    host06            10.0.56.223  rgw,mds,osd
    host07            10.0.56.189  _admin,mon
    7 hosts in cluster

4.4.2.2. コマンドラインインターフェイスで mon サービスを管理する

以下の手順では、mon サービスを追加する方法を詳しく説明します。サービスを削除する場合は、CLI で更新するときと同じ手順で、該当する情報を削除します。

手順

  1. 監視サービスを unmanaged に設定します。

    構文

    ceph orch set-unmanaged mon

  2. オプション: ceph orch ls コマンドを使用して、サービスが期待どおりに設定されていることを確認します。

    [ceph: root@host01 /]# ceph orch host ls
    NAME                                 PORTS             RUNNING  REFRESHED  AGE  PLACEMENT
    mon                                                        8/8  10m ago    19s  <unmanaged>

  3. mon ラベルを持つ新しいホストを追加します。

    構文

    ceph orch host add HOST_NAME IP_ADDRESS_OF_HOST [--label=LABEL_NAME_1,LABEL_NAME_2]

    [ceph: root@host01 /]# ceph orch host add host08 10.1.172.205 --labels=mon

  4. CRUSH ロケーションを持つ監視サービスを追加します。

    注記

    この時点では、mon は実行されておらず、Cephadm によって管理されていません。

    構文

    ceph mon add NODE:_IP_ADDRESS_ datacenter=DC2

    [ceph: root@host01 /]# ceph mon add host08:10.1.172.205 datacenter=DC2

  5. Cephadm を使用してモニターデーモンをデプロイします。

    構文

    ceph orch daemon add mon host08

    [ceph: root@host01 /]# ceph orch daemon add mon host08
    Deployed mon.host08 on host 'host08'

  6. モニターサービスに対して Cephadm 管理を有効にします。

    構文

    ceph orch set-managed mon

  7. 新しく追加された mon デーモンを起動します。

    構文

    ceph orch set-managed mgr

検証

サービス、モニター、ホストが追加され、実行されていることを確認します。

  1. ceph orch ls コマンドを使用して、サービスが実行中であることを確認します。

    [ceph: root@host01 /]# ceph orch host ls
    NAME                                 PORTS             RUNNING  REFRESHED  AGE  PLACEMENT
    mon                                                        8/8  7m ago     4d   label:mon

  2. ceph mon dump コマンドを使用して、mon サービスがデプロイされ、適切な CRUSH の場所がモニターに追加されたことを確認します。

    [ceph: root@host01 /]# ceph mon dump
    epoch 16
    fsid ff19789c-f5c7-11ef-8e1c-fa163e4e1f7e
    last_changed 2025-02-28T12:12:51.089706+0000
    created 2025-02-28T11:34:59.325503+0000
    min_mon_release 19 (squid)
    election_strategy: 3
    stretch_mode_enabled 1
    tiebreaker_mon host07
    disallowed_leaders host07
    0: [v2:10.0.56.37:3300/0,v1:10.0.56.37:6789/0] mon.host01; crush_location {datacenter=DC1}
    1: [v2:10.0.59.188:3300/0,v1:10.0.59.188:6789/0] mon.host05; crush_location {datacenter=DC2}
    2: [v2:10.0.59.35:3300/0,v1:10.0.59.35:6789/0] mon.host02; crush_location {datacenter=DC1}
    3: [v2:10.0.56.189:3300/0,v1:10.0.56.189:6789/0] mon.host07; crush_location {datacenter=DC3}
    4: [v2:10.0.56.13:3300/0,v1:10.0.56.13:6789/0] mon.host04; crush_location {datacenter=DC2}
    dumped monmap epoch 16

  3. ceph orch host ls コマンドを使用して、ホストがクラスターに追加されたことを確認します。

    [ceph: root@host01 /]# ceph orch host ls
    HOST                                        ADDR         LABELS       STATUS
    host01            10.0.56.37   mgr,mon,osd
    host02            10.0.59.35   mgr,mon,osd
    host03            10.0.58.106  osd,mds,rgw
    host04            10.0.56.13   osd,mon,mgr
    host05            10.0.59.188  mgr,mon,osd
    host06            10.0.56.223  rgw,mds,osd
    host07            10.0.56.189  _admin,mon
    7 hosts in cluster

4.4.3. tiebreaker をクォーラム内のモニターに置き換える

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

前提条件

  • 稼働中の 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. モニターを新しい tiebreaker としてクォーラムに設定します。

    構文

    ceph mon set_new_tiebreaker NEW_HOST

    [ceph: root@host01 /]# ceph mon set_new_tiebreaker host02

    重要

    モニターが既存の非 tiebreaker モニターと同じ場所にある場合、エラーメッセージが表示されます。

    [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. 障害が発生した tiebreaker モニターを削除します。

    構文

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

4.4.4. tiebreaker を新しいモニターに交換する

tiebreaker モニターに障害が発生した場合は、それを新しいモニターに置き換えて、クラスターから削除できます。

前提条件

始める前に、次の前提条件が満たされていることを確認してください。

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

手順

  1. 新しいモニターをクラスターに追加します。

    1. crush_location を新しいモニターに手動で追加します。

      構文

      ceph mon add NEW_HOST IP_ADDRESS datacenter=DATACENTER

      [ceph: root@host01 /]# ceph mon add host06 213.222.226.50 datacenter=DC3
      
      adding mon.host06 at [v2:213.222.226.50:3300/0,v1:213.222.226.50:6789/0]

      注記

      新しいモニターは、既存の非 tiebreaker モニターとは別の場所に配置する必要があります。

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

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

    3. 新しいモニターをデプロイします。

      構文

      ceph orch daemon add mon NEW_HOST

      [ceph: root@host01 /]# ceph orch daemon add mon host06

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

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

  3. 新しいモニターを新しい tiebreaker として設定します。

    構文

    ceph mon set_new_tiebreaker NEW_HOST

    [ceph: root@host01 /]# ceph mon set_new_tiebreaker host06

  4. 障害が発生した tiebreaker モニターを削除します。

    構文

    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: 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 host06
    disallowed_leaders host06
    0: [v2:213.222.226.50:3300/0,v1:213.222.226.50:6789/0] mon.host06; 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.host02; crush_location {datacenter=DC1}
    4: [v2:186.184.61.92:3300/0,v1:186.184.61.92:6789/0] mon.host05; crush_location {datacenter=DC2}
    dumped monmap epoch 19

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

    構文

    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, host06"
    
    Scheduled mon update…

Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

Red Hat ドキュメントについて

Legal Notice

Theme

© 2026 Red Hat
トップに戻る