3.6. Ceph Object Gateway のインストール


Ceph Object Gateway は、RADOS ゲートウェイとも呼ばれ、librados API 上に構築されたオブジェクトストレージインターフェイスであり、アプリケーションに Ceph ストレージクラスターへの RESTful ゲートウェイを提供します。

前提条件

手順

Ansible 管理ノードで以下のタスクを実行します。

  1. [rgws] セクションの下の /etc/ansible/hosts ファイルにゲートウェイホストを追加して、それらのロールを Ansible に識別します。ホストに連続する命名がある場合は、以下のように範囲を使用します。

    [rgws]
    <rgw_host_name_1>
    <rgw_host_name_2>
    <rgw_host_name[3..10]>
    Copy to Clipboard
  2. Ansible 設定ディレクトリーに移動します。

    [root@ansible ~]# cd /usr/share/ceph-ansible
    Copy to Clipboard
  3. サンプルファイルから rgws.yml ファイルを作成します。

    [root@ansible ~]# cp group_vars/rgws.yml.sample group_vars/rgws.yml
    Copy to Clipboard
  4. group_vars/rgws.yml ファイルを開いて編集します。管理者キーを Ceph Object Gateway ノードにコピーするには、copy_admin_key オプションのコメントを解除します。

    copy_admin_key: true
    Copy to Clipboard
  5. rgws.yml ファイルでは、デフォルトの 7480 ポートとは異なるデフォルトポートを指定することができます。以下に例を示します。

    ceph_rgw_civetweb_port: 80
    Copy to Clipboard
  6. all.yml ファイルは radosgw_interface を指定する必要があります。以下に例を示します。

    radosgw_interface: eth0
    Copy to Clipboard

    インターフェイスを指定すると、同じホストで複数のインスタンスを実行している場合に、Civetweb が別の Civetweb インスタンスと同じ IP アドレスにバインドされないようにします。

  7. 通常、デフォルトの設定を変更するには、rgw.yml ファイル内の設定をアンコメントし、それに応じて変更します。rgw.yml ファイルにない設定に追加の変更を加えるには、all.yml ファイルで ceph_conf_overrides: を使用します。例えば、rgw_dns_name: に DNS サーバーのホストを設定し、クラスターの DNS サーバーをワイルドカード用に設定して S3 サブドメインを有効にします。

    ceph_conf_overrides:
       client.rgw.rgw1:
          rgw_dns_name: <host_name>
          rgw_override_bucket_index_max_shards: 16
          rgw_bucket_default_quota_max_objects: 1638400
    Copy to Clipboard

    詳細な設定の詳細は、Red Hat Ceph Storage 3 の 実稼働環境への Ceph Object Gateway ガイド を参照してください。高度なトピックには以下が含まれます。

  8. group_vars/all.yml ファイルの radosgw_interface パラメーターのコメントを外します。

    radosgw_interface: <interface>
    Copy to Clipboard

    以下を置き換えます。

    • Ceph Object Gateway がリッスンするインターフェイスを使用する <interface>

    詳細は、all.yml ファイルを参照してください。

  9. Ansible Playbook の実行:

    [user@admin ceph-ansible]$ ansible-playbook site.yml --limit rgws
    Copy to Clipboard
注記

Ansible は、各 Ceph Object Gateway が確実に実行されていることを確認します。

単一サイトの設定の場合は、Ceph ObjectGateway を Ansible 設定に追加します。

マルチサイトデプロイメントでは、各ゾーンの Ansible 設定を行う必要があります。つまり、Ansible によって、そのゾーン用に Ceph Storage クラスターおよびゲートウェイインスタンスが作成されます。

マルチサイトクラスターのインストールが完了したら、マルチサイト用のクラスターの設定方法は、Red Hat Ceph Storage 4 のObject Gateway Guide for Red Hat Enterprise Linuxマルチサイト の章に進んでください。

関連情報

3.6.1. マルチサイト Ceph Object Gateway の設定

Ansible は、マルチサイト環境の Ceph Object Gateway のレルム、ゾーングループ、マスターゾーン、セカンダリーゾーンを設定します。

前提条件

  • Red Hat Ceph Storage クラスターを実行する 2 つ。
  • Ceph Object Gateway ノード上で、Red Hat Ceph Storage インストールガイドRed Hat Ceph Storage のインストール要件 に記載のタスクを実行します。
  • ストレージクラスターごとに 1 つの Ceph Object Gateway をインストールして設定します。

手順

  1. プライマリーストレージクラスターの Ansible ノードで以下の手順を実行します。

    1. システムキーを生成し、multi-site-keys.txt ファイルで出力を取得します。

      [root@ansible ~]# echo system_access_key: $(cat /dev/urandom | tr -dc 'a-zA-Z0-9' | fold -w 20 | head -n 1) > multi-site-keys.txt
      [root@ansible ~]# echo system_secret_key: $(cat /dev/urandom | tr -dc 'a-zA-Z0-9' | fold -w 40 | head -n 1) >> multi-site-keys.txt
      Copy to Clipboard
    2. Ansible 設定ディレクトリー /usr/share/ceph-ansible に移動します。

      [root@ansible ~]# cd /usr/share/ceph-ansible
      Copy to Clipboard
    3. group_vars/all.yml ファイルを開いて編集します。以下のオプションを追加し、$ZONE_NAME$ZONE_GROUP_NAME$REALM_NAME$ACCESS_KEY$SECRET_KEY の値を適宜更新することで、マルチサイトのサポートを有効にします。

      複数の Ceph Object Gateway がマスターゾーンにある場合は、rgw_multisite_endpoints オプションを設定する必要があります。rgw_multisite_endpoints オプションの値は、コンマで区切られたリストで、スペースは含みません。

      rgw_multisite: true
      rgw_zone: $ZONE_NAME
      rgw_zonemaster: true
      rgw_zonesecondary: false
      rgw_multisite_endpoint_addr: "{{ ansible_fqdn }}"
      rgw_multisite_endpoints: http://foo.example.com:8080,http://bar.example.com:8080,http://baz.example.com:8080
      rgw_zonegroup: $ZONE_GROUP_NAME
      rgw_zone_user: zone.user
      rgw_realm: $REALM_NAME
      system_access_key: $ACCESS_KEY
      system_secret_key: $SECRET_KEY
      Copy to Clipboard

      注記

      ansible_fqdn ドメイン名は、セカンダリーストレージクラスターから解決可能である必要があります。

      注記

      新しい Object Gateway を追加するときは、Ansible Playbook を実行する前に、新しい Object Gateway のエンドポイント URL を使用して rgw_multisite_endpoints リストの最後に追加してください。

    4. Ansible Playbook の実行:

      [user@ansible ceph-ansible]$ ansible-playbook site.yml --limit rgws
      Copy to Clipboard
    5. Ceph Object Gateway デーモンを再起動します。

      [root@rgw ~]# systemctl restart ceph-radosgw@rgw.`hostname -s`
      Copy to Clipboard
  2. セカンダリーストレージクラスターの Ansible ノードで以下の手順を行います。

    1. Ansible 設定ディレクトリー /usr/share/ceph-ansible に移動します。

      [root@ansible ~]# cd /usr/share/ceph-ansible
      Copy to Clipboard
    2. group_vars/all.yml ファイルを開いて編集します。以下のオプションを追加し、$ZONE_NAME$ZONE_GROUP_NAME$REALM_NAME$ACCESS_KEY$SECRET_KEY の値を更新することで、マルチサイトのサポートを有効にします。rgw_zone_usersystem_access_keysystem_secret_key は、マスターゾーンの設定で使用したものと同じ値でなければなりません。rgw_pullhost オプションには、マスターゾーンの Ceph Object Gateway を指定する必要があります。

      複数の Ceph Object Gateway がセカンダリーゾーンにある場合は、rgw_multisite_endpoints オプションを設定する必要があります。rgw_multisite_endpoints オプションの値は、コンマで区切られたリストで、スペースは含みません。

      rgw_multisite: true
      rgw_zone: $ZONE_NAME
      rgw_zonemaster: false
      rgw_zonesecondary: true
      rgw_multisite_endpoint_addr: "{{ ansible_fqdn }}"
      rgw_multisite_endpoints: http://foo.example.com:8080,http://bar.example.com:8080,http://baz.example.com:8080
      rgw_zonegroup: $ZONE_GROUP_NAME
      rgw_zone_user: zone.user
      rgw_realm: $REALM_NAME
      system_access_key: $ACCESS_KEY
      system_secret_key: $SECRET_KEY
      rgw_pull_proto: http
      rgw_pull_port: 8080
      rgw_pullhost: $MASTER_RGW_NODE_NAME
      Copy to Clipboard

      注記

      ansible_fqdn ドメイン名は、プライマリーストレージクラスターから解決可能である必要があります。

      注記

      新しい Object Gateway を追加するときは、Ansible Playbook を実行する前に、新しい Object Gateway のエンドポイント URL を使用して rgw_multisite_endpoints リストの最後に追加してください。

    3. Ansible Playbook の実行:

      [user@ansible ceph-ansible]$ ansible-playbook site.yml --limit rgws
      Copy to Clipboard
    4. Ceph Object Gateway デーモンを再起動します。

      [root@rgw ~]# systemctl restart ceph-radosgw@rgw.`hostname -s`
      Copy to Clipboard
  3. マスターおよびセカンダリーストレージクラスターで Ansible Playbookを実行すると、アクティブ-アクティブ Ceph Object Gateway 設定が実行されます。
  4. マルチサイト Ceph Object Gateway の設定を確認します。

    1. 各サイトの Ceph Monitor ノードと Object Gateway ノードから、プライマリーとセカンダリーが他のサイトを curl できる必要があります。
    2. 両方のサイトで radosgw-admin sync status コマンドを実行します。
トップに戻る
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

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

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

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

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

会社概要

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

Theme

© 2025 Red Hat