第3章 内部 Satellite データベースから外部データベースへの移行
Red Hat Satellite のインストールプロセスの一部として、satellite-installer コマンド、PostgreSQL のデータベースを Satellite と同じサーバー上にインストールします。デフォルトの内部データベースを使用している場合で、サーバーの負荷を軽減するために外部データベースを使い初める必要がある場合は、内部データベースを外部データベースに移行することが可能です。
Satellite Server のデータベースが内部または外部なのかを確認するには、データベースのステータスをクエリーすることができます。
PostgreSQL の場合は、以下のコマンドを実行します。
# satellite-maintain service status --only postgresql
Red Hat では、外部データベースのメンテナンスのサポートやそのためのツールは提供していません。これにはバックアップ、アップグレード、データベースのチューニングが含まれます。外部データベースをサポートし、管理する自社のデータベース管理者が必要です。
デフォルトの内部データベースから外部データベースに移行するには、以下の手順を完了する必要があります。
- 「外部データベース用のホストの準備」外部データベースをホストする Red Hat Enterprise Linux 8 サーバーまたは Red Hat Enterprise Linux 7 サーバーを準備します。
- 「PostgreSQL のインストール」Satellite、Pulp および Candlepin を所有する専用ユーザーを作成し、PostgreSQL を Satellite、Pulp および Candlepin のデータベースで準備します。
-
「外部データベースへの移行」新規データベースを参照するように
satellite-installer
のパラメーターを編集し、satellite-installer
を実行します。
3.1. 外部データベースとして PostgreSQL を使用する際の注意点
Foreman、Katello、および Candlepin は PostgreSQL データベースを使用します。PostgreSQL を外部データベースとして使用する場合は、以下の情報を参照してお使いの Satellite 設定にこのオプションが適しているかどうかを判別してください。Satellite は PostgreSQL バージョン 12 をサポートします。
外部 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 サポートチームまでお問い合わせください。