オフラインネットワークからの Satellite Server のインストール
オフラインネットワークからの Red Hat Satellite Server のインストール
Red Hat Satellite Documentation Team
satellite-doc-list@redhat.com
概要
第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
ファイルでbg
、nolock
、および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 システム上のホストベースのファイアウォールの設定と、クライアントからの受信接続を有効にし、これらの設定をシステムの再起動後にも保持する方法について説明します。使用するポートの詳細は「ポートとファイアウォールの要件」を参照してください。
ファイアウォールの設定
クライアントから 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"
変更を永続化します。
# firewall-cmd --runtime-to-permanent
1.7. ファイアウォール設定の確認
この手順を使用して、ファイアウォール設定への変更を検証します。
手順
ファイアウォールの設定を検証するには、以下の手順を実行します。
以下のコマンドを実行します。
# 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 が完全修飾ドメイン名を適切に解決できないと、多くのオプションが失敗します。これらのオプションには、コンテンツ管理、サブスクリプション管理、およびプロビジョニングがあります。
第2章 Satellite Server のインストール
本章では、Red Hat Satellite Server のインストール、初期設定、マニフェストの作成およびインストール、および追加設定の実行について説明します。
Satellite Server は、以下の 2 つのインストール方法があります。
オンラインインストール
Satellite Server のインストールに必要なパッケージは、Red Hat コンテンツ配信ネットワーク (CDN) から直接取得できます。CDN を使用すると、システムは常に最新のアップデートを受信できます。
オフラインインストール
外部のコンピューターを使用してパッケージの ISO イメージをダウンロードして、それを Satellite Server のインストール先のシステムにコピーする必要があります。非接続環境が必要な場合にのみ、ISO イメージを使用してください。ISO イメージには最新のアップデートが含まれていない場合があります。
Satellite Server をそれ自体に登録することはできません。
2.1. 切断されたネットワークからのダウンロードおよびインストール
Red Hat Satellite Server のホストがオフライン環境にある場合は、ISO イメージを使用して Satellite Server をインストールできます。ISO イメージには最新のアップデート、バグフィックス、および機能が含まれないことがあるため、この方法はこの環境以外では推奨されません。
作業開始前の準備
-
インストールで使用されたリポジトリーのコピーは
/opt/
ディレクトリーに格納されます。このファイルシステムとディレクトリーのために最低 3GB の領域を確保してください。
2.1.1. バイナリー DVD イメージのダウンロード
- Red Hat カスタマーポータル に移動し、ログインします。
- ダウンロード をクリックします。
- Red Hat Enterprise Linux を選択します。
製品とバージョンがご使用の環境に適切であることを確認します。
- Product Variant (製品のバリアント) は Red Hat Enterprise Linux Server に設定されます。
- Version (バージョン) は、ベースシステムとして使用する予定の製品の最新マイナーバージョンに設定されます。
- Architecture (アーキテクチャー) は 64 ビットバージョンに設定されます。
- Product Software (製品ソフトウェア) タブで、最新の Red Hat Enterprise Linux Server バージョン向けのバイナリー DVD イメージをダウンロードします。
- DOWNLOADS (ダウンロード) をクリックし、Red Hat Satellite を選択します。
製品とバージョンがご使用の環境に適切であることを確認します。
- Product Variant (製品のバリアント) は Red Hat Satellite に設定されます。
- Version (バージョン) は、ベースシステムとして使用する予定の製品の最新マイナーバージョンに設定されます。
- Architecture (アーキテクチャー) は 64 ビットバージョンに設定されます。
- Product Software (製品ソフトウェア) タブで、最新の Red Hat Satellite バージョン向けのバイナリー DVD イメージをダウンロードします。
ISO ファイルを Satellite ベースシステムの
/var/tmp
または他のアクセス可能なストレージデバイスにコピーします。# scp localfile username@hostname:remotefile
2.1.2. オフラインリポジトリーでベースシステムの設定
ベースシステムのバージョンに対応する ISO ファイルのマウントポイントとして使用するディレクトリーを作成します。
# mkdir /media/rhel7-server
Red Hat Enterprise Linux の ISO イメージをマウントポイントにマウントします。
# mount -o loop rhel7-Server-DVD.iso /media/rhel7-server
ISO ファイルのリポジトリーデータファイルをコピーします。
# cp /media/rhel7-server/media.repo /etc/yum.repos.d/rhel7-server.repo
リポジトリーデータファイルを編集し、
baseurl
ディレクティブを追加します。baseurl=file:///media/rhel7-server/
リポジトリーが設定されたことを確認します。
# yum repolist
Satellite Server の ISO ファイルのマウントポイントとして使用するディレクトリーを作成します。
# mkdir /media/sat6
Red Hat Satellite Server の ISO イメージをマウントポイントにマウントします。
# mount -o loop sat6-DVD.iso /media/sat6
2.1.3. オフラインリポジトリーからのインストール
Red Hat Enterprise Linux Server と Red Hat Satellite の ISO イメージがマウントされていることを確認します。
# findmnt -t iso9660
Red Hat GPG キーをインポートします。
# rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
バイナリー DVD イメージを使用してベースシステムを最新の状態にします。
# yum update
Satellite ISO がマウントされたディレクトリーに移動します。
# cd /media/sat6/
マウントされたディレクトリーでインストールスクリプトを実行します。
# ./install_packages
Satellite パッケージが正常にインストールされると、以下のメッセージが表示されます:
Install is complete. Please run satellite-installer --scenario satellite
2.1.4. パッケージの依存関係エラーの解決
Satellite Server パッケージのインストール中にパッケージの依存関係エラーが発生した場合、Red Hat カスタマーポータルからパッケージをダウンロードおよびインストールすることで、エラーを解決できます。依存関係エラーの解決に関する詳細は、KCS ソリューション 「How can I use the yum output to solve yum dependency errors?」 を参照してください。
Satellite パッケージを正常にインストールした場合は、この手順をスキップしてください。
手順
- Red Hat カスタマーポータル に移動して、ログインします。
- ダウンロード をクリックします。
- ダウンロードするパッケージが含まれる製品をクリックします。
- 環境に適した 製品バリアント、バージョン、アーキテクチャー が選択されていることを確認します。
- パッケージ タブをクリックします。
- 検索 フィールドに、パッケージの名前を入力します。
- パッケージをクリックします。
- バージョン リストからパッケージのバージョンを選択します。
- ページの下部で、今すぐダウンロード をクリックします。
- パッケージを Satellite ベースシステムにコピーします。
Satellite Server でパッケージが配置されているディレクトリーに、移動します。
# cd /path-to-package/
ローカルでパッケージをインストールします。
# yum localinstall package_name
Satellite ISO がマウントされたディレクトリーに移動します。
# cd /media/sat6/
Satellite Server パッケージをインストールして、パッケージの依存関係エラーを解決したことを確認してください。パッケージの依存関係エラーがさらにある場合は、この手順を繰り返します。
# ./install_packages
Satellite パッケージが正常にインストールされると、以下のメッセージが表示されます:
Install is complete. Please run satellite-installer --scenario satellite
2.2. 初期設定の実行
本セクションでは、Red Hat Satellite Server インストール時のホストオペレーティングシステムの初期設定について説明します。時間の同期、sos パッケージのインストール、インストールオプションの指定などが含まれます。
作業を進める前に、使用している環境に適切なマニフェストまたはパッケージを確認します。マニフェストについての詳細は『Red Hat Satellite コンテンツ管理ガイド』の「サブスクリプションの管理」を参照してください。
2.2.1. chronyd とシステムクロックの同期
時間のずれを最小限に抑えるには、Satellite Server をインストールするベースシステムのシステムクロックを Network Time Protocol (NTP) サーバーと同期する必要があります。ベースシステムのクロックが正しく設定されていない場合には、証明書の検証に失敗する可能性があります。
chrony
スイートに関する詳細は、『Red Hat Enterprise Linux 7 システム管理者ガイド』の「chrony スイートを使用した NTP の設定」を参照してください。
手順
システムクロックを同期するには、以下の手順を実行します。
chrony
パッケージをインストールします。# yum install chrony
chronyd
サービスを起動して、有効にします。# systemctl start chronyd # systemctl enable chronyd
2.2.2. ホストオペレーティングシステムへの SOS パッケージのインストール
ホストオペレーティングシステムには sos パッケージをインストールする必要があります。sos パッケージを使用すると、Red Hat Enterprise Linux システムから設定と診断情報を収集できるだけでなく、Red Hat テクニカルサポートへのサービスリクエストの起票時に必要な初期システム分析を提示できます。sos の使用方法に関する詳細は、カスタマーポータルのナレッジベースソリューション「What is a sosreport and how to create one in Red Hat Enterprise Linux 4.6 and later?」を参照してください。
sos パッケージをインストールします。
# yum install sos
2.2.3. インストールオプションの指定
Satellite Server は satellite-installer
インストールスクリプトを使用してインストールし、初期設定の一部として自動または手動で Satellite を設定します。
以下のいずれかの設定方法を選択します。
自動設定: この方法は、インストールスクリプトの実行時に応答ファイルを使用して設定プロセスを自動化することで実行します。応答ファイルとは、コマンドやスクリプトによって読み込まれるパラメーター一覧が含まれているファイルです。デフォルトの Satellite 応答ファイルは、
/etc/foreman-installer/scenarios.d/satellite-answers.yaml
です。使用する応答ファイルは、/etc/foreman-installer/scenarios.d/satellite.yaml
設定ファイル内のanswer_file
ディレクティブで設定します。応答ファイルを使用したインストールスクリプトによる初期設定の実行方法は「応答ファイルを使用した初期設定の自動実行」を参照してください。
手動設定: 1 つ以上のコマンドオプションが含まれるインストールスクリプトを実行します。コマンドオプションは、対応するデフォルトの初期設定オプションを上書きし、Satellite 応答ファイルに記録されます。必要なオプションを設定するために、スクリプトは何回でも実行することができます。
コマンドラインオプションを使用したインストールスクリプトによる初期設定を実行するには、「手動による初期設定」を参照してください。
Satellite インストーラーの実行時に使用するオプションによっては、設定が完了するのに数分かかることがあります。管理者は、応答ファイルを見ることで、両方の方法でこれまでに使用されたオプションを確認できます。
2.2.3.1. 手動による初期設定
初期設定では、組織、場所、ユーザー名、およびパスワードが作成されます。初期設定後に、必要に応じて追加の組織と場所を作成できます。初期設定では、MongoDB および PostgreSQL データベースも同じサーバーにインストールします。デプロイメントによっては、外部のデータベースを使用する方がパフォーマンスが向上する可能性があります。詳細は、「Satellite での外部データベースの使用」 を参照してください。
インストールプロセスの完了には、数十分かかることがあります。システムにリモートで接続する場合は、リモートシステムから切断された場合にインストールの進捗を確認できるよう、通信セッションの一時中断または再接続を許可できる screen
などのユーティリティーの使用を検討してください。Red Hat ナレッジベースの記事「How to use the screen command」には screen
のインストールについて記載されています。詳細はscreen
の man ページを参照してください。インストールコマンドを実行しているシェルへの接続が切断された場合は、/var/log/foreman-installer/satellite.log
のログを参照してプロセスが正常に完了したかどうかを確認します。
手動設定に関する考慮事項
satellite-installer --scenario satellite --help
コマンドを使用して、利用可能なオプションとすべてのデフォルト値を表示します。値を指定しない場合は、デフォルト値が使用されます。
--foreman-initial-organization
オプションに、意味を持つ値を指定します。たとえば、会社名を指定できます。値に一致する内部ラベルが作成されますが、このラベルは後で変更できません。値を指定しない場合は、ラベルが Default_Organization の Default Organization という名前の組織が作成されます。組織名は変更できますが、ラベルは変更できません。
デフォルトでは、インストーラーが設定するすべての設定ファイルが Puppet によって管理されます。satellite-installer
を実行すると、Puppet が管理するファイルに手動で加えられた変更が初期値で上書きされます。Satellite Server は、デフォルトでは、サービスとして実行している Puppet エージェントを使用してインストールされます。必要に応じて、--puppet-runmode=none
オプションを使用して、Satellite Server で Puppet エージェントを無効にできます。
DNS ファイルと DHCP ファイルを手動で管理する場合には、--foreman-proxy-dns-managed=false
オプションと --foreman-proxy-dhcp-managed=false
オプションを使用して、各サービスに関連するファイルが Puppet で管理されないようにします。他のサービスにカスタム設定を適用する方法は「付録A Red Hat Satellite へのカスタム設定の適用」を参照してください。
Multihomed DHCP の詳細の追加
Multihomed DHCP を使用する場合は、ネットワークインターフェースファイルの更新が必要です。
/etc/systemd/system/dhcpd.service.d/interfaces.conf
ファイルで、以下の行を編集して Multihomed DHCP を追加します。[Service] ExecStart=/usr/sbin/dhcpd -f -cf /etc/dhcp/dhcpd.conf -user dhcpd -group dhcpd --no-pid eth0 eth1 eth2
以下のコマンドを入力して、デーモンのリロードを実行します。
# systemctl --system daemon-reload
以下のコマンドを入力して、dhcpd サービスを再起動します。
# systemctl restart dhcpd.service
Satellite Server の手動設定
初期設定を手動で実行するには、使用する追加オプションを指定し、以下のコマンドを入力します。
# satellite-installer --scenario satellite \ --foreman-initial-organization "initial_organization_name" \ --foreman-initial-location "initial_location_name" \ --foreman-initial-admin-username admin_user_name \ --foreman-initial-admin-password admin_password
このスクリプトは、進捗を表示し、/var/log/foreman-installer/satellite.log
にログを記録します。
ISO イメージをアンマウントします。
# umount /media/sat6 # umount /media/rhel7-server
2.2.3.2. 応答ファイルを使用した初期設定の自動実行
応答ファイルを使用すると、カスタマイズされたオプションでインストールを自動化できます。最初の応答ファイルには、部分的に情報が入力されます。応答ファイルには、satellite-installer
スクリプトの初回実行後に、インストール向けの標準的なパラメーター値が入力されます。いつでも Satellite Server の設定は変更できます。
ネットワークの変更の場合は、可能な限り、IP アドレスの代わりに FQDN を使用する必要があります。
応答ファイルを使用した Satellite Server の自動設定
デフォルトの応答ファイル
/etc/foreman-installer/scenarios.d/satellite-answers.yaml
をローカルファイルシステムの場所にコピーします。# cp /etc/foreman-installer/scenarios.d/satellite-answers.yaml \ /etc/foreman-installer/scenarios.d/my-answer-file.yaml
-
設定可能なすべてのオプションを表示するには、
satellite-installer --scenario satellite --help
コマンドを実行します。 - 応答ファイルのコピーを開き、ご使用の環境に適した値を編集し、ファイルを保存します。
/etc/foreman-installer/scenarios.d/satellite.yaml
ファイルを開き、カスタム応答ファイルを参照する応答ファイルエントリーを編集します。:answer_file: /etc/foreman-installer/scenarios.d/my-answer-file.yaml
satellite-installer
スクリプトを実行します。# satellite-installer --scenario satellite
切断環境でインストールしている場合は、ISO イメージをアンマウントします。
# umount /media/sat6 # umount /media/rhel7-server
2.2.4. カスタマーポータルでサブスクリプションの割り当ての作成
サブスクリプション情報は、Red Hat カスタマーポータルでアクセスできます。そこでサブスクリプション割り当てを使用して、Red Hat Satellite Server などのオンプレミス管理アプリケーションで使用するサブスクリプションを割り当てることができます。
- ブラウザーで https://access.redhat.com/ を開き、Red Hat サブスクリプション管理にシステムを登録する時に使用したアカウントにログインします。
- カスタマーポータルの左上にある サブスクリプション に移動します。
- サブスクリプション割り当て に移動します。
- 新規サブスクリプションの割り当てを作成 をクリックします。
- 名前 フィールドに名前を入力します。
- タイプ の一覧から、お使いの Satellite Server に一致するタイプとバージョンを選択します。
- 作成 をクリックします。
2.2.5. 割り当てへのサブスクリプションの追加
以下の手順では、サブスクリプションを割り当てに追加する方法について説明します。
- ブラウザーで https://access.redhat.com/ を開き、Red Hat サブスクリプション管理にシステムを登録する時に使用したアカウントにログインします。
- カスタマーポータルの左上にある サブスクリプション に移動します。
- サブスクリプション割り当て に移動します。
- 更新する割り当てをクリックします。
- サブスクリプション タブをクリックします。
- サブスクリプションの追加 をクリックします。
- Red Hat 製品サブスクリプションの一覧が表示されます。各製品に対するエンタイトルメントの数量 を入力します。
- 送信 をクリックして割り当てを完了します。
割り当てにサブスクリプションを追加したら、マニフェストファイルをエクスポートします。
2.2.6. カスタマーポータルからのサブスクリプションマニフェストのエクスポート
1 つ以上のサブスクリプションがあるサブスクリプション割り当てを表示し、以下のいずれかからマニフェストをエクスポートできます。
- サブスクリプション セクションの 詳細 タブから マニフェストのエクスポート ボタンをクリックします。
- サブスクリプション タブから マニフェストのエクスポート ボタンをクリックします。
マニフェストをエクスポートすると、カスタマーポータルにより、選択したサブスクリプション証明書がエンコードされ、.zip アーカイブが作成されます。作成した .zip アーカイブはサブスクリプションのマニフェストで、Satellite Server にアップロードできます。
2.2.7. Satellite Server へのサブスクリプションマニフェストのインポート
Red Hat Satellite 6 Web UI と CLI は、マニフェストをインポートする手段を提供します。
前提条件
- Satellite Server で切断モードが有効になっていることを確認する。詳細は、「切断モードの有効化」 を参照してください。
Web UI をご利用の場合
- コンテキストが、使用する組織に設定されていることを確認します。
- コンテンツ > サブスクリプション に移動します。
- マニフェストの管理 をクリックして、組織のマニフェストページを表示します。
- ファイルの選択 をクリックしてサブスクリプションマニフェストを選択し、アップロード をクリックします。
-
ファイルの選択 をクリックして、カスタマーポータルからエクスポートした
.zip
形式のマニフェストアーカイブを選択します。
CLI をご利用の場合
Red Hat Satellite 6 CLI を使用するには、マニフェストが Satellite Server 上にある必要があります。ローカルクライアントシステムで、マニフェストを Satellite Server にコピーします。
[user@client ~]$ scp ~/manifest_file.zip root@satellite.example.com:~/.
次に、以下のコマンドを使用してインポートします。
[root@satellite ~]# hammer subscription upload \ --file ~/manifest_file.zip \ --organization "organization_name"
数分後、CLI により、マニフェストのインポートに成功したことが報告されます。
上記の手順を完了すると、リポジトリーを有効にして Red Hat コンテンツをインポートできるようになります。これは、後に続くいくつかの手順での前提条件になります。詳細は、『Red Hat Satellite コンテンツ管理ガイド』の「Red Hat コンテンツのインポート」を参照してください。
2.2.8. 切断モードの有効化
Satellite Server で切断モードを有効にします。切断モードが有効な場合には、Satellite Server は Red Hat コンテンツ配信ネットワーク (CDN) にアクセスしません。
手順
Satellite Server で切断モードを有効にするには、以下の手順を実行します。
- Satellite Web UI で、管理 > 設定 に移動します。
- コンテンツ タブをクリックします。
-
切断モード
の値をはい
に設定します。
CLI を使用する場合
Satellite Server で以下のコマンドを入力します。
# hammer settings set --name content_disconnected --value true
第3章 Satellite Server での追加設定の実行
3.1. コンテンツをローカル CDN サーバーと同期するための Satellite の設定
オフライン環境で、最新のセキュリティー更新、エラータ、パッケージをシステムにプロビジョニングするために必要なコンテンツが Satellite Server に含まれていることを確認する必要があります。これには、Red Hat カスタマーポータルからコンテンツの ISO イメージをダウンロードして、ローカルの CDN サーバーにインポートする手順を実行してください。Satellite Server のベースオペレーティングシステムか、HTTP 経由で Satellite にアクセス可能なシステムで、ローカル CDN サーバーをホストできます。次に、Satellite Server がローカルの CDN サーバーとコンテンツを同期するように設定する必要があります。
手順
- Red Hat カスタマーポータル https://access.redhat.com へ移動し、ログインします。
- 画面の左上で、ダウンロード をクリックし、Red Hat Satellite を選択します。
- コンテンツ ISO タブをクリックします。このページには、サブスクリプションで利用できるすべての製品が一覧表示されます。
- Red Hat Enterprise Linux 7 Server (x86_64) などの製品名のリンクをクリックして、ISO イメージをダウンロードします。
すべての Satellite コンテンツ ISO イメージを、ローカル CDN サーバーとして使用するシステムにコピーします。たとえば、Satellite Server の
/root/isos
ディレクトリーなどです。Satellite がインストールされているシステムにコンテンツを保存する必要はない点にご留意ください。CDN は、HTTP 経由で Satellite Server にアクセスできる限り、同じオフラインネットワーク内の別のシステムでホストできます。
ローカル CDN サーバーとして使用するシステムで、httpd 経由でアクセス可能なローカルディレクトリーを作成します (例:
/var/www/html/pub/sat-import/
)。# mkdir -p /var/www/html/pub/sat-import/
マウントポイントを作成し、その場所に ISO イメージを一時的にマウントします。
# mkdir /mnt/iso # mount -o loop /root/isos/first_iso /mnt/iso
最初の ISO イメージのコンテンツをローカルディレクトリーに再帰的にコピーします。
# cp -ruv /mnt/iso/* /var/www/html/pub/sat-import/
マウントされたバイナリー DVD ISO イメージを使用する予定がない場合は、マウントポイントをアンマウントして削除します。
# umount /mnt/iso # rmdir /mnt/iso
-
各 ISO で上記の作業を繰り返して、コンテンツ ISO イメージからすべてのデータを
/var/www/html/pub/sat-import/
にコピーします。 ディレクトリーに正しい SELinux コンテキストが設定されていることを確認します。
# restorecon -rv /var/www/html/pub/sat-import/
- Satellite Web UI で、コンテンツ > サブスクリプション に移動します。
- マニフェストの管理 をクリックします。
以下の例のように、ローカルの CDN サーバーとして使用するシステムのホスト名に、新規作成したディレクトリーを指定して参照するように、Red Hat CDN URL フィールドを編集します。
- 更新 をクリックして、マニフェストを Satellite にアップロードします。
3.2. キックスタートリポジトリーのインポート
キックスタートリポジトリーは、コンテンツ ISO イメージでは提供されません。オフラインの Satellite でキックスタートリポジトリーを使用するには、使用する Red Hat Enterprise Linux のバージョンのバイナリー DVD ISO ファイルをダウンロードし、キックスタートファイルを Satellite にコピーする必要があります。
手順
- Red Hat カスタマーポータル https://access.redhat.com/ へ移動し、ログインします。
- ウィンドウの右上隅で ダウンロード をクリックします。
- 使用する Red Hat Enterprise Linux のバージョンを探してクリックします (たとえば、Red Hat Enterprise Linux 8 など)。
- Red Hat Enterprise Linux のダウンロードウィンドウで、ISO イメージのバイナリー DVD バージョン (たとえば、Red Hat Enterprise Linux 8.1 バイナリー DVD) を見つけて、今すぐダウンロード をクリックします。
- ダウンロードが完了したら、ISO イメージをSatellite Server にコピーします。
Satellite Server で、マウントポイントを作成し、その場所に ISO イメージを一時的にマウントします。
# mkdir /mnt/iso # mount -o loop rhel-8.1-x86_64-dvd.iso /mnt/iso
AppStream および BaseOS のキックスタートディレクトリーを作成します。
# mkdir /var/www/html/pub/sat-import/content/dist/rhel8/8.1/x86_64/appstream/kickstart # mkdir /var/www/html/pub/sat-import/content/dist/rhel8/8.1/x86_64/baseos/kickstart
Red Hat Enterprise Linux 7 を使用する場合は、1 つのディレクトリーのみで、以下のすべての手順を作成して完了する必要があることに注意してください。
/var/www/html/pub/sat-import/content/dist/rhel/server/7/7.7/x86_64/kickstart/
。/var/www/html/pub/sat-import/content/dist/rhel8/8.1/x86_64/appstream/listing
および/var/www/html/pub/sat-import/content/dist/rhel8/8.1/x86_64/baseos/listing
のリストファイルに対して、kickstart
を追加して改行します。kickstart
/var/www/html/pub/sat-import/content/dist/rhel8/listing
のリストファイルに対して、使用するオペレーティングシステムの ISO のバージョン番号を追加して改行します。たとえば、RHEL 8.1 バイナリー ISO の場合、8.1
を追加して改行します。8.1
ISO イメージから
kickstart
ファイルをコピーします。# cp -a /mnt/iso/AppStream/* \ /var/www/html/pub/sat-import/content/dist/rhel8/8.1/x86_64/appstream/kickstart # cp -a /mnt/iso/BaseOS/* /mnt/iso/images/ \ /var/www/html/pub/sat-import/content/dist/rhel8/8.1/x86_64/baseos/kickstart
BaseOS の場合は、
/mnt/iso/images/
ディレクトリーのコンテンツもコピーする必要があることに注意してください。ISO イメージから
.treeinfo
ファイルをコピーします。# cp /mnt/iso/.treeinfo \ /var/www/html/pub/sat-import/content/dist/rhel8/8.1/x86_64/appstream/kickstart/treeinfo # cp /mnt/iso/.treeinfo \ /var/www/html/pub/sat-import/content/dist/rhel8/8.1/x86_64/baseos/kickstart/treeinfo
-
/var/www/html/pub/sat-import/content/dist/rhel8/8.1/x86_64/baseos/kickstart/treeinfo
ファイルを開いて編集します。 [general]
セクションで、以下の変更を加えます。-
packagedir = AppStream/Packages
をpackagedir = Packages
に変更します。 -
repository = AppStream
をrepository = .
に変更します。 -
variant = AppStream
をvariant = BaseOS
に変更します。 -
variants = AppStream,BaseOS
をvariants = BaseOS
に変更します。
-
-
[tree]
セクションで、variants = AppStream,BaseOS
をvariants = BaseOS
に変更します。 [variant-BaseOS]
セクションで、以下の変更を加えます。-
packages = BaseOS/Packages
をpackages = Packages
に変更します。 -
repository = BaseOS
をrepository = .
に変更します。
-
-
[media]
および[variant-AppStream]
のセクションを削除します。 - ファイルを保存して閉じます。
/var/www/html/pub/sat-import/content/dist/rhel8/8.1/x86_64/baseos/kickstart/treeinfo
ファイルが以下の形式であることを確認します。[checksums] images/efiboot.img = sha256:9ad9beee4c906cd05d227a1be7a499c8d2f20b3891c79831325844c845262bb6 images/install.img = sha256:e246bf4aedfff3bb54ae9012f959597cdab7387aadb3a504f841bdc2c35fe75e images/pxeboot/initrd.img = sha256:a66e3c158f02840b19c372136a522177a2ab4bd91cb7269fb5bfdaaf7452efef images/pxeboot/vmlinuz = sha256:789028335b64ddad343f61f2abfdc9819ed8e9dfad4df43a2694c0a0ba780d16 [general] ; WARNING.0 = This section provides compatibility with pre-productmd treeinfos. ; WARNING.1 = Read productmd documentation for details about new format. arch = x86_64 family = Red Hat Enterprise Linux name = Red Hat Enterprise Linux 8.1.0 packagedir = Packages platforms = x86_64,xen repository = . timestamp = 1571146127 variant = BaseOS variants = BaseOS version = 8.1.0 [header] type = productmd.treeinfo version = 1.2 [images-x86_64] efiboot.img = images/efiboot.img initrd = images/pxeboot/initrd.img kernel = images/pxeboot/vmlinuz [images-xen] initrd = images/pxeboot/initrd.img kernel = images/pxeboot/vmlinuz [release] name = Red Hat Enterprise Linux short = RHEL version = 8.1.0 [stage2] mainimage = images/install.img [tree] arch = x86_64 build_timestamp = 1571146127 platforms = x86_64,xen variants = BaseOS [variant-BaseOS] id = BaseOS name = BaseOS packages = Packages repository = . type = variant uid = BaseOS
-
/var/www/html/pub/sat-import/content/dist/rhel8/8.1/x86_64/appstream/kickstart/treeinfo
ファイルを開いて編集します。 [general]
セクションで、以下の変更を加えます。-
packagedir = AppStream/Packages
をpackagedir = Packages
に変更します。 -
repository = AppStream
をrepository = .
に変更します。 -
variants = AppStream,BaseOS
をvariants = AppStream
に変更します。
-
-
[tree]
セクションで、variants = AppStream,BaseOS
をvariants = AppStream
に変更します。 [variant-AppStream]
セクションで、以下の変更を加えます。-
packages = AppStream/Packages
をpackages = Packages
に変更します。 -
repository = AppStream
をrepository = .
に変更します。
-
-
ファイルから次のセクションを削除します:
[checksums]
、[images-x86_64]
、[images-xen]
、[media]
、[stage2]
、[variant-BaseOS]
。 - ファイルを保存して閉じます。
/var/www/html/pub/sat-import/content/dist/rhel8/8.1/x86_64/appstream/kickstart/treeinfo
ファイルが以下の形式であることを確認します。[general] ; WARNING.0 = This section provides compatibility with pre-productmd treeinfos. ; WARNING.1 = Read productmd documentation for details about new format. arch = x86_64 family = Red Hat Enterprise Linux name = Red Hat Enterprise Linux 8.1.0 packagedir = Packages platforms = x86_64,xen repository = . timestamp = 1571146127 variant = AppStream variants = AppStream version = 8.1.0 [header] type = productmd.treeinfo version = 1.2 [release] name = Red Hat Enterprise Linux short = RHEL version = 8.1.0 [tree] arch = x86_64 build_timestamp = 1571146127 platforms = x86_64,xen variants = AppStream [variant-AppStream] id = AppStream name = AppStream packages = Packages repository = . type = variant uid = AppStream
マウントされたバイナリー DVD ISO イメージを使用する予定がない場合は、ディレクトリーをアンマウントして削除します。
# umount /mnt/iso # rmdir /mnt/iso
- Satellite Web UI で、Kickstart リポジトリーを有効にします。
3.3. Red Hat CDN からコンテンツをダウンロードするために Satellite を戻す
お使いの環境がオフラインからオンラインに変更された場合は、Red Hat CDN から直接コンテンツをダウンロードするようにオフラインの Satellite を再設定することができます。
手順
- Satellite Web UI で、コンテンツ > サブスクリプション に移動します。
- マニフェストの管理 をクリックします。
Red Hat CDN URL フィールドを編集して、Red Hat CDN URL をポイントします。
- 保存 をクリックします。
これで Satellite Server は、次にリポジトリーを同期するときに CDN からコンテンツをダウンロードするように設定されました。
3.4. Satellite Tools リポジトリーの有効化
Satellite Tools リポジトリーは、Satellite Server に登録されたクライアント向けの katello-agent
パッケージと puppet
パッケージを提供します。クライアントのリモートアップデートを許可するために、Katello エージェントをインストールすることが推奨されます。Capsule Server のベースシステムは Satellite Server のクライアントであるため、Katello エージェントもインストールする必要があります。
前提条件
- Satellite Server に必要なコンテンツの ISO イメージすべてをインポートするようにしてください。
手順
Satellite Tools リポジトリーを有効化するには、以下の手順を実行します。
- Satellite Web UI で、コンテンツ > Red Hat サブスクリプション に移動します。
- 検索フィールドを使用して Red Hat Satellite Tools 6.6 (for RHEL 7 Server) (RPMs) のリポジトリー名を入力します。
利用可能なリポジトリーペインで、Red Hat Satellite Tools 6.6 (for RHEL 7 Server) (RPMs) をクリックして、リポジトリーセットを展開します。
Red Hat Satellite Tools 6.6 の項目が表示されていない場合は、カスタマーポータルから取得したサブスクリプションマニフェストにその項目が含まれないことが原因として考えられます。この問題を修正するには、カスタマーポータルにログインし、これらのリポジトリーを追加し、サブスクリプションマニフェストをダウンロードして、Satellite にインポートします。
-
x86_64
エントリーでは、有効化 アイコンをクリックして、リポジトリーを有効にします。
ホストで実行している Red Hat Enterprise Linux の各サポート対象メジャーバージョンに対して Satellite Tools リポジトリーを有効にします。Red Hat リポジトリーの有効後に、このリポジトリーの製品が自動的に作成されます。
CLI をご利用の場合
hammer repository-set enable
コマンドを使用して、Satellite Tools リポジトリーを有効化します。
# hammer repository-set enable --organization "initial_organization_name" \
--product 'Red Hat Enterprise Linux Server' \
--basearch='x86_64' \
--name 'Red Hat Satellite Tools 6.6 (for RHEL 7 Server) (RPMs)'
3.5. Satellite Tools リポジトリーの同期
本セクションを使用して、Red Hat コンテンツ配信ネットワーク (CDN) から Satellite に Satellite Tools リポジトリーを同期します。このリポジトリーを使用して、Satellite Server に登録したクライアントに katello-agent
と puppet
パッケージを提供します。
手順
Satellite Tools リポジトリーを同期するには、以下の手順を実行します。
Satellite Web UI で、コンテンツ > 同期の状態 に移動します。
同期可能な製品リポジトリーのリストが表示されます。
- Red Hat Enterprise Linux Server 製品の横にある矢印をクリックして、利用可能なコンテンツを表示します。
- Red Hat Satellite Tools 6.6 (RHEL 7 Server 用) RPMs x86_64 を選択します。
- 今すぐ同期 をクリックします。
CLI をご利用の場合
hammer repository synchronize
コマンドを使用して、Satellite Tools リポジトリーを同期します。
# hammer repository synchronize --organization "initial_organization_name" \
--product 'Red Hat Enterprise Linux Server' \
--name 'Red Hat Satellite Tools 6.6 for RHEL 7 Server RPMs x86_64' \
--async
3.6. 管理対象ホスト上での電源管理の有効化
Intelligent Platform Management Interface (IPMI) または類似するプロトコルを使用して管理対象ホストで電源管理タスクを実行するには、Satellite Server でベースボード管理コントローラー (BMC) モジュールを有効にする必要があります。
前提条件
- すべての管理対象ホストには、BMC タイプのネットワークインターフェースが必要。Satellite Server はこの NIC を使用して、適切な認証情報をホストに渡します。詳細は、『ホストの管理』ガイドの「ベースボード管理コントローラー (BMC) インターフェースの追加」を参照してください。
手順
BMC を有効にするには、以下のコマンドを入力します。
# satellite-installer --foreman-proxy-bmc "true" \ --foreman-proxy-bmc-default-provider "freeipmi"
3.7. Satellite Server で DNS、DHCP、および TFTP の設定
Satellite Server で DNS、DHCP、および TFTP サービスを設定するには、お使いの環境に適したオプションで satellite-installer
コマンドを使用します。
設定可能な全オプションを表示するには、satellite-installer --scenario satellite --help
コマンドを実行します。
設定を変更するには、satellite-installer
コマンドを再び実行する必要があります。コマンドは複数回実行でき、実行するたびにすべての設定ファイルが変更された値で更新されます。
前提条件
DNS、DHCP および TFTP サービスを設定する前に、以下の条件を満たしていることを確認する。
以下の情報が利用可能であることを確認する。
- DHCP IP アドレス範囲
- DHCP ゲートウェイ IP アドレス
- DHCP ネームサーバー IP アドレス
- DNS 情報
- TFTP サーバー名
- ネットワークの変更の場合は、可能な限り、IP アドレスの代わりに FQDN を使用します。
- ネットワーク管理者に連絡して正しい設定が行われていることを確認します。
手順
お使いの環境に適したオプションで、
satellite-installer
コマンドを入力してください。以下の例では、完全なプロビジョニングサービスの設定を示しています。# satellite-installer --scenario satellite \ --foreman-proxy-dns true \ --foreman-proxy-dns-managed true \ --foreman-proxy-dns-interface eth0 \ --foreman-proxy-dns-zone example.com \ --foreman-proxy-dns-reverse 2.0.192.in-addr.arpa \ --foreman-proxy-dhcp true \ --foreman-proxy-dhcp-managed true \ --foreman-proxy-dhcp-interface eth0 \ --foreman-proxy-dhcp-range "192.0.2.100 192.0.2.150" \ --foreman-proxy-dhcp-gateway 192.0.2.1 \ --foreman-proxy-dhcp-nameservers 192.0.2.2 \ --foreman-proxy-tftp true \ --foreman-proxy-tftp-managed true \ --foreman-proxy-tftp-servername 192.0.2.3
プロンプトに表示される satellite-installer
コマンドの進行状況を監視できます。/var/log/foreman-installer/satellite.log
でログを表示できます。/etc/foreman-installer/scenarios.d/satellite-answers.yaml
ファイルで、使用されている設定 (admin_password
パラメーターなど) を表示できます。
DHCP、DNS および TFTP サービスの情報は、『プロビジョニングガイド』の「ネットワークサービスの設定」セクションを参照してください。
Satellite の DNS、DHCP、および TFTP サービスを無効化し、これらの手動での管理に関する詳細は、「管理対象外ネットワークに対して DNS、DHCP、および TFTP の無効化」を参照してください。
外部サービスの設定に関する詳細は、「外部サービスの設定」を参照してください。
3.8. 管理対象外ネットワークに対して DNS、DHCP、および TFTP の無効化
TFTP、DHCP および DNS サービスを手動で管理する場合には、Satellite がオペレーティングシステム上でこれらのサービスを管理しないようにし、オーケストレーションを無効にして、DHCP および DNS バリデーションエラーを回避する必要があります。ただし、Satellite ではオペレーティングシステムのバックエンドサービスは削除されません。
手順
オペレーティングシステム上で Satellite による DHCP、DNS、および TFTPサービスを管理を回避し、オーケストレーションを無効にするには、以下の手順を実行します。
Satellite Server で以下のコマンドを入力します。
# satellite-installer --foreman-proxy-dhcp false \ --foreman-proxy-dns false \ --foreman-proxy-tftp false
- Satellite Web UI で、インフラストラクチャー > Capsule に移動し、サブネットを選択します。
- Capsules タブで、DHCP Capsule、TFTP Capsule、および 逆引き DNS Capsule を選択します。
- インフラストラクチャー > ドメイン に移動し、ドメインを選択します。
- DNS Capsule フィールドの内容を消去します。
オプション: サードパーティーが提供する DHCP サービスを使用する場合は、以下のオプションを渡すように DHCP サーバーを設定します。
Option 66: IP_address_of_Satellite_or_Capsule Option 67: /pxelinux.0
DHCP オプションの詳細は「RFC 2132」を参照してください。
Satellite 6 は、Capsule が該当するサブネットとドメインに設定されていない場合にオーケストレーションを実行しません。Capsule の関連付けを有効または無効にした場合に、想定のレコードと設定ファイルが存在しないと、既存のホストのオーケストレーションコマンドが失敗することがあります。オーケストレーションを有効にするために Capsule を関連付ける場合は、今後、ホストの削除に失敗しないように、既存の Satellite ホストに対して必要な DHCP レコード、DNS レコード、TFTP ファイルが所定の場所にあることを確認します。
3.9. Satellite Server で送信メールの設定
Satellite Server からメールメッセージを送信するには、SMTP サーバーまたは sendmail
コマンドのいずれかを使用できます。
前提条件
前回のリリースからアップグレードしている場合は、設定ファイル /usr/share/foreman/config/email.yaml
の名前を変更するか削除して、httpd
サービスを再起動しておく。以下に例を示します。
# mv /usr/share/foreman/config/email.yaml \ /usr/share/foreman/config/email.yaml-backup # systemctl restart httpd
Satellite Server で送信メールの設定
- Satellite Web UI で、管理 → 設定 に移動します。
Email タブをクリックして、希望する配信方法に一致する設定オプションを設定します。変更は即座に反映されます。
以下の例は、SMTP サーバーを使用する場合の設定オプションの例を示しています。
表3.1 配信方法に SMTP サーバーを使用する例
名前 値例 配信方法
SMTP
SMTP アドレス
smtp.example.com
SMTP 認証
ログイン
SMTP HELO/EHLO ドメイン
example.com
SMTP パスワード
パスワード
SMTP ポート
25
SMTP ユーザー名
satellite@example.com
SMTP ユーザー名
とSMTP パスワード
では、SMTP サーバーのログイン認証情報を指定します。以下の例では、gmail.com が SMTP サーバーとして使用されています。
表3.2 gmail.com を SMTP サーバーとして使用する例
名前 値例 配信方法
SMTP
SMTP アドレス
smtp.gmail.com
SMTP 認証
plain
SMTP HELO/EHLO ドメイン
smtp.gmail.com
SMTP enable StartTLS auto
あり
SMTP パスワード
パスワード
SMTP ポート
587
SMTP ユーザー名
user@gmail.com
以下の例では、
sendmail
コマンドが配信方法として使用されています。表3.3 配信方法に sendmail を使用する例
名前 値例 配信方法
Sendmail
Sendmail の引数
-i -t -G
Sendmail の引数
では、sendmail
コマンドに渡すオプションを指定します。デフォルト値は、-i -t
です。詳細は、sendmail 1 の man ページを参照してください。
TLS 認証を使用する SMTP サーバーで電子メールを送信する場合は、以下のいずれかの手順を実行してください。
SMTP サーバーの CA 証明書を信頼済みとしてマークします。このようにマークするには、Satellite Server で以下のコマンドを実行します。
# cp mailca.crt /etc/pki/ca-trust/source/anchors/ # update-ca-trust enable # update-ca-trust
ここで、
mailca.crt
は SMTP サーバーの CA 証明書です。-
別の方法では、Web UI の
SMTP enable StartTLS auto
オプションをNo
に設定します。
-
Test email をクリックしてユーザーのメールアドレスにテストメッセージを送信し、設定が機能していることを確認します。メッセージの送信に失敗する場合は、Web UI でエラーが表示されます。詳細については、
/var/log/foreman/production.log
のログを確認してください。
個別ユーザーまたはユーザーグループに対する電子メール通知の設定は、『Red Hat Satellite の管理』の「電子メール通知の設定」を参照してください。
3.10. カスタムの SSL 証明書を使用した Satellite Server の設定
デフォルトでは、Red Hat Satellite 6 は Satellite Server、外部の Capsule Server および全ホストの間で暗号化した通信ができるように、自己署名の SSL 証明書を使用します。Satellite 自己署名の証明書を使用できない場合には、外部の証明局で署名した SSL 証明書を使用するように Satellite Server を設定できます。
カスタムの証明書で Satellite Server を設定するには、以下の手順を実行します。
- 「Satellite Server 向けのカスタム SSL 証明書の作成」
- 「カスタムの SSL 証明書の Satellite Server へのデプロイ」
- 「ホストへの カスタム SSL 証明書のデプロイ」
- Satellite Server に外部の Capsule Server を登録した場合には、カスタムの SSL 証明書を使用して設定する必要があります。詳細は、『Capsule Server のインストール』の「カスタム SSL 証明書を使用した Capsule Server の設定」を参照してください。
3.10.1. Satellite Server 向けのカスタム SSL 証明書の作成
この手順を使用して、Satellite Server 用に カスタムの SSL 証明書を作成します。Satellite Server 用のカスタムの SSL 証明書がある場合にはこの手順は省略してください。
カスタム証明書を使用して Satellite を設定する場合には、次の点を考慮してください。
- SSL 証明書には、Privacy-Enhanced Mail (PEM) エンコードを使用する必要がある。
- Satellite Server と Capsule Server の両方に、同じ証明書を使用できない。
- 同じ証明局を使用して Satellite と Capsule の証明書を署名する必要がある。
手順
カスタムの SSL 証明書を作成するには、以下の手順を実行します。
ソースの証明書ファイルすべてを保存するには、
root
ユーザーだけがアクセスできるディレクトリーを作成します。# mkdir /root/satellite_cert
Certificate Signing Request (CSR) を署名する秘密鍵を作成します。
秘密鍵は暗号化する必要がないことに注意してください。パスワードで保護された秘密鍵を使用する場合は、秘密鍵のパスワードを削除します。
Satellite Server 向けの秘密鍵がすでにある場合は、この手順を省略します。
# openssl genrsa -out
/root/satellite_cert/satellite_cert_key.pem
4096証明書署名要求 (CSR) 用の
/root/satellite_cert/openssl.cnf
設定ファイルを作成して、以下のコンテンツを追加します。[ req ] req_extensions = v3_req distinguished_name = req_distinguished_name x509_extensions = usr_cert prompt = no [ req_distinguished_name ] 1 C = Country Name (2 letter code) ST = State or Province Name (full name) L = Locality Name (eg, city) O = Organization Name (eg, company) OU = The division of your organization handling the certificate CN = satellite.example.com 2 [ v3_req ] basicConstraints = CA:FALSE keyUsage = digitalSignature, nonRepudiation, keyEncipherment, dataEncipherment extendedKeyUsage = serverAuth, clientAuth, codeSigning, emailProtection subjectAltName = @alt_names [ usr_cert ] basicConstraints=CA:FALSE nsCertType = client, server, email keyUsage = nonRepudiation, digitalSignature, keyEncipherment extendedKeyUsage = serverAuth, clientAuth, codeSigning, emailProtection nsComment = "OpenSSL Generated Certificate" subjectKeyIdentifier=hash authorityKeyIdentifier=keyid,issuer [ alt_names ] DNS.1 = satellite.example.com 3
- 1
[ req_distinguished_name ]
セクションに、貴社の組織の情報を入力します。- 2
- 証明書のコモンネーム
CN
を、Satellite Server の完全修飾ドメイン名 (FQDN) と一致するように設定します。FQDN を確認するには、対象の Satellite Server でhostname -f
コマンドを入力します。これは、katello-certs-check
コマンドが証明書を正しく検証することを確認するために必要です。 - 3
- サブジェクトの別名 (SAN: Subject Alternative Name)
DNS.1
を、お使いのサーバーの完全修飾ドメイン名 (FQDN) に一致する用に設定します。
証明書署名要求 (CSR) を作成します。
# openssl req -new \ -key /root/satellite_cert/satellite_cert_key.pem \ 1 -config /root/satellite_cert/openssl.cnf \ 2 -out /root/satellite_cert/satellite_cert_csr.pem 3
証明局に証明書署名要求を送信します。同じ証明局が Satellite Server と Capsule Server の証明書に署名する必要があります。
要求を送信する場合は、証明書の有効期限を指定してください。証明書要求を送信する方法は異なるため、推奨の方法について認証局にお問い合わせください。要求への応答で、認証局バンドルと署名済み証明書を別々のファイルで受け取ることになります。
3.10.2. カスタムの SSL 証明書の Satellite Server へのデプロイ
この手順を使用して、Satellite Server が、認証局で署名されたカスタムの SSL 署名書を使用するように設定します。katello-certs-check
コマンドは、入力した証明書ファイルを検証して、Satellite Server にカスタムの SSL 証明書をデプロイするのに必要なコマンドを返します。
手順
Satellite Server にカスタムの証明書をデプロイするには、以下の手順を実行します。
カスタムの SSL 証明書入力ファイルを検証します。
katello-certs-check
コマンドが正しく実行されるには、証明書のコモンネーム (CN) が Satellite Server の FQDN と一致する必要があることに注意してください。# katello-certs-check \ -c /root/satellite_cert/satellite_cert.pem \ 1 -k /root/satellite_cert/satellite_cert_key.pem \ 2 -b /root/satellite_cert/ca_cert_bundle.pem 3
このコマンドに成功すると、2 つの
satellite-installer
コマンドが返されます。1 つは、Satellite Server に証明書をデプロイするのに使用する必要があります。katello-certs-check の出力例
Validation succeeded. To install the Red Hat Satellite Server with the custom certificates, run: satellite-installer --scenario satellite \ --certs-server-cert "/root/satellite_cert/satellite_cert.pem" \ --certs-server-key "/root/satellite_cert/satellite_cert_key.pem" \ --certs-server-ca-cert "/root/satellite_cert/ca_cert_bundle.pem" To update the certificates on a currently running Red Hat Satellite installation, run: satellite-installer --scenario satellite \ --certs-server-cert "/root/satellite_cert/satellite_cert.pem" \ --certs-server-key "/root/satellite_cert/satellite_cert_key.pem" \ --certs-server-ca-cert "/root/satellite_cert/ca_cert_bundle.pem" \ --certs-update-server --certs-update-server-ca
要件に合わせて、
katello-certs-check
コマンドの出力から、新しい Satellite にデプロイするsatellite-installer
コマンドか、現在実行中の Satellite の証明書を更新するコマンドを入力します。重要証明書のデプロイ後に、証明書のアーカイブファイルを削除しないでください。Satellite Server のアップグレード時などに必要です。
-
Satellite Server にネットワークでアクセスできるコンピューターで、この URL (
https://satellite.example.com
) に移動します。 - ブラウザーで、証明書の詳細を表示して、デプロイした証明書を確認します。
3.10.3. ホストへの カスタム SSL 証明書のデプロイ
Satellite Server がカスタムの SSL 証明書を使用する用に設定した後に、Satellite Server に登録されている全ホストに katello-ca-consumer
パッケージもインストールする必要があります。
BZ#1683835 が解決されるまで、katello-ca-consumer
パッケージはアップグレードできません。以前のパッケージを削除して、新しいパッケージをインストールする必要があります。katello-ca-consumer
パッケージをアップグレードすると、subscription.rhsm.redhat.com
の baseurl
設定が元に戻るため、アップグレードに失敗します。
手順
各ホストで、以下の手順を実行し、katello-ca-consumer
パッケージをインストールします。
ホストで現行の
katello-ca-consumer
パッケージを削除します。# yum remove 'katello-ca-consumer*'
ホストに
katello-ca-consumer
パッケージをインストールします。# yum localinstall \ http://satellite.example.com/pub/katello-ca-consumer-latest.noarch.rpm
3.11. Satellite での外部データベースの使用
Red Hat Satellite のインストールプロセスの一部として、satellite-installer コマンドは MongoDB および PostgreSQL のデータベースを Satellite と同じサーバー上にインストールします。Satellite のデプロイメントによっては、外部データベースがサーバーの負荷を軽減する場合もあります。ただし、Satellite Server のパフォーマンスに影響を与える可能性のある要素は多数あります。外部データベースに移動すると、固有の問題に対応できない可能性があります。
外部データベースに MongoDB と PostgreSQL のどちらのデータベースが使用できるかについては、要件によって異なります。
Red Hat では、外部データベースのメンテナンスのサポートやそのためのツールは提供していません。これにはバックアップ、アップグレード、データベースのチューニングが含まれます。外部データベースを使用しているお客様は、外部データベースをサポート、メンテナンスする独自のデータベース管理者が必要になります。
お使いの Satellite デプロイメントで外部データベースを必要とする場合は、以下の情報を使用して、Satellite から外部データベースに参照するように設定します。
FIPS 関連の制限
BZ#1743706 が解決されるまで、FIPS モードの Satellite で外部の MongoDB は使用できません。
3.11.1. 外部データベースとして MongoDB を使用する際の注意点
Pulp は MongoDB データベースを使用します。MongoDB を外部データベースとして使用する場合は、以下の情報を参照してお使いの Satellite 設定にこのオプションが適しているかどうかを判定してください。Satellite は、MongoDB バージョン 3.4 をサポートします。
外部 MongoDB の利点
- Satellite 上の空きメモリーと空き CPU が増えます。
- Satellite 操作にマイナスの影響をもたらすことなく MongoDB サーバーのシステムを調整する柔軟性が得られます。
外部 MongoDB のマイナス点
- デプロイメントの複雑性が増し、問題解決がより困難になります。
- 外部 MongoDB サーバーの場合は、パッチおよびメンテナンス対象に新たなシステムが加わることになります。
- Satellite または Mongo データベースサーバーのいずれかにハードウェアまたはストレージ障害が発生すると、Satellite が機能しなくなります。
- Satellite と外部データベースサーバーの間でレイテンシーが発生すると、パフォーマンスに影響が出ます。
お使いの Mongo データベースが遅いと感じられる場合は、Red Hat サポートチームと協力して問題解決に当たることができます。Satellite 6 での設定問題や既存のパフォーマンス問題については、外部データベースサーバーに移行したとしても解決が期待できないものもあります。Red Hat サポートチームは既知の問題を調査するほか、Satellite エンジニアリングチームとも協力して根本原因を見つけ出します。
3.11.2. 外部データベースとして PostgreSQL を使用する際の注意点
Foreman、Katello、および Candlepin は PostgreSQL データベースを使用します。PostgreSQL を外部データベースとして使用する場合は、以下の情報を参照してお使いの Satellite 設定にこのオプションが適しているかどうかを判定してください。Satellite は PostgreSQL バージョン 9.2 をサポートします。
外部 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.11.3. 概要
Satellite 用にリモートデータベースを作成して使用するには、以下の手順を実行します。
- 「ストレージの要件とガイドライン」を使用して、外部データベースのストレージ要件をプランニングします。
- PostgreSQL で Foreman および Candlepin 用のデータベースを準備し、Foreman と Candlepin の所有権を持つ専用ユーザーを作成します。
-
pulp_database
を所有しているpulp
ユーザーで MongoDB を準備します。 - 最初の手順に従い、Satellite をインストールし、データベースが Satellite からアクセスできることを確認します。
-
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 サブスクリプションもアタッチする必要があります。
- 「Satellite Infrastructure サブスクリプションのアタッチ」の説明を使用して、サーバーに Satellite サブスクリプションをアタッチします。
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
3.11.4. MongoDB のインストール
インストール可能な MongoDB は、内部データベースのインストール中に satellite-installer
ツールでインストールされたものと同じバージョンの MongoDB のみになります。MongoDB はサポート対象のバージョンであれば、Red Hat Software Collections (RHSCL) リポジトリーからまたは外部ソースからインストールすることが可能です。Satellite は MongoDB バージョン 3.4 をサポートしています。
MongoDB をインストールするには、以下のコマンドを入力します。
# yum install rh-mongodb34 rh-mongodb34-syspaths
rh-mongodb34 サービスを起動して有効にします。
# systemctl start rh-mongodb34-mongod # systemctl enable rh-mongodb34-mongod
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'}]})"
/etc/opt/rh/rh-mongodb34/mongod.conf
ファイルでバインド IP を指定します。bindIp: your_mongodb_server_bind_IP,::1
/etc/opt/rh/rh-mongodb34/mongod.conf
ファイルを編集してsecurity
セクションの認証を有効にします。security: authorization: enabled
rh-mongodb34-mongod
サービスを再起動します。# systemctl restart rh-mongodb34-mongod
MongoDB にポート 27017 を開きます。
# firewall-cmd --add-port=27017/tcp # firewall-cmd --runtime-to-permanent
Satellite Server からデータベースにアクセスできることをテストします。接続が成功すると、コマンドから
1
が返ります。# scl enable rh-mongodb34 " mongo --host mongo.example.com \ -u pulp -p pulp_password --port 27017 --eval 'ping:1' pulp_database"
3.11.5. PostgreSQL のインストール
インストール可能な PostgreSQL は、内部データベースのインストール中に satellite-installer
ツールでインストールされたものと同じバージョンの PostgreSQL のみになります。PostgreSQL はサポート対象のバージョンであれば、Red Hat Enteprise Linux Server 7 リポジトリーからまたは外部ソースからインストールすることが可能です。Satellite は PostgreSQL バージョン 9.2 をサポートしています。
PostgreSQL をインストールするには、以下のコマンドを入力します。
# yum install postgresql-server
PostgreSQL サービスを初期化して起動し、有効にするには、以下のコマンドを実行します。
# postgresql-setup initdb # systemctl start postgresql # systemctl enable postgresql
/var/lib/pgsql/data/postgresql.conf
ファイルを編集します。# vi /var/lib/pgsql/data/postgresql.conf
#
を削除して、着信接続をリッスンするようにします。listen_addresses = '*'
/var/lib/pgsql/data/pg_hba.conf
ファイルを編集します。# vi /var/lib/pgsql/data/pg_hba.conf
以下の行を追加します。
host all all satellite_server_ip/24 md5
PostgreSQL サービスを再起動して、変更を適用します。
# systemctl restart postgresql
外部 PostgreSQL サーバーで postgresql ポートを開きます。
# firewall-cmd --add-service=postgresql # firewall-cmd --runtime-to-permanent
postgres
ユーザーに切り替え、PostgreSQL クライアントを起動します。$ su - postgres -c psql
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;
postgres
ユーザーをログアウトします。# \q
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"
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
データベースのステータスをクエリーします。たとえば、以下のコマンドに --only
と postgresql
または rh-mongodb34-mongod
を追加して実行します。
PostgreSQL の場合は、以下のコマンドを実行します。
# satellite-maintain service status --only postgresql
MongoDB の場合は、以下のコマンドを実行します。
# satellite-maintain service status --only rh-mongodb34-mongod
3.12. mongod へのアクセスの制限
データ損失の危険を減らすために、MongoDB データベースデーモン mongod
へのアクセスは apache
ユーザーと root
ユーザーにだけ設定する必要があります。
ご使用の Satellite Server の mongod
へのアクセスを制限するには、ファイアウォール構成を更新する必要があります。
手順
以下のコマンドを入力して、ファイアウォール構成を更新します。
# firewall-cmd --direct --add-rule ipv4 filter OUTPUT 0 -o lo -p \ tcp -m tcp --dport 27017 -m owner --uid-owner apache -j ACCEPT \ && firewall-cmd --direct --add-rule ipv6 filter OUTPUT 0 -o lo -p \ tcp -m tcp --dport 27017 -m owner --uid-owner apache -j ACCEPT \ && firewall-cmd --direct --add-rule ipv4 filter OUTPUT 0 -o lo -p \ tcp -m tcp --dport 27017 -m owner --uid-owner root -j ACCEPT \ && firewall-cmd --direct --add-rule ipv6 filter OUTPUT 0 -o lo -p \ tcp -m tcp --dport 27017 -m owner --uid-owner root -j ACCEPT \ && firewall-cmd --direct --add-rule ipv4 filter OUTPUT 1 -o lo -p \ tcp -m tcp --dport 27017 -j DROP \ && firewall-cmd --direct --add-rule ipv6 filter OUTPUT 1 -o lo -p \ tcp -m tcp --dport 27017 -j DROP \ && firewall-cmd --direct --add-rule ipv4 filter OUTPUT 0 -o lo -p \ tcp -m tcp --dport 28017 -m owner --uid-owner apache -j ACCEPT \ && firewall-cmd --direct --add-rule ipv6 filter OUTPUT 0 -o lo -p \ tcp -m tcp --dport 28017 -m owner --uid-owner apache -j ACCEPT \ && firewall-cmd --direct --add-rule ipv4 filter OUTPUT 0 -o lo -p \ tcp -m tcp --dport 28017 -m owner --uid-owner root -j ACCEPT \ && firewall-cmd --direct --add-rule ipv6 filter OUTPUT 0 -o lo -p \ tcp -m tcp --dport 28017 -m owner --uid-owner root -j ACCEPT \ && firewall-cmd --direct --add-rule ipv4 filter OUTPUT 1 -o lo -p \ tcp -m tcp --dport 28017 -j DROP \ && firewall-cmd --direct --add-rule ipv6 filter OUTPUT 1 -o lo -p \ tcp -m tcp --dport 28017 -j DROP
変更を永続化します。
# firewall-cmd --runtime-to-permanent
3.13. 定義済みプロファイルを使用した Satellite Server の調整
お使いの Satellite デプロイメントに 5000 台を超えるホストが含まれる場合には、事前定義したチューニング付プロファイルを使用して、Satellite Server のパフォーマンスを向上できます。Satellite が管理するホスト数と利用可能なハードウェアリソースに合わせて、プロファイルを 1 つ選択します。チューニングプロファイルは、satellite-support GitHub repository から入手できます。
- MEDIUM
管理対象ホスト数: 5001-10000
RAM: 32G
CPU コア数: 8
- LARGE
管理対象ホスト数: 10001-20000
RAM: 64G
CPU コア数: 16
- X-LARGE
管理対象ホスト数: 20001-60000
RAM: 128G
CPU コア数: 32
- 2X-LARGE
管理対象ホスト数: 60000+
RAM: 256G
CPU コア数: 48+
手順
お使いの Satellite デプロイメントのチューニングプロファイルを設定するには、以下の手順を実行します。
Satellite Server で
/etc/foreman-installer/custom-hiera.yaml
ファイルをcustom-hiera.original
にバックアップします。# mv /etc/foreman-installer/custom-hiera.yaml \ /etc/foreman-installer/custom-hiera.original
- ブラウザーで satellite-support GitHub リポジトリー の チューニングプロファイル に移動して、お使いの Satellite デプロイメントに一致するプロファイルをクリックします。
- Raw ボタンをクリックし、URL をメモして、次のステップでプロファイルをダウンロードします。
たとえば、Raw 形式のプロファイルの URL を指定して
curl
で、チューニングプロファイルをダウンロードします。# curl -O https://raw.githubusercontent.com/RedHatSatellite/satellite-support/master/tuning-profiles/custom-hiera-large-64G.yaml
お使いの Satellite デプロイメントに一致するチューニングプロファイルを
/etc/foreman-installer/custom-hiera.yaml
にコピーします。# cp custom-hiera-large-64G.yaml /etc/foreman-installer/custom-hiera.yaml
-
オプション: カスタムの設定を
custom-hiera.yaml
に追加した場合には、バックアップしたファイルから新しいcustom-hiera.yaml
ファイルにコピーします。 オプション: Satellite をアップグレードした場合には、バックアップした
/etc/foreman-installer/custom-hiera.original
ファイルで以下の形式の文字列を検索して、新しい/etc/foreman-installer/custom-hiera.yaml
ファイルにコピーします。# Added by foreman-installer during upgrade, run the installer with --upgrade-mongo-storage to upgrade to WiredTiger. mongodb::server::storage_engine: 'mmapv1'
引数なしで
satellite-installer
コマンドを入力して、設定を適用します。# satellite-installer
第4章 外部サービスの設定
一部の環境には DNS、DHCP、および TFTP サービスがすでに存在するため、これらのサービスを提供するために Satellite Server を使用する必要はありません。DNS、DHCP、または TFTP を提供するために外部サーバーを使用する場合は、Satellite Server で使用するよう設定できます。
これらのサービスを手動で管理するために Satellite でサービスを無効にする場合は、詳細について「管理対象外のネットワークに対して DNS、DHCP および TFTP を無効化」を参照してください。
4.1. 外部 DNS を使用した Satellite の設定
DNS サービスを提供するために Satellite が外部サーバーを使用するよう設定できます。
Red Hat Enterprise Linux Server をデプロイし、ISC DNS サービスをインストールします。
# yum install bind bind-utils
ドメインの設定ファイルを作成します。
以下の例では、ドメイン
virtual.lan
を 1 つのサブネット 192.168.38.0/24 として設定し、capsule
という名前のセキュリティーキーを設定して、フォワーダーを Google のパブリック DNS アドレス (8.8.8.8 および 8.8.4.4) に設定します。192.168.38.2 は DNS サーバーの IP アドレスで、192.168.38.1 は、Satellite Server または Capsule Server の IP アドレスになります。# cat /etc/named.conf include "/etc/rndc.key"; controls { inet 127.0.0.1 port 953 allow { 127.0.0.1; } keys { "capsule"; }; inet 192.168.38.2 port 953 allow { 192.168.38.1; 192.168.38.2; } keys { "capsule"; }; }; options { directory "/var/named"; forwarders { 8.8.8.8; 8.8.4.4; }; }; include "/etc/named.rfc1912.zones"; zone "38.168.192.in-addr.arpa" IN { type master; file "dynamic/38.168.192-rev"; update-policy { grant "capsule" zonesub ANY; }; }; zone "virtual.lan" IN { type master; file "dynamic/virtual.lan"; update-policy { grant "capsule" zonesub ANY; }; };
設定ファイルの
inet
行は、1 つの行として入力する必要があります。キーファイルを作成します。
# ddns-confgen -k capsule
このコマンドが完了するまで、しばらく時間がかかることがあります。
キーセクションから出力をコピーし、
/etc/rndc.key
という名前の別のファイルに貼り付けます。# cat /etc/rndc.key key "capsule" { algorithm hmac-sha256; secret "GeBbgGoLedEAAwNQPtPh3zP56MJbkwM84UJDtaUS9mw="; };
重要これは、DNS サーバー設定を変更するために使用するキーです。root ユーザーのみが読み書きできるようにする必要があります。
ゾーンファイルを作成します。
# cat /var/named/dynamic/virtual.lan $ORIGIN . $TTL 10800 ; 3 hours virtual.lan IN SOA service.virtual.lan. root.virtual.lan. ( 9 ; serial 86400 ; refresh (1 day) 3600 ; retry (1 hour) 604800 ; expire (1 week) 3600 ; minimum (1 hour) ) NS service.virtual.lan. $ORIGIN virtual.lan. $TTL 86400 ; 1 day capsule A 192.168.38.1 service A 192.168.38.2
逆引きゾーンファイルを作成します。
# cat /var/named/dynamic/38.168.192-rev $ORIGIN . $TTL 10800 ; 3 hours 38.168.192.in-addr.arpa IN SOA service.virtual.lan. root.38.168.192.in-addr.arpa. ( 4 ; serial 86400 ; refresh (1 day) 3600 ; retry (1 hour) 604800 ; expire (1 week) 3600 ; minimum (1 hour) ) NS service.virtual.lan. $ORIGIN 38.168.192.in-addr.arpa. $TTL 86400 ; 1 day 1 PTR capsule.virtual.lan. 2 PTR service.virtual.lan.
ASCII 以外の他の文字は使用しないでください。
4.2. DNS サービスの開始と起動
構文を検証します。
# named-checkconf -z /etc/named.conf
サーバーを起動します。
# systemctl restart named
新しいホストを追加します。
以下のコマンドでは、ホストの例 192.168.38.2 を使用しています。この値は、ご使用の環境に合わせて変更してください。
# echo -e "server 192.168.38.2\n \ update add aaa.virtual.lan 3600 IN A 192.168.38.10\n \ send\n" | nsupdate -k /etc/rndc.key
DNS サービスが新しいホストを解決できることを確認します。
# nslookup aaa.virtual.lan 192.168.38.2
必要な場合は、新しいエントリーを削除します。
# echo -e "server 192.168.38.2\n \ update delete aaa.virtual.lan 3600 IN A 192.168.38.10\n \ send\n" | nsupdate -k /etc/rndc.key
DNS サービスへの外部アクセスのためにファイアウォールを設定します (ポート 53 上の UDP および TCP)。
# firewall-cmd --add-port="53/udp" --add-port="53/tcp" \ && firewall-cmd --runtime-to-permanent
4.3. Satellite Server での外部 DHCP の設定
外部の DHCP で Satellite Server を設定するには、以下の手順を実行します。
4.3.1. Satellite Server を使用するための外部 DHCP サーバーの設定
外部の DHCP サーバーを Red Hat Enterprise Linux サーバーの Satellite Server で使用できるように設定するには、ISC DHCP Service と Berkeley Internet Name Domain (BIND) パッケージをインストールする必要があります。また、DHCP 設定とリースフィアルを Satellite Server と共有する必要があります。この手順の例では、分散型の Network File System (NFS) プロトコルを使用して DHCP 設定とリースファイルを共有します。
手順
外部の DHCP サーバーを Satellite Server で使用できるように設定するには、以下の手順を実行します。
Red Hat Enterprise Linux Server で、ISC DHCP サービスおよび BIND (Berkeley Internet Name Domain) パッケージをインストールします。
# yum install dhcp bind
セキュリティートークンを生成します。
# dnssec-keygen -a HMAC-MD5 -b 512 -n HOST omapi_key
上記のコマンドを実行すると、2 つのファイルで構成されるキーペアが現在のディレクトリーに作成されます。
キーからシークレットハッシュをコピーします。
# cat Komapi_key.+*.private |grep ^Key|cut -d ' ' -f2
すべてのサブネットに対して
dhcpd
設定ファイルを編集し、キーを追加します。以下に例を示します。# cat /etc/dhcp/dhcpd.conf default-lease-time 604800; max-lease-time 2592000; log-facility local7; subnet 192.168.38.0 netmask 255.255.255.0 { range 192.168.38.10 192.168.38.100; option routers 192.168.38.1; option subnet-mask 255.255.255.0; option domain-search "virtual.lan"; option domain-name "virtual.lan"; option domain-name-servers 8.8.8.8; } omapi-port 7911; key omapi_key { algorithm HMAC-MD5; secret "jNSE5YI3H1A8Oj/tkV4...A2ZOHb6zv315CkNAY7DMYYCj48Umw=="; }; omapi-key omapi_key;
option routers
の値は、外部の DHCP サービスと使用する Satellite または Capsule IP アドレスに置き換える点に注意してください。- キーファイルが作成されたディレクトリーから、2 つのキーファイルを削除します。
Satellite Server で各サブネットを定義します。定義済みのサブネットに DHCP Capsule は設定しないでください。
競合を回避するには、リースと予約範囲を別に設定します。たとえば、リース範囲を 192.168.38.10 から 192.168.38.100 に設定した場合には、Satellite Web UI で予約範囲を 192.168.38.101 から 192.168.38.250 に設定します。
DHCP サーバーに外部アクセスできるように、ファイアウォールを設定します。
# firewall-cmd --add-service dhcp \ && firewall-cmd --runtime-to-permanent
Satellite Server で
foreman
ユーザーの UID と GID を指定します。# id -u foreman 993 # id -g foreman 990
DHCP サーバーで、1 つ前の手順で定義した ID と同じ
foreman
ユーザーとグループを作成します。# groupadd -g 990 foreman # useradd -u 993 -g 990 -s /sbin/nologin foreman
設定ファイルにアクセスできるように、読み取りおよび実行フラグを復元します。
# chmod o+rx /etc/dhcp/ # chmod o+r /etc/dhcp/dhcpd.conf # chattr +i /etc/dhcp/ /etc/dhcp/dhcpd.conf
DHCP サービスを起動します。
# systemctl start dhcpd
NFS を使用して DHCP 設定ファイルおよびリースファイルをエクスポートします。
# yum install nfs-utils # systemctl enable rpcbind nfs-server # systemctl start rpcbind nfs-server nfs-lock nfs-idmapd
NFS を使用してエクスポートする DHCP 設定ファイルとリースファイルのディレクトリーを作成します。
# mkdir -p /exports/var/lib/dhcpd /exports/etc/dhcp
作成したディレクトリーにマウントポイントを作成するには、以下の行を
/etc/fstab
ファイルに追加します。/var/lib/dhcpd /exports/var/lib/dhcpd none bind,auto 0 0 /etc/dhcp /exports/etc/dhcp none bind,auto 0 0
/etc/fstab
のファイルシステムをマウントします。# mount -a
/etc/exports
に以下の行があることを確認します。/exports 192.168.38.1(rw,async,no_root_squash,fsid=0,no_subtree_check) /exports/etc/dhcp 192.168.38.1(ro,async,no_root_squash,no_subtree_check,nohide) /exports/var/lib/dhcpd 192.168.38.1(ro,async,no_root_squash,no_subtree_check,nohide)
入力する IP アドレスは、外部 DHCP サービスで使用する Satellite または Capsule IP アドレスを指定する点に注意してください。
NFS サーバーをリロードします。
# exportfs -rva
ファイアウォールで DHCP omapi ポート 7911 を設定します。
# firewall-cmd --add-port="7911/tcp" \ && firewall-cmd --runtime-to-permanent
オプション: NFS に外部からアクセスできるようにファイアウォールを設定します。
クライアントは NFSv3 を使用して設定されます。
firewalld
NFS サービスを使用してファイアウォールを設定します。# firewall-cmd --zone public --add-service mountd \ && firewall-cmd --zone public --add-service rpc-bind \ && firewall-cmd --zone public --add-service nfs \ && firewall-cmd --runtime-to-permanent
4.3.2. 外部 DHCP サーバーを使用した Satellite Server の設定
外部 DHCP サーバーを使用した Satellite Server を設定できます。
前提条件
- 外部の DHCP サーバーを設定し、Capsule Server と DHCP 設定ファイルとリースファイルを共有していることを確認する。詳細は、「Satellite Server を使用するための外部 DHCP サーバーの設定」を参照してください。
手順
外部の DHCP を使用した Satellite Server のロギングを設定するには、次の手順を実行します。
nfs-utils
ユーティリティーをインストールします。# yum install nfs-utils
NFS 用の DHCP ディレクトリーを作成します。
# mkdir -p /mnt/nfs/etc/dhcp /mnt/nfs/var/lib/dhcpd
ファイルの所有者を変更します。
# chown -R foreman-proxy /mnt/nfs
NFS サーバーとの通信とリモートプロシージャコール (RPC: Remote Procedure Call) 通信パスを検証します。
# showmount -e DHCP_Server_FQDN # rpcinfo -p DHCP_Server_FQDN
/etc/fstab
ファイルに以下の行を追加します。DHCP_Server_FQDN:/exports/etc/dhcp /mnt/nfs/etc/dhcp nfs ro,vers=3,auto,nosharecache,context="system_u:object_r:dhcp_etc_t:s0" 0 0 DHCP_Server_FQDN:/exports/var/lib/dhcpd /mnt/nfs/var/lib/dhcpd nfs ro,vers=3,auto,nosharecache,context="system_u:object_r:dhcpd_state_t:s0" 0 0
/etc/fstab
でファイルシステムをマウントします。# mount -a
foreman-proxy
ユーザーがネットワークで共有したファイルにアクセスできることを確認するには、DHCP 設定ファイルとリースファイルを表示します。# su foreman-proxy -s /bin/bash bash-4.2$ cat /mnt/nfs/etc/dhcp/dhcpd.conf bash-4.2$ cat /mnt/nfs/var/lib/dhcpd/dhcpd.leases bash-4.2$ exit
satellite-installer
コマンドを入力して、以下の永続的な変更を/etc/foreman-proxy/settings.d/dhcp.yml
ファイルに加えます。# satellite-installer --foreman-proxy-dhcp=true \ --foreman-proxy-dhcp-provider=remote_isc \ --foreman-proxy-plugin-dhcp-remote-isc-dhcp-config /mnt/nfs/etc/dhcp/dhcpd.conf \ --foreman-proxy-plugin-dhcp-remote-isc-dhcp-leases /mnt/nfs/var/lib/dhcpd/dhcpd.leases \ --foreman-proxy-plugin-dhcp-remote-isc-key-name=omapi_key \ --foreman-proxy-plugin-dhcp-remote-isc-key-secret=jNSE5YI3H1A8Oj/tkV4...A2ZOHb6zv315CkNAY7DMYYCj48Umw== \ --foreman-proxy-plugin-dhcp-remote-isc-omapi-port=7911 \ --enable-foreman-proxy-plugin-dhcp-remote-isc \ --foreman-proxy-dhcp-server=DHCP_Server_FQDN
foreman-proxy サービスを再起動します。
# systemctl restart foreman-proxy
- Satellite Server Web UI にログインします。
- Infrastructure > Capsules に移動して、DHCP サーバーで設定する Capsule Server を特定し、Actions コラムの一覧から Refresh を選択します。
- DHCP サービスに適切なサブネットとドメインを関連付けます。
4.4. 外部 TFTP での Satellite Server の設定
この手順を使用して、外部の TFTPサービスを使用して Satellite Server を設定します。
DHCP、DNS および TFTP サービスの情報は、『プロビジョニングガイド』の「NAT を介した TFTP サービスの使用」セクションを参照してください。
作業開始前の準備
- NFS に外部からアクセスできるように NFS とファイアウォールを設定しておく。「外部 DHCP を使用した Satellite Server の設定」を参照してください。
Satellite Server での外部 TFTP の設定
TFTP サーバーをインストールし、有効にします。
# yum install tftp-server syslinux
tftp.socket
ユニットを有効にし、アクティベートします。# systemctl enable tftp.socket # systemctl start tftp.socket
PXELinux 環境を設定します。
# mkdir -p /var/lib/tftpboot/{boot,pxelinux.cfg,grub2} # cp /usr/share/syslinux/{pxelinux.0,menu.c32,chain.c32} \ /var/lib/tftpboot/
SELinux ファイルコンテキストを復元します。
# restorecon -RvF /var/lib/tftpboot/
NFS を使用してエクスポートする TFTP ディレクトリーを作成します。
# mkdir -p /exports/var/lib/tftpboot
新しく作成されたマウントポイントを /etc/fstab ファイルに追加します。
/var/lib/tftpboot /exports/var/lib/tftpboot none bind,auto 0 0
/etc/fstab
のファイルシステムをマウントします。# mount -a
/etc/exports
に以下の行があることを確認します。/exports 192.168.38.1(rw,async,no_root_squash,fsid=0,no_subtree_check)
/exports/var/lib/tftpboot 192.168.38.1(rw,async,no_root_squash,no_subtree_check,nohide)
最初の行は DHCP 設定に共通で、このシステムで以前の手順を完了すると作成されます。
NFS サーバーをリロードします。
# exportfs -rva
4.4.1. TFTP に外部アクセスできるようにファイアウォールを設定する手順
ファイアウォールを設定します (ポート 69 上の UDP)。
# firewall-cmd --add-port="69/udp" \ && firewall-cmd --runtime-to-permanent
4.5. Satellite または Capsule での外部 IdM DNS の設定
Red Hat Satellite は、 Red Hat Identity Management (IdM) サーバーを使って DNS サービスを提供するように設定できます。これには 2 つ方法があり、その両方でトランザクションキーを使用します。Red Hat Identity Management の詳細は『Linux ドメイン ID、認証、およびポリシーガイド』を参照してください。
1 つ目の方法では、RFC3645 で定義された generic security service algorithm for secret key transaction (GSS-TSIG) 技術を使用してプロセスを自動化する IdM クライアントをインストールします。この方法では、Satellite Server か Capsule のベースシステムに IdM クライアントをインストールし、Satellite 管理者が使用するアカウントを IdM サーバーの管理者が作成する必要があります。詳細は「GSS-TSIG 認証を使用した動的 DNS 更新の設定」を参照してください。
2 つ目の方法である secret key transaction authentication for DNS (TSIG) では、認証に rndc.key
を使用します。root 権限で IdM サーバーにアクセスして BIND 設定ファイルを編集する必要があります。Satellite Server に BIND
ユーティリティーをインストールし、システム間で rndc.key
をコピーします。この技術は、RFC2845 で定義されています。詳細は「TSIG 認証を使用した動的 DNS 更新の設定」を参照してください。
DNS の管理には、Satellite を使用する必要はありません。Satellite のレルム登録機能を使用していて、プロビジョニングされたホストが自動的に IdM に登録されている場合は、ipa-client-install
スクリプトでクライアント用に DNS レコードが作成されます。このため、以下の手順とレルム登録は、同時に使用することはできません。レルム登録の詳細は『Red Hat Satellite の管理』の「プロビジョンされたホストの外部認証」を参照してください。
IdM クライアントのインストール先
Satellite Server がホスト用に DNS レコードを追加する際には、まずどの Capsule がそのドメインの DNS を提供しているかを判断します。その後に Capsule と通信し、レコードを追加します。ホスト自体はこのプロセスに関与していません。つまり、IdM クライアントは、IdM サーバーで管理するドメイン向けに DNS サービスを提供するように現在設定されている Satellite または Capsule に、インストールして設定する必要があります。
4.5.1. GSS-TSIG 認証を使用した動的 DNS 更新の設定
この例では、Satellite Server の設定は以下のようになります。
ホスト名 |
|
ネットワーク |
|
IdM サーバーの設定は以下のようになります。
ホスト名 |
|
ドメイン名 |
|
作業開始前の準備
- IdM サーバーがデプロイされ、ホストベースのファイアウォールが正確に設定されていることを確認します。詳細は『Linux ドメイン ID、認証、およびポリシーガイド』の「ポート要件」を参照してください。
- IdM サーバーに、IdM サーバーにゾーンを作成するパーミッションのあるアカウントを作成します。
- Satellite または外部 Capsule がドメインの DNS を管理していることを確認します。
- Satellite または外部 Capsule が正常に機能していることを確認します。
- 新たにインストールしたシステムの場合は、まず本ガイドにあるインストール手順を完了させます。特に、DNS と DHCP の設定は完了させてください。
- 変更を元に戻す場合に備えて、応答ファイルのバックアップを作成します。詳細は「インストールオプションの指定」を参照してください。
IdM サーバー上で Kerberos プリンシパルの作成
Kerberos チケットがあることを確認します。
# kinit idm_user
ここでの idm_user は、IdM 管理者が作成したアカウントになります。
IdM サーバーに認証する際に使用する Satellite または Capsule 用の新規 Kerberos プリンシパルを作成します。
# ipa service-add capsule/satellite.example.com
IdM クライアントのインストールと設定
この手順は、ドメインの DNS サービスを管理している Satellite Server または Capsule Server で行います。
Satellite Server または Capsule Server に
ipa-client
パッケージをインストールします。Satellite Server で以下のコマンドを入力します。
# satellite-maintain packages install ipa-client
Capsule Server で以下のコマンドを入力します。
# yum install ipa-client
インストールスクリプトとそれに続くプロンプトを実行して、IdM クライアントを設定します。
# ipa-client-install
Kerberos チケットがあることを確認します。
# kinit admin
既存の keytab を削除します。
# rm /etc/foreman-proxy/dns.keytab
このシステム用に作成された keytab を取得します。
# ipa-getkeytab -p capsule/satellite.example.com@EXAMPLE.COM \ -s idm1.example.com -k /etc/foreman-proxy/dns.keytab
注記サービス中の元のシステムと同じホスト名を持つスタンバイシステムに keytab を追加する際には、
r
オプションを追加します。これにより、新規の認証情報が生成されることを防ぎ、元のシステムの認証情報が無効になります。以下のように、
foreman-proxy
への keytab ファイルのグループと所有者を設定します。# chown foreman-proxy:foreman-proxy /etc/foreman-proxy/dns.keytab
必要に応じて、keytab が有効か確認します。
# kinit -kt /etc/foreman-proxy/dns.keytab \ capsule/satellite.example.com@EXAMPLE.COM
IdM Web UI での DNS ゾーンの設定
管理するゾーンを作成して、設定します。
- Network Services (ネットワークサービス) > DNS > DNS Zones (DNS ゾーン) に移動します。
-
追加 を選択し、ゾーン名を入力します。この例では、
example.com
になります。 - Add and Edit をクリックします。
設定タブの BIND アップデートポリシー ボックスで、以下のようにセミコロン区切りのエントリーを追加します。
grant capsule\047satellite.example.com@EXAMPLE.COM wildcard * ANY;
- Dynamic update が True に設定されていることを確認します。
- Allow PTR sync を有効にします。
- Save を選択して、変更を保存します。
逆引きゾーンを作成、設定します。
- Network Services (ネットワークサービス) > DNS > DNS Zones (DNS ゾーン) に移動します。
- Add を選択します。
- Reverse zone IP network を選択して、CIDR 形式でネットワークアドレスを追加し、逆引き参照を有効にします。
- Add and Edit をクリックします。
設定 タブの BIND アップデートポリシー ボックスで、以下のようにセミコロン区切りのエントリーを追加します。
grant capsule\047satellite.example.com@EXAMPLE.COM wildcard * ANY;
- Dynamic update が True に設定されていることを確認します。
- Save を選択して、変更を保存します。
ドメインの DNS サービスを管理する Satellite または Capsule Server の設定
Satellite Server のベースシステムでは、以下を実行します。
satellite-installer --scenario satellite \ --foreman-proxy-dns=true \ --foreman-proxy-dns-managed=true \ --foreman-proxy-dns-provider=nsupdate_gss \ --foreman-proxy-dns-server="idm1.example.com" \ --foreman-proxy-dns-tsig-principal="capsule/satellite.example.com@EXAMPLE.COM" \ --foreman-proxy-dns-tsig-keytab=/etc/foreman-proxy/dns.keytab \ --foreman-proxy-dns-reverse="55.168.192.in-addr.arpa" \ --foreman-proxy-dns-zone=example.com \ --foreman-proxy-dns-ttl=86400
Capsule Server のベースシステムでは、以下を実行します。
satellite-installer --scenario capsule \ --foreman-proxy-dns=true \ --foreman-proxy-dns-managed=true \ --foreman-proxy-dns-provider=nsupdate_gss \ --foreman-proxy-dns-server="idm1.example.com" \ --foreman-proxy-dns-tsig-principal="capsule/satellite.example.com@EXAMPLE.COM" \ --foreman-proxy-dns-tsig-keytab=/etc/foreman-proxy/dns.keytab \ --foreman-proxy-dns-reverse="55.168.192.in-addr.arpa" \ --foreman-proxy-dns-zone=example.com \ --foreman-proxy-dns-ttl=86400
Satellite または Capsule のプロキシーサービスを再起動します。
# systemctl restart foreman-proxy
Satellite Web UI での設定更新
インストールスクリプトを実行して Capsule に変更を加えた後に、Satellite が該当する各 Capsule の設定をスキャンするようにします。
- インフラストラクチャー > Capsules (スマートプロキシー) に移動します。
- 更新する Capsule で、アクション ドロップダウンメニューから リフレッシュ を選択します。
ドメインを設定します。
- インフラストラクチャー > ドメイン に移動し、ドメイン名を選択します。
- ドメイン タブで、DNS Capsule が、サブネットが接続されている Capsule に設定されていることを確認します。
サブネットを設定します。
- インフラストラクチャー > サブネット に移動し、サブネット名を選択します。
- サブネット タブで、IPAM を None に設定します。
- ドメイン タブで、IdM サーバーが管理するドメインが選択されていることを確認します。
- Capsules タブで、Reverse DNS Capsule が、サブネットが接続されている Capsule に設定されていることを確認します。
- 送信 をクリックして変更を保存します。
4.5.2. TSIG 認証を使用した動的 DNS 更新の設定
この例では、Satellite Server の設定は以下のようになります。
IP アドレス |
|
ホスト名 |
|
IdM サーバーの設定は以下のようになります。
ホスト名 |
|
IP アドレス |
|
ドメイン名 |
|
作業開始前の準備
- IdM サーバーがデプロイされ、ホストベースのファイアウォールが正確に設定されていることを確認します。詳細は『Linux ドメイン ID、認証、およびポリシーガイド』の「ポート要件」を参照してください。
-
IdM サーバーで
root
権限を取得します。 - Satellite または外部 Capsule がドメインの DNS を管理していることを確認します。
- Satellite または外部 Capsule が正常に機能していることを確認します。
- 新たにインストールしたシステムの場合は、まず本ガイドにあるインストール手順を完了させます。特に、DNS と DHCP の設定は完了させてください。
- 変更を元に戻す場合に備えて、応答ファイルのバックアップを作成します。詳細は「インストールオプションの指定」を参照してください。
IdM サーバーの DNS ゾーンに対する外部アップデートの有効化
IdM サーバーで、以下の内容を
/etc/named.conf
ファイルの先頭に追加します。// This was added to allow Satellite Server at 192.168.25.1 to make DNS updates. ######################################################################## include "/etc/rndc.key"; controls { inet 192.168.25.2 port 953 allow { 192.168.25.1; } keys { "rndc-key"; }; }; ########################################################################
named
をリロードして、変更を有効にします。# systemctl reload named
IdM Web UI で、ネットワークサービス > DNS > DNS ゾーン に移動します。ゾーンの名前を選択します。設定 タブで、以下の手順を実行します。
BIND update policy (BIND アップデートポリシー)
ボックスで以下の内容を追加します。grant "rndc-key" zonesub ANY;
- Dynamic update が True に設定されていることを確認します。
- Update (更新) をクリックして変更を保存します。
以下のように、IdM サーバーから Satellite のベースシステムへ
/etc/rndc.key
ファイルをコピーします。# scp /etc/rndc.key root@satellite.example.com:/etc/rndc.key
所有者、パーミッション、SELinux コンテキストが正しいことを確認します。
# restorecon -v /etc/rndc.key # chown -v root:named /etc/rndc.key # chmod -v 640 /etc/rndc.key
Satellite Server で以下のようにインストールスクリプトを実行し、外部 DNS サーバーを使用します。
# satellite-installer --scenario satellite \ --foreman-proxy-dns=true \ --foreman-proxy-dns-managed=false \ --foreman-proxy-dns-provider=nsupdate \ --foreman-proxy-dns-server="192.168.25.2" \ --foreman-proxy-keyfile=/etc/rndc.key \ --foreman-proxy-dns-ttl=86400
IdM サーバーの DNS ゾーンに対する外部アップデートのテスト
テストのために
nsupdate
とともにbind-utils
をインストールします。# yum install bind-utils
Satellite Server 上の
/etc/rndc.key
ファイルのキーが IdM サーバーで使用されているものと同じであることを確認します。key "rndc-key" { algorithm hmac-md5; secret "secret-key=="; };
Satellite Server で、ホスト向けのテスト DNS エントリーを作成します (たとえば、
192.168.25.1
の IdM サーバー上に192.168.25.20
の A レコードがあるホストtest.example.com
)。# echo -e "server 192.168.25.1\n \ update add test.example.com 3600 IN A 192.168.25.20\n \ send\n" | nsupdate -k /etc/rndc.key
Satellite Server で、DNS エントリーをテストします。
# nslookup test.example.com 192.168.25.1 Server: 192.168.25.1 Address: 192.168.25.1#53 Name: test.example.com Address: 192.168.25.20
- IdM Web UI でエントリーを参照するために、Network Services (ネットワークサービス) > DNS > DNS Zones (DNS ゾーン) に移動します。ゾーンの名前を選択し、名前でホストを検索します。
正常に解決されたら、テスト DNS エントリーを削除します。
# echo -e "server 192.168.25.1\n \ update delete test.example.com 3600 IN A 192.168.25.20\n \ send\n" | nsupdate -k /etc/rndc.key
DNS エントリーが削除されたことを確認します。
# nslookup test.example.com 192.168.25.1
レコードが正常に削除されている場合は、上記の
nslookup
コマンドが失敗し、SERVFAIL エラーメッセージを返します。
4.5.3. 内部 DNS サービス使用への復元
Satellite Server と Capsule Server を DNS プロバイダーとして使用するように戻すには、以下の手順に従います。
ドメインの DNS を管理する Satellite または Capsule Server
外部 DNS への変更前に応答ファイルをバックアップした場合は、応答ファイルを復元して、インストールスクリプトを実行します。
# satellite-installer
応答ファイルのバックアップがない場合は、現行の応答ファイルでバックアップを作成し、以下にあるように Satellite および Capsules でインストールスクリプトを実行します。
応答ファイルに関する情報は、「インストールオプションの指定」を参照してください。
応答ファイルを使用せずに Satellite または Capsule を DNS サーバーとして設定
# satellite-installer \
--foreman-proxy-dns=true \
--foreman-proxy-dns-managed=true \
--foreman-proxy-dns-provider=nsupdate \
--foreman-proxy-dns-server="127.0.0.1" \
--foreman-proxy-dns-tsig-principal="foremanproxy/satellite.example.com@EXAMPLE.COM" \
--foreman-proxy-dns-tsig-keytab=/etc/foreman-proxy/dns.keytab
詳細は、「Capsule Server での DNS、DHCP および TFTP の設定」を参照してください。
Satellite Web UI での設定更新
インストールスクリプトを実行して Capsule に変更を加えた後に、Satellite が該当する各 Capsule の設定をスキャンするようにします。
- インフラストラクチャー > Capsules (スマートプロキシー) に移動します。
- 更新する Capsule で、アクション ドロップダウンメニューから リフレッシュ を選択します。
ドメインを設定します。
- インフラストラクチャー > ドメイン に移動し、ドメイン名を選択します。
- ドメイン タブで、DNS Capsule が、サブネットが接続されている Capsule に設定されていることを確認します。
サブネットを設定します。
- インフラストラクチャー > サブネット に移動し、サブネット名を選択します。
- サブネット タブで、IPAM を DHCP または Internal DB に設定します。
- ドメイン タブで、Satellite または Capsule が管理するドメインが選択されていることを確認します。
- Capsules タブで、Reverse DNS Capsule が、サブネットが接続されている Capsule に設定されていることを確認します。
- 送信 をクリックして変更を保存します。
第5章 Satellite Server のアンインストール
Satellite Server または Capsule Server は、不要になったらアンインストールできます。
Satellite Server をアンインストールすると、ターゲットシステムで使用されたすべてのアプリケーションが削除されます。アプリケーションまたはアプリケーションデータを Satellite Server 以外の目的で使用する場合は、削除する前にそれらの情報をバックアップする必要があります。
作業開始前の準備
katello-remove
スクリプトを実行すると、2 つの警告が出され、システムのすべてのパッケージと設定ファイルを削除する前に確認が求められます。
このスクリプトは、以下の重要なパッケージを含む、多くのパッケージおよび設定ファイルを削除します。
- httpd (apache)
- mongodb
- tomcat6
- puppet
- ruby
- rubygems
- すべての Katello および Foreman パッケージ
Satellite Server のアンインストール
Satellite Server をアンインストールします。
# katello-remove
付録A Red Hat Satellite へのカスタム設定の適用
satellite-installer
を使用して初めて Satellite をインストールして設定する際には、--foreman-proxy-dns-managed=false
と --foreman-proxy-dhcp-managed=false
のインストーラーフラグを使用することで、DNS および DHCP 設定ファイルが Puppet に管理されないように指定できます。インストーラーの初回実行時にこれらのフラグを指定しない場合は、インストーラーを再実行すると手動による変更がすべて上書きされるので、アップグレードする際などに再実行できます。変更が上書きされても、復元手順を実行すると、手動での変更は復元できます。詳細は、『オンラインネットワークからの Satellite Server のインストール』の「Puppet 実行で上書きされた手動変更の復元」を参照してください。
カスタム設定に利用可能なすべてのインストーラーフラグを表示するには、satellite-installer --scenario satellite --full-help
を実行します。Puppet クラスには、Satellite インストーラーに公開されていないものもあります。これらのクラスを手動で管理して、インストーラーが値を上書きしないようにするには、設定ファイル /etc/foreman-installer/custom-hiera.yaml
にエントリーを追加して設定値を指定します。この設定ファイルは YAML 形式で、<puppet class>::<parameter name>: <value>
という形式を 1 行あたり 1 エントリーで記入します。このファイルで指定した設定値は、インストーラーを再起動しても維持されます。
一般的な例を示します。
Apache で ServerTokens ディレクティブが製品名のみを返すように設定するには、以下のようにします。
apache::server_tokens: Prod
Apache サーバー署名をオフにするには、以下のようにします。
apache::server_signature: Off
Pulp で pulp ワーカーの数を設定するには、以下のようにします。
pulp::num_workers: 8
Satellite インストーラー用の Puppet モジュールは、/usr/share/foreman-installer/modules
に保存されています。クラス、パラメーター、および値を調べるには、.pp
ファイル (例: moduleName/manifests/example.pp) を確認してください。別の方法では、grep
コマンドでキーワード検索を実行します。
値の設定によっては、Red Hat Satellite のパフォーマンスや機能に影響が出る意図しない結果がもたらされる場合があります。設定を適用する前に変更の影響を考慮して、実稼働以外の環境で最初に変更をテストしてください。実稼働以外の Satellite 環境がない場合は、Satellite インストーラーを --noop
と --verbose
のオプションを追加して実行します。変更によって問題が発生する場合は、該当箇所を custom-hiera.yaml
から削除し、Satellite インストーラーを再実行します。特定の値を変更することが安全かどうかを確認する場合は、Red Hat サポートにお問い合わせください。
A.1. Puppet 実行で上書きされた手動変更の復元
Puppet 実行で手動による設定が上書きされた場合でも、ファイルを元の状態に戻すことができます。以下の例では、Puppet 実行で上書きされた DHCP 設定ファイルを復元します。
復元するファイルをコピーします。こうすることで、アップグレードに必要な変更があるか、ファイル間で比較できます。これは DNS や DHCP サービスでは一般的ではありません。
# cp /etc/dhcp/dhcpd.conf /etc/dhcp/dhcpd.backup
ログファイルを確認して、上書きされたファイルの md5sum をメモします。たとえば、以下のようになります。
# journalctl -xe ... /Stage[main]/Dhcp/File[/etc/dhcp/dhcpd.conf]: Filebucketed /etc/dhcp/dhcpd.conf to puppet with sum 622d9820b8e764ab124367c68f5fa3a1 ...
上書きされたファイルを復元します。
# puppet filebucket restore --local --bucket \ /var/lib/puppet/clientbucket /etc/dhcp/dhcpd.conf \ 622d9820b8e764ab124367c68f5fa3a1
- バックアップしたファイルと復元されたファイルを比べます。復元されたファイルに、アップグレードに必要な変更を追加します。