3.9. Satellite での外部データベースの使用


Red Hat Satellite のインストールプロセスの一環として、satellite-installer コマンドは、Satellite と同じサーバーに MongoDB および PostgreSQL データベースをインストールします。特定の Satellite デプロイメントでは、外部データベースを使用するとサーバーの負荷を軽減できます。ただし、Satellite Server のパフォーマンスに影響を与える可能性のある要因は多数あります。外部データベースに移動しても、特定の問題は解決されない可能性があります。

外部データベースに MongoDB と PostgreSQL のどちらのデータベースが使用できるか (または両方使用できるか) については、要件によって異なります。

Red Hat では、外部データベースのメンテナンスのサポートやそのためのツールは提供していません。これにはバックアップ、アップグレード、データベースのチューニングが含まれます。外部データベースを使用するお客様には、データベースをサポートおよび保守するための独自のデータベース管理者が必要です。

お使いの Satellite デプロイメントで外部データベースを必要とする場合は、以下の情報を使用して、Satellite から外部データベースに参照するように設定します。

3.9.1. 外部データベースとして MongoDB を使用する際の注意点

Pulp は MongoDB データベースを使用します。MongoDB を外部データベースとして使用する場合、次の情報はこのオプションが Satellite 設定に適しているかどうかを判断するのに役立ちます。

外部 MongoDB の利点

  • Satellite 上の空きメモリーと空き CPU が増えます。
  • Satellite 操作にマイナスの影響をもたらすことなく MongoDB サーバーのシステムを調整する柔軟性が得られます。

外部 MongoDB のマイナス点

  • デプロイメントの複雑性が増し、問題解決がより困難になります。
  • 外部 MongoDB サーバーの場合は、パッチおよびメンテナンス対象に新たなシステムが加わることになります。
  • Satellite または Mongo データベースサーバーのいずれかにハードウェアまたはストレージ障害が発生すると、Satellite が機能しなくなります。
  • Satellite と外部データベースサーバーの間でレイテンシーが発生すると、パフォーマンスに影響が出る可能性があります。

Mongo データベースが遅いと思われる場合は、Red Hat サポートに問い合わせてトラブルシューティングを行うことができます。Satellite 6 で設定上の問題または既存のパフォーマンス上の問題が発生している可能性があり、外部データベースサーバーに移行しても解決しない可能性があります。Red Hat サポートは、既存の既知の問題を調査し、Satellite エンジニアリングチームと協力して根本原因を特定することができます。

3.9.2. 外部データベースとして PostgreSQL を使用する際の注意点

Foreman、Katello、および Candlepin は PostgreSQL データベースを使用します。PostgreSQL を外部データベースとして使用する場合、次の情報はこのオプションが Satellite 設定に適しているかどうかを判断するのに役立ちます。

外部 PostgreSQL の利点

  • Satellite 上の空きメモリーと空き CPU が増えます。
  • PostgreSQL データベースで shared_buffers を高い値に設定しても、Satellite 上の他のサービスの妨げるリスクがありません。
  • Satellite 操作にマイナスの影響をもたらすことなく PostgreSQL サーバーのシステムを調整する柔軟性が得られます。

外部 PostgreSQL のマイナス点

  • デプロイメントの複雑性が増し、問題解決がより困難になります。
  • 外部 PostgreSQL サーバーの場合は、パッチおよびメンテナンス対象に新たなシステムが加わることになります。
  • Satellite または PostgreSQL データベースサーバーのいずれかにハードウェアまたはストレージ障害が発生すると、Satellite が機能しなくなります。
  • Satellite Server とデータベースサーバーの間でレイテンシーが発生すると、パフォーマンスに影響が出ます。

お使いの Satellite 上の PostgreSQL データベースが原因でパフォーマンスの低下が生じている可能性がある場合は、Satellite 6: How to enable postgres query logging to detect slow running queries を参照して時間のかかっているクエリーがあるかどうか判定します。1 秒以上かかるクエリーがある場合は、通常、大規模インストールのパフォーマンスが原因であることが多く、外部データベースに移行しても問題解決が期待できません。時間のかかっているクエリーがある場合は、Red Hat サポートチームまでお問い合わせください。

3.9.3. 概要

Satellite 用にリモートデータベースを作成して使用するには、以下の手順を実行します。

  1. 使用「ストレージの要件とガイドライン」外部データベースのストレージ要件を計画する
  2. PostgreSQL で Foreman および Candlepin 用のデータベースを準備し、Foreman と Candlepin の所有権を持つ専用ユーザーを作成します。
  3. pulp_database を所有する pulp ユーザーで MongoDB を準備します。
  4. 最初の手順に従い、Satellite をインストールし、データベースが Satellite からアクセスできることを確認します。
  5. 新しいデータベースを指すように satellite-installer のパラメーターを編集し、satellite-installer を実行します。

データベースをインストールするための Red Hat Enterprise Linux Server 7 の準備

最新の Red Hat Enterprise Linux Server 7 を搭載し、ストレージ要件を満たす新規にプロビジョニングされたシステムが必要です。「ストレージの要件とガイドライン」

Red Hat Software Collections および Red Hat Enterprise Linux のサブスクリプションでは、外部データベースと Satellite を併用する場合に、正しいサービスレベルアグリーメントが提供されません。外部データベースに使用するベースシステムに Satellite サブスクリプションを接続する必要もあります。

  1. Satellite サブスクリプションの識別とホストへの接続 の手順に従って、Satellite サブスクリプションをサーバーに接続します。
  2. MongoDB および PostgreSQL サーバーを Red Hat Enterprise Linux Server 7 にインストールするには、すべてのリポジトリーを無効にし、以下のリポジトリーのみを有効にする必要があります。

    # subscription-manager repos --disable '*'
    # subscription-manager repos --enable=rhel-server-rhscl-7-rpms \
    --enable=rhel-7-server-rpms
    Copy to Clipboard Toggle word wrap

3.9.4. MongoDB のインストール

インストール可能な MongoDB は、内部データベースのインストール中に satellite-installer ツールでインストールされたものと同じバージョンの MongoDB のみになります。MongoDB はサポート対象のバージョンであれば、Red Hat Software Collections (RHSCL) リポジトリーからまたは外部ソースからインストールすることが可能です。Satellite は MongoDB バージョン 3.4 をサポートしています。

  1. MongoDB をインストールするには、以下のコマンドを入力します。

    # yum install rh-mongodb34 rh-mongodb34-syspaths
    Copy to Clipboard Toggle word wrap
  2. rh-mongodb34 サービスを起動して有効にします。

    # systemctl start rh-mongodb34-mongod
    # systemctl enable rh-mongodb34-mongod
    Copy to Clipboard Toggle word wrap
  3. pulp_database データベース用に、MongoDB に Pulp ユーザーを作成します。

    # mongo pulp_database \
    --eval "db.createUser({user:'pulp',pwd:'pulp_password',roles:[{role:'dbOwner', db:'pulp_database'},{ role: 'readWrite', db: 'pulp_database'}]})"
    Copy to Clipboard Toggle word wrap
  4. /etc/opt/rh/rh-mongodb34/mongod.conf ファイルでバインド IP を指定します。

    bindIp: your_mongodb_server_bind_IP,::1
    Copy to Clipboard Toggle word wrap
  5. /etc/opt/rh/rh-mongodb34/mongod.conf ファイルを編集して security セクションの認証を有効にします。

    security:
      authorization: enabled
    Copy to Clipboard Toggle word wrap
  6. rh-mongodb34-mongod サービスを再起動します。

    # systemctl restart rh-mongodb34-mongod
    Copy to Clipboard Toggle word wrap
  7. MongoDB にポート 27017 を開きます。

    # firewall-cmd --add-port=27017/tcp
    # firewall-cmd --runtime-to-permanent
    Copy to Clipboard Toggle word wrap
  8. Satellite Server から、データベースにアクセスできることをテストします。接続が成功すると、コマンドから 1 が返ります。

    # scl enable rh-mongodb34 " mongo --host mongo.example.com \
    -u pulp -p pulp_password --port 27017 --eval 'ping:1' pulp_database"
    Copy to Clipboard Toggle word wrap

3.9.5. PostgreSQL のインストール

インストール可能な PostgreSQL は、内部データベースのインストール中に satellite-installer ツールでインストールされたものと同じバージョンの PostgreSQL のみになります。Satellite は、Red Hat Enterprise Linux Server 7 リポジトリーを通じて利用可能な特定のバージョンの PostgreSQL のみをサポートします。バージョンがサポートされている限り、rhel-7-server-rpms リポジトリーまたは外部ソースを使用して PostgreSQL をインストールできます。サポートされているバージョンの PostgreSQL が含まれているリポジトリーと、サポートされているバージョンの詳細は、パッケージマニフェスト を参照してください。

  1. PostgreSQL をインストールするには、以下のコマンドを入力します。

    # yum install postgresql-server
    Copy to Clipboard Toggle word wrap
  2. PostgreSQL サービスを初期化して起動し、有効にするには、以下のコマンドを実行します。

    # postgresql-setup initdb
    # systemctl start postgresql
    # systemctl enable postgresql
    Copy to Clipboard Toggle word wrap
  3. /var/lib/pgsql/data/postgresql.conf ファイルで以下を行います。

    # vi /var/lib/pgsql/data/postgresql.conf
    Copy to Clipboard Toggle word wrap
  4. # を削除して、着信接続をリッスンするようにします。

    listen_addresses = '*'
    Copy to Clipboard Toggle word wrap
  5. /var/lib/pgsql/data/pg_hba.conf ファイルを編集します。

    # vi /var/lib/pgsql/data/pg_hba.conf
    Copy to Clipboard Toggle word wrap
  6. 以下の行をファイルに追加します。

      host  all   all   satellite_server_ip/24   md5
    Copy to Clipboard Toggle word wrap
  7. PostgreSQL サービスを再起動して、変更を適用します。

    # systemctl restart postgresql
    Copy to Clipboard Toggle word wrap
  8. 外部 PostgreSQL サーバーで postgresql ポートを開きます。

    # firewall-cmd --add-service=postgresql
    # firewall-cmd --runtime-to-permanent
    Copy to Clipboard Toggle word wrap
  9. postgres ユーザーに切り替え、PostgreSQL クライアントを起動します。

    $ su - postgres -c psql
    Copy to Clipboard Toggle word wrap
  10. Satellite と Candlepin 用にそれぞれ、データベース、および専用ロールを作成します。

    CREATE USER "foreman" WITH PASSWORD 'Foreman_Password';
    CREATE USER "candlepin" WITH PASSWORD 'Candlepin_Password';
    CREATE DATABASE foreman OWNER foreman;
    CREATE DATABASE candlepin OWNER candlepin;
    Copy to Clipboard Toggle word wrap
  11. Satellite Server から、データベースにアクセスできることをテストします。接続に成功した場合には、コマンドは 1 を返します。

    # PGPASSWORD='Foreman_Password' psql -h postgres.example.com  -p 5432 -U foreman -d foreman -c "SELECT 1 as ping"
    # PGPASSWORD='Candlepin_Password' psql -h postgres.example.com -p 5432 -U candlepin -d candlepin -c "SELECT 1 as ping"
    Copy to Clipboard Toggle word wrap
  12. Satellite 用にリモートデータベースをインストールして設定するには以下のコマンドを入力します。

    satellite-installer --scenario satellite \
      --foreman-db-host postgres.example.com \
      --foreman-db-password Foreman_Password \
      --foreman-db-database foreman \
      --katello-candlepin-db-host postgres.example.com \
      --katello-candlepin-db-name candlepin \
      --katello-candlepin-db-password Candlepin_Password \
      --katello-candlepin-manage-db false \
      --katello-pulp-db-username pulp \
      --katello-pulp-db-password pulp_password \
      --katello-pulp-db-seeds mongo.example.com:27017 \
      --katello-pulp-db-name pulp_database
    Copy to Clipboard Toggle word wrap

データベースのステータスを照会できます。たとえば、--only を指定して次のコマンドを入力し、postgresql または rh-mongodb34-mongod を追加します。

PostgreSQL の場合は、以下のコマンドを実行します。

# foreman-maintain service status --only postgresql
Copy to Clipboard Toggle word wrap

MongoDB の場合は、以下のコマンドを実行します。

# foreman-maintain service status --only rh-mongodb34-mongod
Copy to Clipboard Toggle word wrap
トップに戻る
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

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

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

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

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

会社概要

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

Theme

© 2025 Red Hat