3.5. Red Hat Ceph Storage のデプロイ


3.5.1. ノードのデプロイ前の手順

Red Hat Ceph Storage Ceph クラスターをインストールする前に、必要なすべての要件を満たすために、以下の手順を実施します。

  1. 全ノードを Red Hat Network または Red Hat Satellite に登録し、有効なプールにサブスクライブします。

    subscription-manager register
    subscription-manager subscribe --pool=8a8XXXXXX9e0
    Copy to Clipboard Toggle word wrap
  2. 次のリポジトリーの Ceph クラスター内のすべてのノードへのアクセスを有効にします。

    • rhel9-for-x86_64-baseos-rpms
    • rhel9-for-x86_64-appstream-rpms

      subscription-manager repos --disable="*" --enable="rhel9-for-x86_64-baseos-rpms" --enable="rhel9-for-x86_64-appstream-rpms"
      Copy to Clipboard Toggle word wrap
  3. オペレーティングシステムの RPM を最新バージョンに更新し、必要に応じて再起動します。

    dnf update -y
    reboot
    Copy to Clipboard Toggle word wrap
  4. クラスターからノードを選択して、ブートストラップノードにします。ceph1 は、この例の今後のブートストラップノードです。

    ブートストラップノード ceph1 でのみ、ansible-2.9-for-rhel-9-x86_64-rpms および rhceph-6-tools-for-rhel-9-x86_64-rpms リポジトリーを有効にします。

    subscription-manager repos --enable="ansible-2.9-for-rhel-9-x86_64-rpms" --enable="rhceph-6-tools-for-rhel-9-x86_64-rpms"
    Copy to Clipboard Toggle word wrap
  5. すべてのホストでベア/短縮ホスト名を使用して hostname を設定します。

    hostnamectl set-hostname <short_name>
    Copy to Clipboard Toggle word wrap
  6. Red Hat Ceph Storage を使用して Red Hat Ceph Storage をデプロイするためのホスト名設定を確認します。

    $ hostname
    Copy to Clipboard Toggle word wrap

    出力例:

    ceph1
    Copy to Clipboard Toggle word wrap
  7. /etc/hosts ファイルを変更し、DNS ドメイン名を使用して DOMAIN 変数を設定して、fqdn エントリーを 127.0.0.1IP に追加します。

    DOMAIN="example.domain.com"
    
    cat <<EOF >/etc/hosts
    127.0.0.1 $(hostname).${DOMAIN} $(hostname) localhost localhost.localdomain localhost4 localhost4.localdomain4
    ::1       $(hostname).${DOMAIN} $(hostname) localhost6 localhost6.localdomain6
    EOF
    Copy to Clipboard Toggle word wrap
  8. hostname -f オプションを使用して、fqdn の長いホスト名を確認します。

    $ hostname -f
    Copy to Clipboard Toggle word wrap

    出力例:

    ceph1.example.domain.com
    Copy to Clipboard Toggle word wrap
    注記

    これらの変更が必要な理由の詳細は、完全修飾ドメイン名とベアホスト名 を参照してください。

  9. ブートストラップノードで次の手順を実行します。この例では、ブートストラップノードは ceph1 です。

    1. cephadm-ansible RPM パッケージをインストールします。

      $ sudo dnf install -y cephadm-ansible
      Copy to Clipboard Toggle word wrap
      重要

      Ansible Playbook を実行するには、Red Hat Ceph Storage クラスターに設定されているすべてのノードに ssh パスワードなしでアクセスできる必要があります。設定されたユーザー (たとえば、deployment-user) が、パスワードを必要とせずに sudo コマンドを呼び出すための root 権限を持っていることを確認してください。

    2. カスタムキーを使用するには、選択したユーザー (たとえば、deployment-user) の ssh 設定ファイルを設定して、ssh 経由でノードに接続するために使用される ID/キーを指定します。

      cat <<EOF > ~/.ssh/config
      Host ceph*
         User deployment-user
         IdentityFile ~/.ssh/ceph.pem
      EOF
      Copy to Clipboard Toggle word wrap
    3. Ansible インベントリーを構築します。

      cat <<EOF > /usr/share/cephadm-ansible/inventory
      ceph1
      ceph2
      ceph3
      ceph4
      ceph5
      ceph6
      ceph7
      [admin]
      ceph1
      ceph4
      EOF
      Copy to Clipboard Toggle word wrap
      注記

      ここでは、2 つの異なるデータセンターに属するホスト (Ceph1 および Ceph4) が、インベントリーファイルの [admin] グループの一部として設定され、cephadm によって _admin としてタグ付けされています。これらの各管理ノードは、ブートストラッププロセス中に admin ceph キーリングを受信するため、1 つのデータセンターがダウンしたときに、他の使用可能な管理ノードを使用して確認できます。

    4. プリフライト Playbook を実行する前に、ansible が ping モジュールを使用してすべてのノードにアクセスできることを確認します。

      $ ansible -i /usr/share/cephadm-ansible/inventory -m ping all -b
      Copy to Clipboard Toggle word wrap

      出力例:

      ceph6 | SUCCESS => {
          "ansible_facts": {
              "discovered_interpreter_python": "/usr/libexec/platform-python"
          },
          "changed": false,
          "ping": "pong"
      }
      ceph4 | SUCCESS => {
          "ansible_facts": {
              "discovered_interpreter_python": "/usr/libexec/platform-python"
          },
          "changed": false,
          "ping": "pong"
      }
      ceph3 | SUCCESS => {
          "ansible_facts": {
              "discovered_interpreter_python": "/usr/libexec/platform-python"
          },
          "changed": false,
          "ping": "pong"
      }
      ceph2 | SUCCESS => {
          "ansible_facts": {
              "discovered_interpreter_python": "/usr/libexec/platform-python"
          },
          "changed": false,
          "ping": "pong"
      }
      ceph5 | SUCCESS => {
          "ansible_facts": {
              "discovered_interpreter_python": "/usr/libexec/platform-python"
          },
          "changed": false,
          "ping": "pong"
      }
      ceph1 | SUCCESS => {
          "ansible_facts": {
              "discovered_interpreter_python": "/usr/libexec/platform-python"
          },
          "changed": false,
          "ping": "pong"
      }
      ceph7 | SUCCESS => {
          "ansible_facts": {
              "discovered_interpreter_python": "/usr/libexec/platform-python"
          },
          "changed": false,
          "ping": "pong"
      }
      Copy to Clipboard Toggle word wrap
    5. /usr/share/cephadm-ansible ディレクトリーに移動します。
    6. ansible-playbook を、相対ファイルパスを指定して実行します。

      $ ansible-playbook -i /usr/share/cephadm-ansible/inventory /usr/share/cephadm-ansible/cephadm-preflight.yml --extra-vars "ceph_origin=rhcs"
      Copy to Clipboard Toggle word wrap

      プリフライト Playbook は RHCS dnf リポジトリーを設定し、ブートストラップ用にストレージクラスターを準備します。また、podman、lvm2、chronyd、および cephadm もインストールします。cephadm-ansible および cephadm- preflight.yml のデフォルトの場所は /usr/share/cephadm-ansible です。詳細は、プリフライト Playbook の実行 を参照してください。

cephadm ユーティリティーは、cephadm ブートストラップコマンドが実行されているローカルノード上に、新しい Red Hat Ceph Storage クラスターの単一の Ceph Monitor デーモンと Ceph Manager デーモンをインストールし、開始します。

このガイドでは、クラスター仕様の yaml ファイルを使用して、クラスターをブートストラップし、必要なすべての Red Hat Ceph Storage サービスをワンステップでデプロイします。

展開中に問題が見つかった場合は、展開を 2 つの手順に分割することで、エラーのトラブルシューティングが容易になる場合があります。

  1. ブートストラップ
  2. サービスの展開
注記

ブートストラッププロセスの詳細は、新規ストレージクラスターのブートストラップ を参照してください。

手順

  1. 次のように、json ファイルを使用してコンテナーレジストリーに対して認証を行うための json ファイルを作成します。

    $ cat <<EOF > /root/registry.json
    {
     "url":"registry.redhat.io",
     "username":"User",
     "password":"Pass"
    }
    EOF
    Copy to Clipboard Toggle word wrap
  2. Red Hat Ceph Storage クラスターにノードを追加する cluster-spec.yaml を作成し、表 3.1 に従ってサービスを実行する場所に特定のラベルを設定します。

    cat <<EOF > /root/cluster-spec.yaml
    service_type: host
    addr: 10.0.40.78  ## <XXX.XXX.XXX.XXX>
    hostname: ceph1   ##  <ceph-hostname-1>
    location:
      root: default
      datacenter: DC1
    labels:
      - osd
      - mon
      - mgr
    ---
    service_type: host
    addr: 10.0.40.35
    hostname: ceph2
    location:
      datacenter: DC1
    labels:
      - osd
      - mon
    ---
    service_type: host
    addr: 10.0.40.24
    hostname: ceph3
    location:
      datacenter: DC1
    labels:
      - osd
      - mds
      - rgw
    ---
    service_type: host
    addr: 10.0.40.185
    hostname: ceph4
    location:
      root: default
      datacenter: DC2
    labels:
      - osd
      - mon
      - mgr
    ---
    service_type: host
    addr: 10.0.40.88
    hostname: ceph5
    location:
      datacenter: DC2
    labels:
      - osd
      - mon
    ---
    service_type: host
    addr: 10.0.40.66
    hostname: ceph6
    location:
      datacenter: DC2
    labels:
      - osd
      - mds
      - rgw
    ---
    service_type: host
    addr: 10.0.40.221
    hostname: ceph7
    labels:
      - mon
    ---
    service_type: mon
    placement:
      label: "mon"
    ---
    service_type: mds
    service_id: cephfs
    placement:
      label: "mds"
    ---
    service_type: mgr
    service_name: mgr
    placement:
      label: "mgr"
    ---
    service_type: osd
    service_id: all-available-devices
    service_name: osd.all-available-devices
    placement:
      label: "osd"
    spec:
      data_devices:
        all: true
    ---
    service_type: rgw
    service_id: objectgw
    service_name: rgw.objectgw
    placement:
      count: 2
      label: "rgw"
    spec:
      rgw_frontend_port: 8080
    EOF
    Copy to Clipboard Toggle word wrap
  3. ブートストラップノードから設定された Red Hat Ceph Storage パブリックネットワークで NIC の IP を取得します。10.0.40.0 を ceph パブリックネットワークで定義したサブネットに置き換えた後、次のコマンドを実行します。

    $ ip a | grep 10.0.40
    Copy to Clipboard Toggle word wrap

    出力例:

    10.0.40.78
    Copy to Clipboard Toggle word wrap
  4. クラスター内の最初の Monitor ノードとなるノードで、root ユーザーとして cephadm bootstrap コマンドを実行します。IP_ADDRESS オプションは、cephadm bootstrap コマンドの実行に使用しているノードの IP アドレスです。

    注記

    パスワードなしの SSH アクセス用に root ではなく別のユーザーを設定した場合は、cepadm bootstrap コマンドで --ssh-user= フラグを使用します。

    default/id_rsa ssh キー名以外を使用している場合は、cephadm コマンドで --ssh-private-key および --ssh-public-key オプションを使用します。

    $ cephadm  bootstrap --ssh-user=deployment-user --mon-ip 10.0.40.78 --apply-spec /root/cluster-spec.yaml --registry-json /root/registry.json
    Copy to Clipboard Toggle word wrap
    重要

    ローカルノードが完全修飾ドメイン名 (FQDN) を使用する場合は、コマンドラインで --allow-fqdn-hostname オプションを cephadm bootstrap に追加します。

    ブートストラップが終了すると、前の cephadm bootstrap コマンドから次の出力が表示されます。

    You can access the Ceph CLI with:
    
    	sudo /usr/sbin/cephadm shell --fsid dd77f050-9afe-11ec-a56c-029f8148ea14 -c /etc/ceph/ceph.conf -k /etc/ceph/ceph.client.admin.keyring
    
    Consider enabling telemetry to help improve Ceph:
    
    	ceph telemetry on
    
    For more information see:
    
    	https://docs.ceph.com/docs/pacific/mgr/telemetry/
    Copy to Clipboard Toggle word wrap
  5. ceph1 の Ceph CLI クライアントを使用して、Red Hat Ceph Storage クラスターデプロイメントのステータスを確認します。

    $ ceph -s
    Copy to Clipboard Toggle word wrap

    出力例:

    cluster:
      id:     3a801754-e01f-11ec-b7ab-005056838602
      health: HEALTH_OK
    
    services:
      mon: 5 daemons, quorum ceph1,ceph2,ceph4,ceph5,ceph7 (age 4m)
      mgr: ceph1.khuuot(active, since 5m), standbys: ceph4.zotfsp
      osd: 12 osds: 12 up (since 3m), 12 in (since 4m)
      rgw: 2 daemons active (2 hosts, 1 zones)
    
    data:
      pools:   5 pools, 107 pgs
      objects: 191 objects, 5.3 KiB
      usage:   105 MiB used, 600 GiB / 600 GiB avail
               105 active+clean
    Copy to Clipboard Toggle word wrap
    注記

    すべてのサービスが開始されるまでに数分かかる場合があります。

    OSD が設定されていないときに、グローバルリカバリーイベントが発生するのは正常です。

    ceph orch ps および ceph orch ls を使用して、サービスのステータスをさらに確認できます。

  6. すべてのノードが cephadm クラスターの一部であるかどうかを確認します。

    $ ceph orch host ls
    Copy to Clipboard Toggle word wrap

    出力例:

    HOST   ADDR          LABELS  STATUS
    ceph1  10.0.40.78    _admin osd mon mgr
    ceph2  10.0.40.35    osd mon
    ceph3  10.0.40.24    osd mds rgw
    ceph4  10.0.40.185   osd mon mgr
    ceph5  10.0.40.88    osd mon
    ceph6  10.0.40.66    osd mds rgw
    ceph7  10.0.40.221   mon
    Copy to Clipboard Toggle word wrap
    注記

    ceph1 は [admin] グループの一部として cephadm-ansible インベントリーで設定されているため、ホストから Ceph コマンドを直接実行できます。Ceph 管理キーは、cephadm bootstrap プロセス中にホストにコピーされました。

  7. データセンターでの Ceph モニターサービスの現在の配置を確認します。

    $ ceph orch ps | grep mon | awk '{print $1 " " $2}'
    Copy to Clipboard Toggle word wrap

    出力例:

    mon.ceph1 ceph1
    mon.ceph2 ceph2
    mon.ceph4 ceph4
    mon.ceph5 ceph5
    mon.ceph7 ceph7
    Copy to Clipboard Toggle word wrap
  8. データセンターでの Ceph 管理サービスの現在の配置を確認します。

    $ ceph orch ps | grep mgr | awk '{print $1 " " $2}'
    Copy to Clipboard Toggle word wrap

    出力例:

    mgr.ceph2.ycgwyz ceph2
    mgr.ceph5.kremtt ceph5
    Copy to Clipboard Toggle word wrap
  9. ceph osd クラッシュマップレイアウトをチェックして、各ホストに 1 つの OSD が設定され、そのステータスが UP であることを確認します。また、表 3.1 で指定されているように、各ノードが適切なデータセンターバケットの下にあることを再確認してください。

    $ ceph osd tree
    Copy to Clipboard Toggle word wrap

    出力例:

    ID   CLASS  WEIGHT   TYPE NAME           STATUS  REWEIGHT  PRI-AFF
    -1          0.87900  root default
    -16         0.43950      datacenter DC1
    -11         0.14650          host ceph1
      2    ssd  0.14650              osd.2       up   1.00000  1.00000
     -3         0.14650          host ceph2
      3    ssd  0.14650              osd.3       up   1.00000  1.00000
    -13         0.14650          host ceph3
      4    ssd  0.14650              osd.4       up   1.00000  1.00000
    -17         0.43950      datacenter DC2
     -5         0.14650          host ceph4
      0    ssd  0.14650              osd.0       up   1.00000  1.00000
     -9         0.14650          host ceph5
      1    ssd  0.14650              osd.1       up   1.00000  1.00000
     -7         0.14650          host ceph6
      5    ssd  0.14650              osd.5       up   1.00000  1.00000
    Copy to Clipboard Toggle word wrap
  10. 新しい RDB ブロックプールを作成して有効にします。

    $ ceph osd pool create 32 32
    $ ceph osd pool application enable rbdpool rbd
    Copy to Clipboard Toggle word wrap
    注記

    コマンドの最後にある 32 という数字は、このプールに割り当てられている PG の数です。PG の数は、クラスター内の OSD の数、プールの予想使用率など、いくつかの要因によって異なります。次の計算機を使用して、必要な PG の数を決定できます。プール計算機ごとの Ceph 配置グループ (PG)

  11. RBD プールが作成されたことを確認します。

    $ ceph osd lspools | grep rbdpool
    Copy to Clipboard Toggle word wrap

    出力例:

     3 rbdpool
    Copy to Clipboard Toggle word wrap
  12. MDS サービスがアクティブであり、各データセンターに 1 つのサービスが配置されていることを確認します。

    $ ceph orch ps | grep mds
    Copy to Clipboard Toggle word wrap

    出力例:

    mds.cephfs.ceph3.cjpbqo    ceph3               running (17m)   117s ago  17m    16.1M        -  16.2.9
    mds.cephfs.ceph6.lqmgqt    ceph6               running (17m)   117s ago  17m    16.1M        -  16.2.9
    Copy to Clipboard Toggle word wrap
  13. CephFS ボリュームを作成します。

    $ ceph fs volume create cephfs
    Copy to Clipboard Toggle word wrap
    注記

    ceph fs volume create コマンドは、必要なデータとメタ CephFS プールも作成します。詳細は、Ceph ファイルシステムの設定とマウント を参照してください。

  14. Ceph のステータスを確認して、MDS デーモンがどのようにデプロイされたかを確認します。状態がアクティブで、ceph6 がこのファイルシステムのプライマリー MDS で、ceph3 がセカンダリー MDS であることを確認します。

    $ ceph fs status
    Copy to Clipboard Toggle word wrap

    出力例:

    cephfs - 0 clients
    ======
    RANK  STATE           MDS             ACTIVITY     DNS    INOS   DIRS   CAPS
     0    active  cephfs.ceph6.ggjywj  Reqs:    0 /s    10     13     12      0
           POOL           TYPE     USED  AVAIL
    cephfs.cephfs.meta  metadata  96.0k   284G
    cephfs.cephfs.data    data       0    284G
        STANDBY MDS
    cephfs.ceph3.ogcqkl
    Copy to Clipboard Toggle word wrap
  15. RGW サービスがアクティブであることを確認します。

    $ ceph orch ps | grep rgw
    Copy to Clipboard Toggle word wrap

    出力例:

    rgw.objectgw.ceph3.kkmxgb  ceph3  *:8080       running (7m)      3m ago   7m    52.7M        -  16.2.9
    rgw.objectgw.ceph6.xmnpah  ceph6  *:8080       running (7m)      3m ago   7m    53.3M        -  16.2.9
    Copy to Clipboard Toggle word wrap

3.5.3. Red Hat Ceph Storage ストレッチモードの設定

cephadm を使用して Red Hat Ceph Storage クラスターが完全にデプロイされたら、次の手順でストレッチクラスターモードを設定します。新しいストレッチモードは、2 サイトのケースを処理するように設計されています。

手順

  1. ceph mon dump コマンドを使用して、モニターが使用している現在の選挙戦略を確認します。ceph クラスターのデフォルトでは、接続はクラシックに設定されています。

    ceph mon dump | grep election_strategy
    Copy to Clipboard Toggle word wrap

    出力例:

    dumped monmap epoch 9
    election_strategy: 1
    Copy to Clipboard Toggle word wrap
  2. モニターの選択を接続に変更します。

    ceph mon set election_strategy connectivity
    Copy to Clipboard Toggle word wrap
  3. 前の ceph mon dump コマンドを再度実行して、election_strategy 値を確認します。

    $ ceph mon dump | grep election_strategy
    Copy to Clipboard Toggle word wrap

    出力例:

    dumped monmap epoch 10
    election_strategy: 3
    Copy to Clipboard Toggle word wrap

    さまざまな選択戦略の詳細は、モニター選出ストラテジーの設定 を参照してください。

  4. すべての Ceph モニターの場所を設定します。

    ceph mon set_location ceph1 datacenter=DC1
    ceph mon set_location ceph2 datacenter=DC1
    ceph mon set_location ceph4 datacenter=DC2
    ceph mon set_location ceph5 datacenter=DC2
    ceph mon set_location ceph7 datacenter=DC3
    Copy to Clipboard Toggle word wrap
  5. 各モニターに適切な場所があることを確認します。

    $ ceph mon dump
    Copy to Clipboard Toggle word wrap

    出力例:

    epoch 17
    fsid dd77f050-9afe-11ec-a56c-029f8148ea14
    last_changed 2022-03-04T07:17:26.913330+0000
    created 2022-03-03T14:33:22.957190+0000
    min_mon_release 16 (pacific)
    election_strategy: 3
    0: [v2:10.0.143.78:3300/0,v1:10.0.143.78:6789/0] mon.ceph1; crush_location {datacenter=DC1}
    1: [v2:10.0.155.185:3300/0,v1:10.0.155.185:6789/0] mon.ceph4; crush_location {datacenter=DC2}
    2: [v2:10.0.139.88:3300/0,v1:10.0.139.88:6789/0] mon.ceph5; crush_location {datacenter=DC2}
    3: [v2:10.0.150.221:3300/0,v1:10.0.150.221:6789/0] mon.ceph7; crush_location {datacenter=DC3}
    4: [v2:10.0.155.35:3300/0,v1:10.0.155.35:6789/0] mon.ceph2; crush_location {datacenter=DC1}
    Copy to Clipboard Toggle word wrap
  6. crushtool コマンドを使用するために ceph-base RPM パッケージをインストールして、この OSD クラッシュトポロジーを利用する CRUSH ルールを作成します。

    $ dnf -y install ceph-base
    Copy to Clipboard Toggle word wrap

    CRUSH ルールセットの詳細は、Ceph CRUSH ルールセット を参照してください。

  7. コンパイルされた CRUSH マップをクラスターから取得します。

    $ ceph osd getcrushmap > /etc/ceph/crushmap.bin
    Copy to Clipboard Toggle word wrap
  8. CRUSH マップを逆コンパイルし、これをテキストファイルに変換して編集できるようにします。

    $ crushtool -d /etc/ceph/crushmap.bin -o /etc/ceph/crushmap.txt
    Copy to Clipboard Toggle word wrap
  9. ファイルの末尾にあるテキストファイル /etc/ceph/crushmap.txt を編集して、以下のルールを CRUSH マップに追加します。

    $ vim /etc/ceph/crushmap.txt
    Copy to Clipboard Toggle word wrap
    rule stretch_rule {
            id 1
            type replicated
            min_size 1
            max_size 10
            step take default
            step choose firstn 0 type datacenter
            step chooseleaf firstn 2 type host
            step emit
    }
    # end crush map
    Copy to Clipboard Toggle word wrap

    この例は、両方の OpenShift Container Platform クラスターのアクティブなアプリケーションに適用されます。

    注記

    ルール id は一意である必要があります。この例では、id 0 のクラッシュルールがもう 1 つしかないため、id 1 を使用しています。デプロイメントにさらにルールが作成されている場合は、次の空き ID を使用します。

    宣言された CRUSH ルールには、次の情報が含まれています。

    • ルール名

      • 説明: ルールを識別する一意の完全な名前。
      • 値: stretch_rule
    • id

      • 説明: ルールを識別する一意の整数。
      • 値: 1
    • type

      • 説明: レプリケートまたはイレイジャーコーディングされたストレージドライブのルールを説明しています。
      • 値: replicated
    • min_size

      • 説明: プールがこの数よりも小さいレプリカを使用する場合、CRUSH はこのルールを選択しません。
      • 値: 1
    • max_size

      • 説明: プールがこの数よりも大きいレプリカを使用する場合、CRUSH はこのルールを選択しません。
      • 値: 10
    • step take default

      • 説明: default という名のルートバケットを取得し、ツリーの下方への反復を開始します。
    • step choose firstn 0 type datacenter

      • 説明: データセンターのバケットを選択し、そのサブツリーに入ります。
    • step chooseleaf firstn 2 type host

      • 説明: 指定されたタイプのバケットの数を選択します。この場合、前のレベルで入力したデータセンターにある 2 つの異なるホストです。
    • step emit

      • 説明: 現在の値を出力し、スタックを除算します。通常、ルールの最後に使用されますが、同じルール内の異なるツリーを選択する際に使用することもできます。
  10. ファイル /etc/ceph/crushmap.txt から新しい CRUSH マップをコンパイルし、これを /etc/ceph/crushmap2.bin というバイナリーファイルに変換します。

    $ crushtool -c /etc/ceph/crushmap.txt -o /etc/ceph/crushmap2.bin
    Copy to Clipboard Toggle word wrap
  11. 作成した新しいクラッシュマップをクラスターに注入します。

    $ ceph osd setcrushmap -i /etc/ceph/crushmap2.bin
    Copy to Clipboard Toggle word wrap

    出力例:

    17
    Copy to Clipboard Toggle word wrap
    注記

    数字の 17 はカウンターであり、クラッシュマップに加えた変更に応じて増加します (18、19 など)。

  12. 作成したストレッチルールが使用可能になったことを確認します。

    ceph osd crush rule ls
    Copy to Clipboard Toggle word wrap

    出力例:

    replicated_rule
    stretch_rule
    Copy to Clipboard Toggle word wrap
  13. ストレッチクラスターモードを有効にします。

    $ ceph mon enable_stretch_mode ceph7 stretch_rule datacenter
    Copy to Clipboard Toggle word wrap

    この例では、ceph7 が arbiter ノード、stretch_rule が前の手順で作成したクラッシュルール、datacenter が分割バケットです。

  14. すべてのプールが、Ceph クラスターに作成した stretch_rule CRUSH ルールを使用していることを確認します。

    $ for pool in $(rados lspools);do echo -n "Pool: ${pool}; ";ceph osd pool get ${pool} crush_rule;done
    Copy to Clipboard Toggle word wrap

    出力例:

    Pool: device_health_metrics; crush_rule: stretch_rule
    Pool: cephfs.cephfs.meta; crush_rule: stretch_rule
    Pool: cephfs.cephfs.data; crush_rule: stretch_rule
    Pool: .rgw.root; crush_rule: stretch_rule
    Pool: default.rgw.log; crush_rule: stretch_rule
    Pool: default.rgw.control; crush_rule: stretch_rule
    Pool: default.rgw.meta; crush_rule: stretch_rule
    Pool: rbdpool; crush_rule: stretch_rule
    Copy to Clipboard Toggle word wrap

    これは、arbiter モードで稼働中の Red Hat Ceph Storage ストレッチクラスターが利用可能になったことを示しています。

トップに戻る
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

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

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。 最新の更新を見る.

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

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

会社概要

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

Theme

© 2025 Red Hat