第1章 インストールのための環境準備

1.1. システム要件

ネットワーク接続されたベースシステムには、以下の要件が適用されます。

  • x86_64 アーキテクチャー
  • Red Hat Enterprise Linux 7 Server の最新バージョン
  • 最低 4 コア 2.0 GHz CPU
  • Satellite Server が機能するには、最低 20 GB のメモリーが必要です。また、最低 4 GB のスワップ領域が推奨されます。最低値よりも少ないメモリーで実行している Satellite は正常に動作しないことがあります。
  • 一意なホスト名 (小文字、数字、ドット (.)、ハイフン (-) を使用できます)
  • 現在の Red Hat Satellite サブスクリプション
  • 管理ユーザー (root) アクセス
  • システム umask 0022
  • 完全修飾ドメイン名を使用した完全な正引きおよび逆引きの DNS 解決

Satellite Server をインストールする前に、環境がインストール要件を満たしていることを確認する必要があります。

Satellite Server は、新たにプロビジョニングしたシステムにインストールしておく。このシステムは、Satellite Server を実行するためだけに使用するようにします。Satellite Server が作成するローカルのユーザーとの競合を回避するため、新たにプロビジョニングしたシステムには、外部アイデンティティープロバイダーで設定した、以下のユーザーを使用しないようにしてください。

  • postgres
  • mongodb
  • apache
  • tomcat
  • foreman
  • foreman-proxy
  • qpidd
  • qdrouterd
  • squid
  • puppet
注記

Red Hat Satellite Server と Capsule Server のバージョンは同じでなければなりません。たとえば、Satellite 6.2 Server は 6.6 Capsule Server を実行できず、Satellite 6.6 Server は 6.2 Capsule Server を実行できません。Satellite Server と Capsule Server のバージョンが一致しないと、警告なしで Capsule Server が失敗します。

認定ハイパーバイザー

Satellite Server は、Red Hat Enterprise Linux の実行をサポートするハイパーバイザーで稼働する物理システムおよび仮想マシン両方を完全にサポートしています。認定ハイパーバイザーに関する詳細は、「Red Hat Enterprise Linux の実行が認定されているハイパーバイザー 」を参照してください。

FIPS モード

FIPS モードで稼働する Red Hat Enterprise Linux システムに、Satellite Server をインストールできます。詳細は、『Red Hat Enterprise Linux 7 セキュリティーガイド』の「FIPS モードの有効化」を参照してください。

1.2. ストレージの要件とガイドライン

このセクションでは、最小ストレージ要件を紹介し、Satellite Server と Capsule Server のインストールのストレージに関するガイドラインについて説明します。

1.2.1. ストレージ要件

以下の表には、特定のディレクトリーのストレージ要件が詳細に記載されています。これらの値は、想定のユースケースシナリオに基づいており、個別の環境に応じて異なることがあります。

ランタイムサイズは Red Hat Enterprise Linux 6、7、および 8 のリポジトリーと同期して測定されました。

表1.1 オフラインでの Satellite Server インストールのストレージ要件

ディレクトリーインストールサイズランタイムサイズ

/var/cache/pulp/

1M バイト

30 GB

/var/lib/pulp/

1 MB

300 GB

/var/lib/mongodb/

3.5 GB

50 GB

/var/lib/qpidd/

25 MB

適用外

/var/log/

10 MB

10 GB

/var/lib/pgsql/

100 MB

10 GB

/var/spool/squid/

0 MB

10 GB

/usr

3 GB

適用外

/opt

3 GB

適用外

/opt/puppetlabs

500 MB

適用外

1.2.2. ストレージのガイドライン

Satellite Server をインストールして効率性を向上する場合には、以下のガイドラインを考慮してください。

  • Satellite Server データと Capsule Server データの多くは /var ディレクトリーに格納されるため、LVM ストレージに /var をマウントして、システムがスケーリングできるようにしてください。
  • /var/cache/pulp//var/lib/pulp/ ディレクトリーに同じボリュームを使用することで、同期後に /var/cache/pulp/ から /var/lib/pulp/ にコンテンツを移動する時間を短縮できます。
  • /var/lib/pulp/ ディレクトリーと /var/lib/mongodb/ ディレクトリーには、高帯域幅で低レイテンシーのストレージの使用をお勧めします。Red Hat Satellite には I/O を大量に使用する操作が多数あるため、高レイテンシーで低帯域幅のストレージを使用すると、パフォーマンス低下の問題が発生します。インストールに、毎秒 60 - 80 メガバイトのスピードがあることを確認してください。fio ツールを使用すると、このデータが取得できます。fio ツールの詳細な使用方法は、Red Hat ナレッジベースのソリューション「Impact of Disk Speed on Satellite 6 Operations」を参照してください。
  • パフォーマンスを向上させるには、HDD (Hard Disk Drive) ではなく SSD (Solid State Drive) を使用します。
  • /var/lib/qpidd/ ディレクトリーでは、goferd サービスが管理するコンテンツホスト 1 つに対して使用される容量は 2 MB を少し超えます。たとえば、コンテンツホストの数が 10,000 個の場合、/var/lib/qpidd/ に 20 GB のディスク容量が必要になります。

ファイルシステムのガイドライン

  • XFS ファイルシステムは、ext4 では存在する inode の制限がないため、Red Hat Satellite 6 では XFS ファイルシステムを使用してください。Satellite は多くのシンボリックリンクを使用するため、ext4 とデフォルトの数の inode を使用する場合は、システムで inode が足りなくなる可能性が高くなります。
  • MongoDB は従来の I/O を使用してデータファイルにアクセスしないので、MongoDB では NFS を使用しないでください。また、NFS でデータファイルとジャーナルファイルの両方がホストされている場合にはパフォーマンスの問題が発生します。NFS を使用する必要がある場合は、/etc/fstab ファイルで bgnolock、および noatime のオプションを使用してボリュームをマウントします。
  • Pulp データストレージに NFS を使用しないでください。Pulp に NFS を使用すると、コンテンツの同期のパフォーマンスが低下します。
  • 入出力レイテンシーが高すぎるため、GFS2 ファイルシステムは使用しないでください。

ログファイルのストレージ

ログファイルは、/var/log/messages//var/log/httpd/、および /var/lib/foreman-proxy/openscap/content/ に書き込まれます。logrotate を使って、これらのファイルのサイズを管理できます。詳細は『システム管理者のガイド』の「ログローテーション」を参照してください。

ログメッセージに必要なストレージの正確な容量は、インストール環境および設定により異なります。

NFS マウントを使用する場合の SELinux の考慮事項

NFS 共有を使用して /var/lib/pulp ディレクトリーをマウントすると、SELinux は同期プロセスをブロックします。これを避けるには、以下の行を /etc/fstab に追加して、ファイルシステムテーブル内の /var/lib/pulp ディレクトリーの SELinux コンテキストを指定します。

nfs.example.com:/nfsshare  /var/lib/pulp/content  nfs  context="system_u:object_r:httpd_sys_rw_content_t:s0"  1 2

NFS 共有が既にマウントされている場合は、上記の方法を使用して再マウントし、以下のコマンドを入力します。

# chcon -R system_u:object_r:httpd_sys_rw_content_t:s0 /var/lib/pulp

重複パッケージ

異なるリポジトリーで重複するパッケージは、ディスク上に一度しか格納されないため、重複するパッケージを含む追加リポジトリーで必要なストレージが少なくて済みます。ストレージの多くは、/var/lib/mongodb/ ディレクトリーおよび /var/lib/pulp/ ディレクトリーに使用されます。これらのエンドポイントは手動で設定できません。ストレージの問題を回避するために、ストレージが /var ファイルシステムで利用可能であることを確認してください。

一時的なストレージ

/var/cache/pulp/ ディレクトリーは、同期中にコンテンツを一時的に保管するために使用されます。RPM 形式のコンテンツの場合、このディレクトリーには保管されるファイルは最大 5 RPM になります。各ファイルは、同期後に /var/lib/pulp/ ディレクトリーに移動します。デフォルトでは、同時に最大 8 個の RPM コンテンツ同期タスクを実行でき、それぞれに対して最大 1 GB のメタデータが使用されます。

ISO イメージ

ISO 形式のコンテンツについては、同期タスクごとに ISO ファイルはすべて、タスクが完了するまで /var/cache/pulp/ に保存されます。タスクが完了すると /var/lib/pulp/ ディレクトリーに移動します。

インストールや更新に ISO イメージを使用する予定の場合には、外部ストレージを提供するか、ISO ファイルを一時的に保存するために /var/tmp に領域を空けるようにする必要があります。

たとえば、4 つの ISO ファイル (それぞれのサイズが 4 GB) を同期している場合は、/var/cache/pulp/ ディレクトリーに合計 16 GB 必要になります。これらのファイルに必要な一時ディスク容量は通常 RPM コンテンツのサイズを超えるので、同期する ISO ファイルの数を考慮してください。

ソフトウェアコレクション

ソフトウェアコレクションは、/opt/rh/ ディレクトリーと /opt/theforeman/ ディレクトリーにインストールされます。

/opt ディレクトリーへのインストールには、root ユーザーによる書き込みパーミッションおよび実行パーミッションが必要です。

シンボリックリンク

/var/lib/pulp/ および /var/lib/mongodb/ にはシンボリックリンクは使用できません。

1.3. サポート対象オペレーティングシステム

オペレーティングシステムは、ディスク、ローカル ISO イメージ、キックスタート、または Red Hat がサポートする方法であれば他の方法でもインストールできます。Red Hat Satellite Server は、Satellite Server 6.6 のインストール時に入手可能な Red Hat Enterprise Linux 7 Server の最新バージョンでのみサポートされています。EUS または z-stream など、以前の Red Hat Enterprise Linux バージョンはサポートされません。

Red Hat Satellite Server には、@Base パッケージグループを含む Red Hat Enterprise Linux インストールが必要です。他のパッケージセットの変更や、サーバーの運用に直接必要でないサードパーティーの構成やソフトウェアは含めないようにしてください。機能強化や Red Hat 以外のセキュリティーソフトウェアもこの制限に含まれます。インフラストラクチャーにこのようなソフトウェアが必要な場合は、Satellite Server が完全に機能することを最初に確認し、その後でシステムのバックアップを作成して、Red Hat 以外のソフトウェアを追加します。

新しくプロビジョニングされたシステムに Satellite Server をインストールする。 Red Hat では、このシステムを Satellite Server の実行以外に使用するサポートはしていません。

1.4. サポート対象ブラウザー

Satellite は、最新版の Firefox および Google Chrome ブラウザーをサポートします。

Satellite Web UI とコマンドラインインターフェースは、英語、ポルトガル語、中国語 (簡体)、中国語(繁体)、韓国語、日本語、イタリア語、スペイン語、ロシア語、フランス語、ドイツ語に対応しています。

1.5. ポートとファイアウォールの要件

Satellite アーキテクチャーのコンポーネントで通信を行うには、ベースオペレーティングシステム上で、必要なネットワークポートが開放/解放されているようにしてください。また、ネットワークベースのファイアウォールでも、必要なネットワークポートを開放する必要があります。

この情報を使用して、ネットワークベースのファイアウォールを設定してください。クラウドソリューションによっては、ネットワークベースのファイアウォールと同様にマシンが分離されるので、特にマシン間の通信ができるように設定する必要があります。アプリケーションベースのファイアウォールを使用する場合には、アプリケーションベースのファイアウォールで、テーブルに記載のアプリケーションすべてを許可して、ファイアウォールに既知の状態にするようにしてください。可能であれば、アプリケーションのチェックを無効にして、プロトコルをベースにポートの通信を開放できるようにしてください。

統合 Capsule

Satellite Server には Capsule が統合されており、Satellite Server に直接接続されたホストは、以下のセクションのコンテキストでは Satellite のクライアントになります。これには、Capsule Server が実行されているベースシステムが含まれます。

Capsule のクライアント

Satellite と統合された Capsule ではなく、Capsule のクライアントであるホストには、Satellite Server へのアクセスが必要ありません。Satellite トポロジーの詳細は『Red Hat Satellite 6 のプランニング』の「Capsule ネットワーク」を参照してください。

使用している設定に応じて、必要なポートは変わることがあります。

ポートのマトリックス表は、Red Hat ナレッジベースソリューションの「Red Hat Satellite 6.6 List of Network Ports」を参照してください。

以下の表は、宛先ポートとネットワークトラフィックの方向を示しています。

表1.2 Satellite へのブラウザーベースユーザーインターフェース向けポート

ポートプロトコルサービス用途

443

TCP

HTTPS

Satellite へのブラウザーベース UI アクセス

80

TCP

HTTP

Satellite に Web UI でアクセスするための HTTPS へのリダイレクション (オプション)

表1.3 クライアントが Satellite と通信するためのポート

ポートプロトコルサービス用途

80

TCP

HTTP

Anaconda、yum、Katello 証明書およびテンプレートの取得向け、iPXE ファームウェアのダウンロード向け

443

TCP

HTTPS

サブスクリプション管理サービス、yum、Telemetry サービス、Katello エージェントへの接続向け

5646

TCP

AMQP

Capsule の Qpid ディスパッチルーターから Satellite の Qpid ディスパッチルーターへの通信

5647

TCP

AMQP

Satellite の Qpid ディスパッチルーターと通信する Katello エージェント

8000

TCP

HTTP

キックスタートテンプレートをホストにダウンロードする Anaconda、iPXE ファームウェアのダウンロード向け

8140

TCP

HTTPS

マスター接続に対する Puppet エージェント

9090

TCP

HTTPS

プロビジョニング時の検出イメージや、リモート実行 (Rex) 設定の SSH キーをコピーするための Satellite Server との通信で使用するために、統合 Capsule で Smart Proxy に SCAP レポートを送信

53

TCP および UDP

DNS

Satellite の統合 Capsule の DNS サービスへのクライアント DNS クエリー (オプション)

67

UDP

DHCP

Satellite の統合 Capsule ブロードキャストと、Satellite 統合 Capsule からプロビジョニングするクライアントに対する DHCP ブロードキャストを行うクライアント (オプション)

69

UDP

TFTP

プロビジョニングのために Satellite の統合 Capsule から PXE ブートイメージファイルをダウンロードするクライアント (オプション)

5000

TCP

HTTPS

Docker レジストリーのための Katello への接続 (オプション)

Satellite Server に直接接続された管理対象ホストは、統合された Capsule のクライアントとなるため、このコンテキストではクライアントになります。これには、Capsule Server が稼働しているベースシステムが含まれます。

表1.4 Capsule に通信する Satellite 向けポート

ポートプロトコルサービス用途

443

TCP

HTTPS

Capsule の Pulp サーバーへの接続

9090

TCP

HTTPS

Capsule のプロキシーへの接続

80

TCP

HTTP

bootdisk のダウンロード (オプション)

表1.5 オプションのネットワークポート

ポートプロトコルサービス用途

22

TCP

SSH

Remote Execution (Rex) および Ansible 向けの Satellite および Capsule からの通信

443

TCP

HTTPS

vCenter のコンピュートリソースに対する Satellite からの通信

5000

TCP

HTTP

OpenStack のコンピュートリソースまたは実行中のコンテナーに対する Satellite からの通信

22, 16514

TCP

SSH、SSL/TLS

libvirt のコンピュートリソースに対する Satellite からの通信

389、636

TCP

LDAP、LDAPS

LDAP およびセキュアな LDAP 認証ソースに対する Satellite からの通信

5900〜5930

TCP

SSL/TLS

ハイパーバイザー向け Web UI の NoVNC コンソールに対する Satellite からの通信

1.6. クライアントから Satellite Server への接続の有効化

Satellite Server の内部 Capsule のクライアントである Capsule とコンテンツホストは、Satellite のホストベースのファイアウォールとすべてのネットワークベースのファイアウォールを介したアクセスを必要とします。

本セクションでは、Satellite をインストールする Red Hat Enterprise Linux 7 システム上のホストベースのファイアウォールの設定と、クライアントからの受信接続を有効にし、これらの設定をシステムの再起動後にも保持する方法について説明します。使用するポートの詳細は「ポートとファイアウォールの要件」を参照してください。

ファイアウォールの設定

  1. クライアントから Satellite の通信用のポートを開放するには、Satellite をインストールするベースシステムで以下のコマンドを入力します。

    # firewall-cmd \
    --add-port="80/tcp" --add-port="443/tcp" \
    --add-port="5647/tcp" --add-port="8000/tcp" \
    --add-port="8140/tcp" --add-port="9090/tcp" \
    --add-port="53/udp" --add-port="53/tcp" \
    --add-port="67/udp" --add-port="69/udp" \
    --add-port="5000/tcp"
  2. 変更を永続化します。

    # firewall-cmd --runtime-to-permanent

1.7. ファイアウォール設定の確認

この手順を使用して、ファイアウォール設定への変更を検証します。

手順

ファイアウォールの設定を検証するには、以下の手順を実行します。

  1. 以下のコマンドを実行します。

    # firewall-cmd --list-all

詳細情報は、『Red Hat Enterprise Linux 7 セキュリティーガイド』の「firewalld の概要」を参照してください。

1.8. DNS 解決の検証

完全修飾ドメイン名を使用して完全な正引きおよび逆引き DNS 解決を検証すると、Satellite のインストール中の問題を回避できます。

ホスト名とローカルホストが正しく解決されることを確認します。

# ping -c1 localhost
# ping -c1 `hostname -f` # my_system.domain.com

名前解決に成功すると、以下のような出力が表示されます。

# ping -c1 localhost
PING localhost (127.0.0.1) 56(84) bytes of data.
64 bytes from localhost (127.0.0.1): icmp_seq=1 ttl=64 time=0.043 ms

--- localhost ping statistics ---
1 packets transmitted, 1 received, 0% packet loss, time 0ms
rtt min/avg/max/mdev = 0.043/0.043/0.043/0.000 ms

# ping -c1 `hostname -f`
PING hostname.gateway (XX.XX.XX.XX) 56(84) bytes of data.
64 bytes from hostname.gateway (XX.XX.XX.XX): icmp_seq=1 ttl=64 time=0.019 ms

--- localhost.gateway ping statistics ---
1 packets transmitted, 1 received, 0% packet loss, time 0ms
rtt min/avg/max/mdev = 0.019/0.019/0.019/0.000 ms

静的および一時的なホスト名との不一致を避けるには、次のコマンドを入力して、システム上のすべてのホスト名を設定します。

# hostnamectl set-hostname name

詳細は、『Red Hat Enterprise Linux 7 ネットワークガイド』の「hostnamectl を使ったホスト名の設定」を参照してください。

警告

Satellite 6 の運用には名前解決が非常に重要です。Satellite が完全修飾ドメイン名を適切に解決できないと、多くのオプションが失敗します。これらのオプションには、コンテンツ管理、サブスクリプション管理、およびプロビジョニングがあります。