オフラインネットワーク環境での Satellite Server のインストール
インターネットに接続されていないネットワーク内に Red Hat Satellite Server をインストールしてデプロイする
Red Hat Satellite Documentation Team
satellite-doc-list@redhat.com
概要
Red Hat ドキュメントへのフィードバック (英語のみ)
弊社ドキュメントに対するご意見をお聞かせください。ドキュメントの改善点があればお知らせください。
特定の部分について簡単なコメントをお寄せいただく場合は、以下をご確認ください。
ドキュメントの表示が Multi-page HTML 形式になっていていることを確認してください。
ドキュメントの右上隅に Feedback ボタンがあることを確認してください。
- マウスカーソルを使用して、コメントを追加するテキストの部分を強調表示します。
- 強調表示されたテキストの下に表示される Add Feedback ポップアップをクリックします。
- 表示される手順に従ってください。
Bugzilla を介してフィードバックを送信するには、新しいチケットを作成します。
- Bugzilla の Web サイトに移動します。
- Component (コンポーネント) として Documentation を使用します。
- Description フィールドに、ドキュメントの改善に向けたご提案を記入してください。ドキュメントの該当部分へのリンクも追加してください。
- Submit Bug をクリックします。
第1章 インストールのための環境準備
Satellite をインストールする前に、環境が以下の要件を満たしていることを確認する必要があります。
1.1. システム要件
ネットワーク接続されたベースのオペレーティングシステムには、以下の要件が適用されます。
- x86_64 アーキテクチャー
- 最低 4 コア 2.0 GHz CPU
- Satellite Server が機能するには、最低 20 GB のメモリーが必要です。また、最低 4 GB のスワップ領域が推奨されます。最低値よりも少ないメモリーで実行している Satellite は正常に動作しないことがあります。
- 利用可能なすべての更新が適用されてインストールされているサポートされているオペレーティングシステム
- 一意なホスト名 (小文字、数字、ドット (.)、ハイフン (-) を使用できます)
- 現在の Red Hat Satellite サブスクリプション
- 管理ユーザー (root) アクセス
- システム umask 0022
- 完全修飾ドメイン名を使用した完全な正引きおよび逆引きの DNS 解決
Satellite は UTF-8
エンコーディングのみをサポートします。地域が米国で言語が英語の場合、システム全体のロケール設定として en_US.utf-8
を設定します。Red Hat Enterprise Linux でのシステムロケールの設定に関する詳細は、Red Hat Enterprise Linux 8 での基本的なシステム設定の構成 の システムロケールの設定 を参照してください。
Satellite Server および Capsule Server では、ホスト名の短縮名はサポートされません。カスタム証明書を使用する場合には、カスタム証明書の Common Name (CN) は短縮名ではなく完全修飾ドメイン名 (FQDN) である必要があります。これは Satellite のクライアントには適用されません。
Satellite Server をインストールする前に、環境がインストール要件を満たしていることを確認する必要があります。
Satellite Server は、新たにプロビジョニングしたシステムにインストールしておく。Satellite Server が作成するローカルのユーザーとの競合を回避するため、新たにプロビジョニングしたシステムには、以下のユーザーを外部アイデンティティープロバイダーで設定して使用しないようにしてください。
- apache
- foreman
- foreman-proxy
- postgres
- pulp
- puppet
- qdrouterd
- qpidd
- redis
- tomcat
認定ハイパーバイザー
Satellite Server は、Red Hat Enterprise Linux の実行をサポートするハイパーバイザーで稼働する物理システムおよび仮想マシン両方で完全にサポートされます。認定ハイパーバイザーに関する詳細は、Which hypervisors are certified to run Red Hat Enterprise Linux? を参照してください。
SELinux モード
SELinux は、Enforcing モードまたは Permissive モードのいずれかで有効化されている必要があります。無効化された SELinux でのインストールはサポートされません。
FIPS Mode
FIPS モードで稼働する Red Hat Enterprise Linux システムに、Satellite をインストールできます。Satellite のインストール後に FIPS モードを有効にすることはできません。詳細は、Red Hat Enterprise Linux セキュリティー強化 の FIPS モードが有効な RHEL 8 システムのインストール を参照してください。
Satellite は、DEFAULT および FIPS 暗号化ポリシーをサポートしています。FUTURE 暗号化ポリシーは、Satellite および Capsule のインストールではサポートされていません。
Inter-Satellite Synchronization (ISS)
エアギャップされた Satellite Server を使用するシナリオでは、ISS エクスポート同期が機能するために、すべての Satellite Server が同じSatellite バージョン上にある必要があります。ISS Network Sync は、それをサポートするすべての Satellite バージョンで動作します。詳細は、コンテンツ管理ガイド の Satellite Server 間でのコンテンツ同期 を参照してください。
1.2. ストレージ要件
以下の表には、特定のディレクトリーのストレージ要件が詳細に記載されています。これらの値は、想定のユースケースシナリオに基づいており、各環境ごとに異なることがあります。
ランタイムサイズは Red Hat Enterprise Linux 6、7、および 8 のリポジトリーと同期して測定されました。
表1.1 Satellite Server インストールのストレージ要件
ディレクトリー | インストールサイズ | ランタイムサイズ |
---|---|---|
/var/log | 10 MB | 10 GB |
/var/lib/pgsql | 100 MB | 20 GB |
/usr | 5 GB | 適用外 |
/opt/puppetlabs | 500 MB | 適用外 |
/var/lib/pulp | 1 MB | 300 GB |
/var/lib/qpidd | 25 MB |
外部データベースサーバーの場合: インストールサイズが 100 MB でランタイムサイズが 20 GB の /var/lib/pgsql
。
パーティショニングとサイズの詳細は、Red Hat Enterprise Linux 8 システム設計ガイド の パーティショニングのリファレンス を参照してください。
1.3. ストレージのガイドライン
Satellite Server をインストールして効率性を向上させる場合は、以下のガイドラインを考慮してください。
-
/tmp
ディレクトリーを別のファイルシステムとしてマウントする場合は、/etc/fstab
ファイルのexec
マウントオプションを使用する必要があります。/tmp
が、noexec
オプションを指定してすでにマウントされている場合は、オプションをexec
に変更して、ファイルシステムを再マウントする必要があります。これは、puppetserver
サービスが機能するために必要です。 -
Satellite Server データの多くは
/var
ディレクトリーに格納されるため、LVM ストレージに/var
をマウントして、システムがスケーリングできるようにしてください。 -
/var/lib/qpidd/
ディレクトリーでは、goferd
サービスが管理するコンテンツホスト 1 つに対して使用される容量は 2 MB を少し超えます。たとえば、コンテンツホストの数が 10,000 個の場合、/var/lib/qpidd/
に 20 GB のディスク容量が必要になります。 -
/var/lib/pulp
ディレクトリーには、帯域幅が高く、レイテンシーの低いストレージを使用してください。Red Hat Satellite には I/O を大量に使用する操作が多数あるため、高レイテンシーで低帯域幅のストレージを使用すると、パフォーマンス低下の問題が発生します。インストールに、毎秒 60 - 80 メガバイトのスピードがあることを確認してください。
storage-benchmark
スクリプトを使用して、このデータを取得できます。storage-benchmark
スクリプトの使用の詳細は、Impact of Disk Speed on Satellite Operations を参照してください。
ファイルシステムのガイドライン
- 入出力レイテンシーが高すぎるため、GFS2 ファイルシステムは使用しないでください。
ログファイルのストレージ
ログファイルは、/var/log/messages/
、/var/log/httpd/
、および /var/lib/foreman-proxy/openscap/content/
に書き込まれます。logrotate を使って、これらのファイルのサイズを管理できます。
詳細は、How to use logrotate utility to rotate log files を参照してください。
ログメッセージに必要なストレージの正確な容量は、インストール環境および設定により異なります。
NFS マウントを使用する場合の SELinux の考慮事項
NFS 共有を使用して /var/lib/pulp
ディレクトリーをマウントすると、SELinux は同期プロセスをブロックします。これを避けるには、以下の行を /etc/fstab
に追加して、ファイルシステムテーブル内の /var/lib/pulp
ディレクトリーの SELinux コンテキストを指定します。
nfs.example.com:/nfsshare /var/lib/pulp nfs context="system_u:object_r:var_lib_t:s0" 1 2
NFS 共有が既にマウントされている場合は、上記の方法を使用して再マウントし、以下のコマンドを入力します。
# restorecon -R /var/lib/pulp
重複パッケージ
同じパッケージが異なるリポジトリーで重複して存在する場合には、ディスク上に一度しか保存されません。そのため、重複するパッケージを別のリポジトリーに追加するときに必要な追加ストレージが少なくて済みます。ストレージの多くは、/var/lib/pulp/
ディレクトリーにあります。これらのエンドポイントは手動で設定できません。ストレージの問題を回避するために、ストレージが /var
ファイルシステムで利用可能であることを確認してください。
シンボリックリンク
/var/lib/pulp/
にはシンボリックリンクは使用できません。
1.4. サポート対象オペレーティングシステム
Satellite Server は、Satellite Server のインストール時に利用可能な Red Hat Enterprise Linux 8 の最新バージョンでサポートされています。EUS または z-stream を含む以前の Red Hat Enterprise Linux バージョンはサポートされません。
オペレーティングシステムは、ディスク、ローカル ISO イメージ、キックスタート、または Red Hat がサポートする方法であれば他の方法でもインストールできます。
以下のオペレーティングシステムはインストーラーでサポートされ、パッケージがあり、Satellite のデプロイ用にテストされています。
表1.2 satellite-installer でサポートされるオペレーティングシステム
オペレーティングシステム | アーキテクチャー | 注記 |
Red Hat Enterprise Linux 8 | x86_64 のみ |
Satellite をインストールする前に、可能な場合はすべてのオペレーティングシステムの更新を適用してください。
Satellite Server には、@Base
パッケージグループを含む Red Hat Enterprise Linux インストールが必要です。他のパッケージセットの変更や、サーバーの運用に直接必要でないサードパーティーの設定やソフトウェアは含めないようにしてください。この制限は、ハード化や Red Hat 以外の他社のセキュリティーソフトウェアが該当します。インフラストラクチャーにこのようなソフトウェアが必要な場合は、Satellite Server が完全に機能することを最初に確認し、その後でシステムのバックアップを作成して、Red Hat 以外のソフトウェアを追加します。
新しくプロビジョニングされたシステムに Satellite Server をインストールします。
Red Hat では、このシステムを Satellite Server の実行以外に使用するサポートはしていません。
1.5. サポート対象ブラウザー
Satellite は、最新版の Firefox および Google Chrome ブラウザーをサポートします。
Satellite Web UI とコマンドラインインターフェイスは、英語、ポルトガル語、中国語 (簡体)、中国語 (繁体)、韓国語、日本語、イタリア語、スペイン語、ロシア語、フランス語、ドイツ語に対応しています。
1.6. ポートとファイアウォールの要件
Satellite アーキテクチャーのコンポーネントで通信を行うには、ベースオペレーティングシステム上で、必要なネットワークポートが開放/解放されているようにしてください。また、ネットワークベースのファイアウォールでも、必要なネットワークポートを開放する必要があります。
この情報を使用して、ネットワークベースのファイアウォールを設定してください。クラウドソリューションによっては、ネットワークベースのファイアウォールと同様にマシンが分離されるので、特にマシン間の通信ができるように設定する必要があります。アプリケーションベースのファイアウォールを使用する場合には、アプリケーションベースのファイアウォールで、テーブルに記載のアプリケーションすべてを許可して、ファイアウォールに既知の状態にするようにしてください。可能であれば、アプリケーションのチェックを無効にして、プロトコルをベースにポートの通信を開放できるようにしてください。
統合 Capsule
Satellite Server には Capsule が統合されており、Satellite Server に直接接続されたホストは、以下のセクションのコンテキストでは Satellite のクライアントになります。これには、Capsule Server が実行されているベースオペレーティングシステムが含まれます。
Capsule のクライアント
Satellite と統合された Capsule ではない Capsule のクライアントであるホストには、Satellite Server へのアクセスは必要ありません。Satellite トポロジーとポート接続の図に関する詳細は、Satellite の概要、概念、およびデプロイメントの考慮事項 の Capsule のネットワーク を参照してください。
使用している設定に応じて、必要なポートは変わることがあります。
以下の表は、宛先ポートとネットワークトラフィックの方向を示しています。
表1.3 Satellite Server の受信トラフィック
送信先ポート | プロトコル | サービス | Source | 用途 | 説明 |
53 | TCP および UDP | DNS | DSN サーバーおよびクライアント | 名前解決 | DNS (オプション) |
67 | UDP | DHCP | クライアント | 動的 IP | DHCP (オプション) |
69 | UDP | TFTP | クライアント | TFTP サーバー (オプション) | |
443 | TCP | HTTPS | Capsule | Red Hat Satellite API | カプセルからの通信 |
443、80 | TCP | HTTPS, HTTP | クライアント | コンテンツの取得 | コンテンツ |
443、80 | TCP | HTTPS, HTTP | Capsule | コンテンツの取得 | コンテンツ |
443、80 | TCP | HTTPS, HTTP | クライアント | コンテンツホスト登録 | カプセル CA RPM のインストール |
443 | TCP | HTTPS | クライアント | コンテンツホスト登録 | 開始 ファクトのアップロード インストールされたパッケージとトレースの送信 |
443 | TCP | HTTPS | Red Hat Satellite | コンテンツミラーリング | 管理 |
443 | TCP | HTTPS | Red Hat Satellite | カプセル API | スマートプロキシー機能 |
1883 | TCP | MQTT | クライアント | プルベースの REX (オプション) | REX ジョブ通知用のコンテンツホスト (オプション) |
5646、5647 | TCP | AMQP | Capsule | Katello Agent | Satellite 上の Qpid ディスパッチルーターへのメッセージの転送 (オプション) |
5910 – 5930 | TCP | HTTPS | ブラウザー | コンピュートリソースの仮想コンソール | |
8000 | TCP | HTTP | クライアント | プロビジョニングテンプレート | クライアントインストーラー、iPXE または UEFI HTTP ブートのテンプレート取得 |
8000 | TCP | HTTPS | クライアント | PXE ブート | インストール |
8140 | TCP | HTTPS | クライアント | puppet-agent | クライアントの更新 (オプション) |
9090 | TCP | HTTPS | クライアント | OpenSCAP | クライアントの設定 |
9090 | TCP | HTTPS | 検出されたノード | 検出 | ホストの検出とプロビジョニング |
9090 | TCP | HTTPS | Red Hat Satellite | カプセル API | Capsule の機能 |
Satellite Server に直接接続された管理対象ホストは、統合された Capsule のクライアントとなるため、このコンテキストではクライアントになります。これには、Capsule Server が稼働しているベースオペレーティングシステムが含まれます。
DHCP Capsule は、DHCP IPAM が設定されたサブネット内のホストに対して ICMP ping または TCP Echo 接続の試行を実行し、使用が検討されている IP アドレスが空いているかどうかを確認します。この動作は、satellite-installer --foreman-proxy-dhcp-ping-free-ip=false
を使用してオフにできます。
表1.4 Satellite Server の発信トラフィック
送信先ポート | プロトコル | サービス | 宛先 | 用途 | 説明 |
---|---|---|---|---|---|
ICMP | ping | クライアント | DHCP | 解放されている IP チェック (オプション) | |
7 | TCP | echo | クライアント | DHCP | 解放されている IP チェック (オプション) |
22 | TCP | SSH | ターゲットホスト | リモート実行 | ジョブの実行 |
22, 16514 | TCP | SSH SSH/TLS | Compute Resource (コンピュートリソース) | libvirt のコンピュートリソースに対する Satellite による通信 | |
53 | TCP および UDP | DNS | インターネット上の DNS サーバー | DNS サーバー | DNS レコードの解決 (オプション) |
53 | TCP および UDP | DNS | DNS サーバー | --capsule-dns | DNS 競合の検証 (オプション) |
53 | TCP および UDP | DNS | DNS サーバー | オーケストレーション | DNS 競合の検証 |
68 | UDP | DHCP | クライアント | 動的 IP | DHCP (オプション) |
80 | TCP | HTTP | リモートリポジトリー | コンテンツ同期 | リモート YUM リポジトリー |
389、636 | TCP | LDAP、LDAPS | 外部 LDAP サーバー | LDAP |
LDAP 認証。外部認証が有効になっている場合にのみ必要です。 |
443 | TCP | HTTPS | Satellite | Capsule | Capsule 設定管理 テンプレートの取得 OpenSCAP リモート実行結果のアップロード |
443 | TCP | HTTPS | Amazon EC2, Azure, Google GCE | コンピュートリソース | 仮想マシンのインタラクション (クエリー/作成/破棄) (オプション) |
443 | TCP | HTTPS | Capsule | コンテンツのミラーリング | 開始 |
443 | TCP | HTTPS | Infoblox DHCP サーバー | DHCP 管理 | DHCP に Infoblox を使用する場合、DHCP リースの管理 (オプション) |
623 | クライアント | 電源管理 | BMC のオン/オフ/サイクル/ステータス | ||
5000 | TCP | HTTPS | OpenStack Compute Resource | コンピュートリソース | 仮想マシンのインタラクション (クエリー/作成/破棄) (オプション) |
5646 | TCP | AMQP | Satellite Server | Katello Agent | Capsule の Qpid ディスパッチルーターへのメッセージの転送 (オプション) |
5671 | Qpid | リモートインストール | インストールコマンドのクライアントへの送信 | ||
5671 | ディスパッチルーター (ハブ) | リモートインストール | Satellite 上のディスパッチルーターへのメッセージの転送 | ||
5671 | Satellite Server | Katello エージェントのリモートインストール | インストールコマンドのクライアントへの送信 | ||
5671 | Satellite Server | Katello エージェントのリモートインストール | Satellite 上のディスパッチルーターへのメッセージの転送 | ||
5900 – 5930 | TCP | SSL/TLS | ハイパーバイザー | noVNC コンソール | noVNC コンソールの起動 |
7911 | TCP | DHCP、OMAPI | DHCP サーバー | DHCP |
DHCP ターゲットは、
ISC と |
8443 | TCP | HTTPS | クライアント | 検出 | Capsule は、検出されたホストに再起動コマンドを送信する (オプション) |
9090 | TCP | HTTPS | Capsule | カプセル API | Capsule の管理 |
1.7. クライアントから Satellite Server への接続の有効化
Satellite Server の内部 Capsule のクライアントである Capsule とコンテンツホストは、Satellite のホストベースのファイアウォールとすべてのネットワークベースのファイアウォールを介したアクセスを必要とします。
以下の手順を使用して、Satellite のインストール先のシステムでホストベースのファイアウォールを設定し、クライアントからの受信接続を有効にして、これらの設定をシステムの再起動後にも保持する方法について説明します。使用されるポートの詳細は、ポートおよびファイアウォール要件 を参照してください。
手順
クライアントから Satellite の通信用のポートを開放するには、Satellite をインストールするベースオペレーティングシステムで以下のコマンドを入力します。
# firewall-cmd \ --add-port="53/udp" --add-port="53/tcp" \ --add-port="67/udp" \ --add-port="69/udp" \ --add-port="80/tcp" --add-port="443/tcp" \ --add-port="5647/tcp" \ --add-port="8000/tcp" --add-port="9090/tcp" \ --add-port="8140/tcp"
変更を永続化します。
# firewall-cmd --runtime-to-permanent
1.8. ファイアウォール設定の確認
この手順を使用して、ファイアウォール設定への変更を検証します。
手順
以下のコマンドを入力します。
# firewall-cmd --list-all
詳細は、Red Hat Enterprise Linux 8 のネットワークの保護 の firewalld の使用および設定 を参照してください。
1.9. 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 8 ネットワークの設定と管理 の hostnamectl を使用したホスト名の変更 を参照してください。
Satellite の運用には名前解決が非常に重要です。Satellite が完全修飾ドメイン名を適切に解決できない場合には、コンテンツ管理、サブスクリプション管理、プロビジョニングなどのタスクに失敗します。
第2章 Satellite Server のインストール
Satellite Server に使用予定のホストがオフライン環境にある場合には、外部のコンピューターを使用してパッケージの ISO イメージをダウンロードし、Satellite Server のインストール先にパッケージをコピーし、Satellite Server をインストールします。他の状況では、ISO イメージに最新の更新、バグ修正、機能が含まれていない可能性があるので、この手法は推奨していません。
以下の手順を使用して、Satellite Server をインストールし、初期設定を実行して、サブスクリプションマニフェストをインポートします。
作業を進める前に、使用している環境に適切なマニフェストを確認します。サブスクリプションマニフェストに関する詳細は コンテンツの管理 の Red Hat Subscriptions の管理 を参照してください。
Satellite Server に自己登録することはできません。
2.1. バイナリー DVD イメージのダウンロード
以下の手順を使用して、Red Hat Enterprise Linux Server と Red Hat Satellite をダウンロードします。
手順
- Red Hat カスタマーポータル に移動し、ログインします。
- ダウンロード をクリックします。
- Red Hat Enterprise Linux を選択します。
製品とバージョンがご使用の環境に適切であることを確認します。
- Product Variant (製品のバリアント) は Red Hat Enterprise Linux for x86_64 に設定します。
- Version (バージョン) は、ベースオペレーティングシステムとして使用する予定の製品の最新マイナーバージョンに設定します。
- Architecture (アーキテクチャー) は 64 ビットバージョンに設定します。
- Product Software (製品ソフトウェア) タブで、最新の Red Hat Enterprise Linux for x86_64 バージョン向けのバイナリー DVD イメージをダウンロードします。
- DOWNLOADS (ダウンロード) をクリックし、Red Hat Satellite を選択します。
製品とバージョンがご使用の環境に適切であることを確認します。
- Product Variant (製品のバリアント) は Red Hat Satellite に設定します。
- Version (バージョン)は、使用する予定の製品の最新マイナーバージョンに設定されます。
- Product Software (製品ソフトウェア) タブで、最新の Red Hat Satellite バージョン向けのバイナリー DVD イメージをダウンロードします。
ISO ファイルを Satellite ベースオペレーティングシステムの
/var/tmp
または他のアクセス可能なストレージデバイスにコピーします。# scp localfile username@hostname:remotefile
2.2. RHEL 8 での オフラインリポジトリーを使用したベースオペレーティングシステムの設定
以下の手順を使用して、Red Hat Enterprise Linux 8 および Red Hat Satellite ISO イメージのオフラインリポジトリーを設定します。
手順
ベースオペレーティングシステムのバージョンに対応する ISO ファイルのマウントポイントとして使用するディレクトリーを作成します。
# mkdir /media/rhel8
Red Hat Enterprise Linux の ISO イメージをマウントポイントにマウントします。
# mount -o loop rhel8-DVD.iso /media/rhel8
ISO ファイルのリポジトリーデータファイルをコピーして権限を変更するには、次のように入力します。
# cp /media/rhel8/media.repo /etc/yum.repos.d/rhel8.repo # chmod u+w /etc/yum.repos.d/rhel8.repo
リポジトリーデータファイルを編集し、
baseurl
ディレクティブを追加します。[RHEL8-BaseOS] name=Red Hat Enterprise Linux BaseOS mediaid=None metadata_expire=-1 gpgcheck=0 cost=500 baseurl=file:///media/rhel8/BaseOS/ [RHEL8-AppStream] name=Red Hat Enterprise Linux Appstream mediaid=None metadata_expire=-1 gpgcheck=0 cost=500 baseurl=file:///media/rhel8/AppStream/
リポジトリーが設定されたことを確認します。
# yum repolist
Satellite Server の ISO ファイルのマウントポイントとして使用するディレクトリーを作成します。
# mkdir /media/sat6
Satellite Server の ISO イメージをマウントポイントにマウントします。
# mount -o loop sat6-DVD.iso /media/sat6
2.3. オフラインリポジトリーからの Satellite パッケージのインストール
以下の手順を使用して、オフラインのリポジトリーから Satellite パッケージをインストールします。
手順
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 イメージを使用してベースオペレーティングシステムを最新の状態にします。
# dnf update
Satellite ISO がマウントされたディレクトリーに移動します。
# cd /media/sat6/
マウントされたディレクトリーでインストールスクリプトを実行します。
# ./install_packages
注記このスクリプトには、
satellite:el8
モジュールを有効にするコマンドが含まれています。モジュールsatellite:el8
を有効にすると、postgresql:10
およびruby:2.5
との競合について警告が表示されます。これは、これらのモジュールが Red Hat Enterprise Linux 8 でデフォルトのモジュールバージョンに設定されているためです。モジュールsatellite:el8
には、モジュールpostgresql:12
およびruby:2.7
への依存関係があり、satellite:el8
モジュールで有効になります。これらの警告はインストールプロセスの失敗の原因にはならないため、安全に無視できます。Red Hat Enterprise Linux 8 のモジュールとライフサイクルストリームの詳細については、Red Hat Enterprise Linux Application Streams Life Cycle を参照してください。Satellite パッケージが正常にインストールされると、以下のメッセージが表示されます。
Install is complete.Please run satellite-installer --scenario satellite
.
2.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/
ローカルでパッケージをインストールします。
# dnf install package_name
Satellite ISO がマウントされたディレクトリーに移動します。
# cd /media/sat6/
Satellite Server パッケージをインストールして、パッケージの依存関係エラーを解決したことを確認してください。パッケージの依存関係エラーがさらにある場合は、この手順を繰り返します。
# ./install_packages
注記このスクリプトには、
satellite:el8
モジュールを有効にするコマンドが含まれています。モジュールsatellite:el8
を有効にすると、postgresql:10
およびruby:2.5
との競合について警告が表示されます。これは、これらのモジュールが Red Hat Enterprise Linux 8 でデフォルトのモジュールバージョンに設定されているためです。モジュールsatellite:el8
には、モジュールpostgresql:12
およびruby:2.7
への依存関係があり、satellite:el8
モジュールで有効になります。これらの警告はインストールプロセスの失敗の原因にはならないため、安全に無視できます。Red Hat Enterprise Linux 8 のモジュールとライフサイクルストリームの詳細については、Red Hat Enterprise Linux Application Streams Life Cycle を参照してください。Satellite パッケージが正常にインストールされると、以下のメッセージが表示されます。
Install is complete.Please run satellite-installer --scenario satellite
.
2.5. chronyd とシステムクロックの同期
時間のずれを最小限に抑えるには、Satellite Server をインストールするベースオペレーティングシステムのシステムクロックを Network Time Protocol (NTP) サーバーと同期する必要があります。ベースオペレーティングシステムのクロックが正しく設定されていない場合には、証明書の検証に失敗する可能性があります。
chrony
スイートの詳細は、Red Hat Enterprise Linux 8 の基本的なシステム設定の構成 の Chrony スイートを使用して NTP を設定する を参照してください。
手順
chrony
パッケージをインストールします。# dnf install chrony
chronyd
サービスを起動して、有効にします。# systemctl enable --now chronyd
2.6. ベースオペレーティングシステムへの 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 パッケージをインストールします。
# dnf install sos
2.7. Satellite Server の設定
satellite-installer
インストールスクリプトを使用して Satellite Server をインストールします。以下の手法から 1 つ選択します。
- 「Satellite インストールの設定」。この手法では、1 つまたは複数のコマンドオプションを指定して、インストールスクリプトを実行します。コマンドオプションは、対応するデフォルトの初期設定オプションを上書きし、Satellite 応答ファイルに記録されます。必要なオプションの設定に、必要に応じてスクリプトは何回でも実行することができます。
Satellite インストーラーの実行時に使用するオプションによっては、設定が完了するのに数分かかることがあります。管理者は、両方の方法でこれまでに使用されたオプションを応答ファイルで確認できます。
2.7.1. Satellite インストールの設定
初期設定の手順では、組織、ロケーション、ユーザー名、およびパスワードが作成されます。初期設定後に、必要に応じて追加の組織とロケーションを作成できます。初期設定では、PostgreSQL データベースも同じサーバーにインストールします。
インストールプロセスの完了には、数十分かかることがあります。システムにリモートで接続する場合は、リモートシステムから切断された場合にインストールの進捗を確認できるよう、通信セッションの一時中断または再接続を許可できる tmux
などのユーティリティーを使用してください。インストールコマンドを実行しているシェルへの接続が切断された場合は、/var/log/foreman-installer/satellite.log
のログを参照してプロセスが正常に完了したかどうかを確認します。
留意事項
-
satellite-installer --scenario satellite --help
コマンドを使用して、利用可能なオプションとすべてのデフォルト値を表示します。値を指定しない場合は、デフォルト値が使用されます。 -
--foreman-initial-organization
オプションに、意味を持つ値を指定します。たとえば、会社名を指定できます。値に一致する内部ラベルが作成されますが、このラベルは後で変更できません。値を指定しない場合は、ラベルが Default_Organization の Default Organization という名前の組織が作成されます。組織名は変更できますが、ラベルは変更できません。 -
リモート実行は、コンテンツホスト上のパッケージを管理するための主要な方法です。リモート実行 SSH の代わりに非推奨の Katello Agent を使用する場合は、
-foreman-proxy-content-enable-katello-agent=true
オプションを使用して有効にします。Satellite Server と同様に、Capsule Server でも同じオプションが与えられるべきです。 -
デフォルトでは、インストーラーが設定するすべての設定ファイルが 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 で管理されないようにします。他のサービスにカスタム設定を適用する方法は、Satellite へのカスタム設定の適用 を参照してください。
手順
使用する追加オプションを指定し、以下のコマンドを入力します。
# satellite-installer --scenario satellite \ --foreman-initial-organization "My_Organization" \ --foreman-initial-location "My_Location" \ --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/rhel8
2.8. サブスクリプション接続の無効化
切断された Satellite Server でサブスクリプション接続を無効にして、Red Hat ポータルへの接続を回避します。これにより、マニフェストの更新、アップストリームエンタイトルメントの更新、および Simple Content Access のステータスの変更もできなくなります。
手順
- Satellite Web UI で、管理 > 設定に移動します。
- Content タブをクリックします。
-
Subscription Connection Enabled
の値をNo
に設定します。
CLI 手順
Satellite Server で以下のコマンドを入力します。
# hammer settings set --name subscription_connection_enabled --value false
2.9. Red Hat サブスクリプションマニフェストの Satellite Server へのインポート
以下の手順を使用して、Red Hat サブスクリプションマニフェストを Satellite Server にインポートします。
前提条件
- Red Hat カスタマーポータル から Red Hat サブスクリプションマニフェストファイルをエクスポートしておく。詳細は、Red Hat Subscription Management の使用 の マニフェストの使用 を参照してください。
- Satellite Server でサブスクリプション接続を無効にしていることを確認してください。詳細は、「サブスクリプション接続の無効化」 を参照してください。
手順
- Satellite Web UI で、コンテキストが、使用する組織に設定されていることを確認します。
- Satellite Web UI で、Content > Subscriptions に移動し、Manage Manifest をクリックします。
- マニフェストの管理ウィンドウで、参照 をクリックします。
- Red Hat Subscription Manifest ファイルが含まれるディレクトリーに移動し、開く をクリックします。マニフェストの管理ウィンドウが自動的に終了しない場合は、終了 をクリックしてサブスクリプションウィンドウに戻ります。
CLI 手順
Red Hat Subscription Manifest ファイルをクライアントから Satellite Server にコピーします。
$ scp ~/manifest_file.zip root@satellite.example.com:~/.
Satellite Server に
root
ユーザーとしてログインし、Red Hat Subscription Manifest ファイルをインポートします。# hammer subscription upload \ --file ~/manifest_file.zip \ --organization "My_Organization"
リポジトリーを有効にし、Red Hat コンテンツをインポートすることができるようになりました。詳細は コンテンツの管理 のコンテンツのインポート を参照してください。
第3章 Satellite Server での追加設定の実行
3.1. カスタム CDN からコンテンツを使用するための Satellite Server の設定
内部コンテンツ配信ネットワーク (CDN) がある場合、またはアクセス可能な Web サーバーでコンテンツを提供する場合、Red Hat CDN の代わりにこの CDN サーバーから Red Hat リポジトリーを使用するように、Satellite Server を設定できます。CDN サーバーには、Red Hat CDN と同じディレクトリー構造のリポジトリーをミラーリングする Web サーバーを使用できます。
各組織のコンテンツのソースを設定できます。Satellite は、組織内のサブスクリプションマニフェストからどの Red Hat リポジトリーが CDN サーバーで利用できるかを自動的に認識します。
前提条件
- Red Hat コンテンツを提供し、Satellite Server からアクセスできる CDN サーバーがある。
- CDN サーバーが HTTPS を使用する場合は、SSL 証明書を Satellite にアップロードしていることを確認する。詳細は、コンテンツの管理 の カスタム SSL 証明書のインポート を参照してください。
- マニフェストを組織にアップロードしている。
手順
- Satellite Web UI で、Content > Subscriptions に移動します。
- Manage Manifest ボタンをクリックします。
- CDN 設定 タブを選択します。
- カスタム CDN タブを選択します。
- URL フィールドには、Satellite Server が Red Hat リポジトリーを消費する CDN サーバーの URL を入力します。
- オプション: SSL CA コンテンツ認証情報 で、CDN サーバーの SSL 証明書を選択します。
- Update をクリックします。
- 内部 CDN サーバーから消費された Red Hat リポジトリーを有効化できるようになりました。
CLI 手順
- SSH を使用して Satellite Server に接続します。
CDN 設定をカスタム CDN サーバーに設定します。
# hammer organization configure-cdn --name="My_Organization" \ --type=custom_cdn \ --url https://my-cdn.example.com \ --ssl-ca-credential-id "My_CDN_CA_Cert_ID"
関連情報
- Satellite の概要、概念、およびデプロイメントの考慮事項 の コンテンツ配信ネットワーク構造
3.2. Inter-Satellite Synchronization の設定方法
Red Hat Satellite は Inter-Satellite Synchronization (ISS) を使用して、エアギャップされたものを含む 2 つの Satellite Server 間でコンテンツを同期します。
ISS は、次のような場合に使用できます。
- Satellite Server の一部のコンテンツのみを他の Satellite Server にコピーする場合。たとえば、IT 部門が Satellite Server から消費するコンテンツビューがあり、それらのコンテンツビューから他の Satellite Server にコンテンツをコピーしたいとします。
- Satellite Server から他の Satellite Server にすべてのライブラリーコンテンツをコピーする場合。たとえば、IT 部門がライブラリー内の Satellite Server から消費する製品とリポジトリーがあり、その組織内のすべての製品およびリポジトリーを他の SatelliteServer にコピーしたいとします。
ISS は、Satellite Server から Capsule Server へのコンテンツの同期には使用できません。Capsule Server はネイティブで同期をサポートします。詳細は、Satellite の概要、概念、およびデプロイメントの考慮事項 の Capsule Server の概要 を参照してください。
ISS の使用方法はいくつかあります。使用方法は、次のいずれかのシナリオに該当する可能性のあるマルチサーバー設定によって異なります。
3.2.1. 切断されたシナリオでの ISS ネットワーク同期
切断されたシナリオでは、以下の設定があります。
- アップストリームの Satellite Server はインターネットに接続されています。このサーバーは、Red Hat Content Delivery Network (CDN) またはカスタムソースからのコンテンツを消費します。
- ダウンストリームの Satellite Server は、すべての外部ネットワークから完全に分離されています。
- ダウンストリーム Satellite Server は、内部ネットワークを介して接続されたアップストリーム Satellite Server と通信できます。
図3.1 Satellite ISS 切断シナリオ

ネットワークを介してアップストリーム Satellite Server からのコンテンツを同期するようにダウンストリーム Satellite Server を設定できます。「ネットワーク経由でコンテンツを同期するように Satellite Server を設定」を参照してください。
3.2.2. エアギャップシナリオでの ISS エクスポート同期
エアギャップシナリオでは、次の設定があります。
- アップストリームの Satellite Server はインターネットに接続されています。このサーバーは、Red Hat CDN またはカスタムソースからのコンテンツを消費します。
- ダウンストリームの Satellite Server は、すべての外部ネットワークから完全に分離されています。
- ダウンストリーム Satellite Server には、接続されたアップストリーム Satellite Server へのネットワーク接続がありません。
図3.2 Satellite ISS のエアギャップシナリオ

エアギャップのあるダウンストリーム Satellite Server がコンテンツの更新を受けとる唯一の方法は、アップストリーム Satellite Server からペイロードをエクスポートし、それをダウンストリーム Satellite Server に物理的に移動し、ペイロードをインポートすることです。詳細は、コンテンツ管理ガイド の Satellite Server 間でのコンテンツ同期 を参照してください。
エクスポートを使用してコンテンツを同期するようにダウンストリーム Satellite Server を設定します。「エクスポートを使用してコンテンツを同期するように Satellite Server を設定」を参照してください。
3.3. ネットワーク経由でコンテンツを同期するように Satellite Server を設定
接続されたアップストリーム Satellite Server からのリポジトリーを HTTPS 経由で同期するようにダウンストリーム Satellite Server を設定します。
前提条件
- アップストリームの Satellite Server とダウンストリームの Satellite Server の間にネットワーク接続が存在します。
- サブスクリプションマニフェストをアップストリームとダウンストリームの両方の Satellite Server にインポートしました。
- アップストリームの Satellite Server で組織に必要なリポジトリーを有効にしました。
アップストリームユーザーとは、admin または以下の権限を持つユーザーのことです。
-
view_organizations
-
view_products
-
edit_organizations
(CA 証明書をダウンロードする) -
view_lifecycle_environments
-
view_content_views
-
-
ダウンストルームの Satellite Server に、
http://upstream-satellite.example.com/pub/katello-server-ca.crt
の内容でアップストリームの Satellite Server の SSL 証明書をインポートしています。詳細は、コンテンツの管理 の SSL 証明書のインポート を参照してください。 - ダウンストリームのユーザーは、管理者、または製品リポジトリーや組織を作成する権限を持っているユーザーとなります。
手順
- コンテンツ > サブスクリプション に移動します。
- Manage Manifest ボタンをクリックします。
- CDN Configuration タブに移動します。
- Network Sync タブを選択します。
- URL フィールドに、アップストリームの Satellite Server のアドレスを入力します。
- Username に、アップストリームログイン用のユーザー名を入力します。
- Password に、アップストリームログイン用のパスワードまたは個人用アクセストークンを入力します。
- Organization label フィールドに、アップストリーム組織のラベルを入力します。
-
オプション: Lifecycle Environment Label フィールドに、アップストリームライフサイクル環境のラベルを入力します。デフォルトは
Library
です。 -
オプション: Content view label フィールドに、アップストリームのコンテンツビューのラベルを入力します。デフォルトは
Default_Organization_View
です。 - SSL CA Content Credential メニューから、アップストリームの Satellite Server が使用する CA 証明書を選択します。
- Update をクリックします。
- Satellite Web UI で、コンテンツ > 製品 に移動します。
Sync Now をクリックしてリポジトリーを同期します。
同期計画を作成して、定期的に更新することもできます。詳細は、コンテンツの管理 の 同期計画の作成 を参照してください。
CLI 手順
- ダウンストリームの Satellite Server に SSH で接続します。
アップストリーム CA 証明書に関する情報を表示します。
# hammer content-credential show \ --name="My_Upstream_CA_Cert" \ --organization="My_Downstream_Organization"
次のステップのために、CA 証明書の ID をメモしておいてください。
CDN 設定をアップストリーム Satellite Server に設定します。
# hammer organization configure-cdn --name="My_Downstream_Organization" \ --type=network_sync \ --url https://upstream-satellite.example.com \ --username upstream_username --password upstream_password \ --ssl-ca-credential-id "My_Upstream_CA_Cert_ID" \ --upstream-organization-label="_My_Upstream_Organization" \ [--upstream-lifecycle-environment-label="My_Lifecycle_Environment"] \ [--upstream-content-view-label="My_Content_View"]
デフォルトのライフサイクル環境ラベルは
Library
です。デフォルトのコンテンツビューラベルはDefault_Organization_View
です。
3.4. エクスポートを使用してコンテンツを同期するように Satellite Server を設定
ダウンストリームの Satellite Server をエアギャップとしてデプロイした場合は、ネットワークからコンテンツを消費しようとしないように、Satellite Server をそのように設定します。
手順
- Satellite Web UI で、Content > Subscriptions に移動します。
- Manage Manifest ボタンをクリックします。
- CDN Configuration タブに切り替えます。
- Export Sync タブを選択します。
- Update をクリックします。
CLI 手順
- SSH を使用して Satellite Server にログインします。
エクスポートを使用して CDN 設定を同期するように設定します。
# hammer organization configure-cdn --name="My_Organization" --type=export_sync
関連情報
エクスポートを使用したコンテンツの同期の詳細は、コンテンツの管理 の エクスポートとインポートを使用してコンテンツを同期する方法 を参照してください。
3.5. キックスタートリポジトリーのインポート
キックスタートリポジトリーは、コンテンツ ISO イメージでは提供されません。オフラインの Satellite でキックスタートリポジトリーを使用するには、使用する Red Hat Enterprise Linux のバージョンのバイナリー DVD ISO ファイルをダウンロードし、キックスタートファイルを Satellite にコピーする必要があります。
Red Hat Enterprise Linux 9 のキックスタートリポジトリーをインポートするには、「Red Hat Enterprise Linux 9 キックスタートリポジトリーのインポート」 を実行します。
Red Hat Enterprise Linux 8 のキックスタートリポジトリーをインポートするには、「Red Hat Enterprise Linux 8 のキックスタートリポジトリーのインポート」 を実行します。
Red Hat Enterprise Linux 7 のキックスタートリポジトリーをインポートするには、「Red Hat Enterprise Linux7 キックスタートリポジトリーのインポート」 を実行します。
3.5.1. Red Hat Enterprise Linux 9 キックスタートリポジトリーのインポート
以下の手順を使用して、Red Hat Enterprise Linux 9 のキックスタートリポジトリーをインポートします。
手順
- Red Hat カスタマーポータル access.redhat.com/downloads に移動し、ログインします。
- Red Hat Enterprise Linux をクリックします。
- 一覧から製品バリアントと製品バージョンを選択します。(例: 製品バリアント Red Hat Enterprise Linux for x86_64 および製品バージョン 9.0)
- Red Hat Enterprise Linux 9.0 Binary DVD など、完全インストールイメージを見つけ、Download Now をクリックします。最小限の ISO を使用してホストをプロビジョニングすることはできないことに注意してください。
- ダウンロードが完了したら、ISO イメージを Satellite Server にコピーします。
Satellite Server で、マウントポイントを作成し、そのロケーションに ISO イメージを一時的にマウントします。
# mkdir /mnt/iso # mount -o loop rhel-binary-dvd.iso /mnt/iso
rhel-binary-dvd.iso は、ISO イメージの名前に置き換えます。
Red Hat Enterprise Linux 9 AppStream および BaseOS Kickstart リポジトリーのディレクトリーを作成します。
# mkdir --parents /var/www/html/pub/satellite-import/content/dist/rhel9/9.0/x86_64/appstream/kickstart # mkdir --parents /var/www/html/pub/satellite-import/content/dist/rhel9/9.0/x86_64/baseos/kickstart
ISO イメージから
kickstart
ファイルをコピーします。# cp -a /mnt/iso/AppStream/* /var/www/html/pub/satellite-import/content/dist/rhel9/9.0/x86_64/appstream/kickstart # cp -a /mnt/iso/BaseOS/* /mnt/iso/images/ /var/www/html/pub/satellite-import/content/dist/rhel9/9.0/x86_64/baseos/kickstart
BaseOS の場合は、
/mnt/iso/images/
ディレクトリーのコンテンツもコピーする必要があることに注意してください。次のエントリーをリストファイルに追加します。
/var/www/html/pub/satellite-import/content/dist/rhel9/9.0/x86_64/appstream/listing
ファイルで改行してkickstart
を追加します。/var/www/html/pub/satellite-import/content/dist/rhel9/9.0/x86_64/baseos/listing
ファイルで改行してkickstart
を追加します。/var/www/html/pub/satellite-import/content/dist/rhel8/listing
ファイルで改行してバージョン番号を追加します。たとえば、Red Hat Enterprise Linux 9.0 バイナリー ISO の場合は9.0
を追加します。ISO イメージから
.treeinfo
ファイルをコピーします。# cp /mnt/iso/.treeinfo /var/www/html/pub/satellite-import/content/dist/rhel9/9.0/x86_64/appstream/kickstart/treeinfo # cp /mnt/iso/.treeinfo /var/www/html/pub/satellite-import/content/dist/rhel9/9.0/x86_64/baseos/kickstart/treeinfo
-
/var/www/html/pub/satellite-import/content/dist/rhel9/9.0/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/satellite-import/content/dist/rhel9/9.0/x86_64/baseos/kickstart/treeinfo
ファイルが以下の形式であることを確認します。[checksums] images/efiboot.img = sha256:c01c18acc6778d6e66c8d0872bac59bfd7219ccf3cfa70a5c605c0fb37f33a83 images/install.img = sha256:ddd08e5a5d92edee150f91ff4f12f39253eae72ff496465cf1b2766fe4a4df49 images/pxeboot/initrd.img = sha256:a09a8ec89d485d71ed1bdad83584d6d816e67448221172d9aad97886cd70adca images/pxeboot/vmlinuz = sha256:6e523d7c3266e26c695923ab12b2873b16b0c61fb2e48ade608ad8998821584b [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 9.0.0 packagedir = Packages platforms = x86_64,xen repository = . timestamp = 1571146127 variant = BaseOS variants = BaseOS version = 9.0.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 = 9.0.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/satellite-import/content/dist/rhel9/9.0/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/satellite-import/content/dist/rhel9/9.0/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 9.0.0 packagedir = Packages platforms = x86_64,xen repository = . timestamp = 1571146127 variant = AppStream variants = AppStream version = 9.0.0 [header] type = productmd.treeinfo version = 1.2 [release] name = Red Hat Enterprise Linux short = RHEL version = 9.0.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.5.2. Red Hat Enterprise Linux 8 のキックスタートリポジトリーのインポート
以下の手順を使用して、Red Hat Enterprise Linux 8 のキックスタートリポジトリーをインポートします。
手順
- Red Hat カスタマーポータル access.redhat.com/downloads に移動し、ログインします。
- Red Hat Enterprise Linux をクリックします。
- 一覧から製品バリアントと製品バージョンを選択します。(例: 製品バリアント Red Hat Enterprise Linux for x86_64 および製品バージョン 8.1)
- Red Hat Enterprise Linux 8.1 Binary DVD など、完全インストールイメージを見つけ、Download Now をクリックします。
- ダウンロードが完了したら、ISO イメージを Satellite Server にコピーします。
Satellite Server で、マウントポイントを作成し、そのロケーションに ISO イメージを一時的にマウントします。
# mkdir /mnt/iso # mount -o loop rhel-binary-dvd.iso /mnt/iso
rhel-binary-dvd.iso は、ISO イメージの名前に置き換えます。
Red Hat Enterprise Linux 8 AppStream および BaseOS Kickstart リポジトリーのディレクトリーを作成します。
# mkdir --parents /var/www/html/pub/satellite-import/content/dist/rhel8/8.1/x86_64/appstream/kickstart # mkdir --parents /var/www/html/pub/satellite-import/content/dist/rhel8/8.1/x86_64/baseos/kickstart
ISO イメージから
kickstart
ファイルをコピーします。# cp -a /mnt/iso/AppStream/* /var/www/html/pub/satellite-import/content/dist/rhel8/8.1/x86_64/appstream/kickstart # cp -a /mnt/iso/BaseOS/* /mnt/iso/images/ /var/www/html/pub/satellite-import/content/dist/rhel8/8.1/x86_64/baseos/kickstart
BaseOS の場合は、
/mnt/iso/images/
ディレクトリーのコンテンツもコピーする必要があることに注意してください。次のエントリーをリストファイルに追加します。
/var/www/html/pub/satellite-import/content/dist/rhel8/8.1/x86_64/appstream/listing
ファイルで改行してkickstart
を追加します。/var/www/html/pub/satellite-import/content/dist/rhel8/8.1/x86_64/baseos/listing
ファイルで改行してkickstart
を追加します。/var/www/html/pub/satellite-import/content/dist/rhel8/listing
ファイルで改行してバージョン番号を追加します。たとえば、Red Hat Enterprise Linux 8.1 バイナリー ISO の場合は8.1
を追加します。ISO イメージから
.treeinfo
ファイルをコピーします。# cp /mnt/iso/.treeinfo /var/www/html/pub/satellite-import/content/dist/rhel8/8.1/x86_64/appstream/kickstart/treeinfo # cp /mnt/iso/.treeinfo /var/www/html/pub/satellite-import/content/dist/rhel8/8.1/x86_64/baseos/kickstart/treeinfo
-
/var/www/html/pub/satellite-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/satellite-import/content/dist/rhel8/8.1/x86_64/baseos/kickstart/treeinfo
ファイルが以下の形式であることを確認します。[checksums] images/efiboot.img = sha256:c01c18acc6778d6e66c8d0872bac59bfd7219ccf3cfa70a5c605c0fb37f33a83 images/install.img = sha256:ddd08e5a5d92edee150f91ff4f12f39253eae72ff496465cf1b2766fe4a4df49 images/pxeboot/initrd.img = sha256:a09a8ec89d485d71ed1bdad83584d6d816e67448221172d9aad97886cd70adca images/pxeboot/vmlinuz = sha256:6e523d7c3266e26c695923ab12b2873b16b0c61fb2e48ade608ad8998821584b [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/satellite-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/satellite-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.5.3. Red Hat Enterprise Linux7 キックスタートリポジトリーのインポート
以下の手順を使用して、Red Hat Enterprise Linux 7 のキックスタートリポジトリーをインポートします。
手順
- Red Hat カスタマーポータル access.redhat.com/downloads に移動し、ログインします。
- Red Hat Enterprise Linux をクリックします。
- Product Variant リストの上にある Switch to version 7 and below をクリックします。
- 一覧から製品バリアントと製品バージョンを選択します。(例: 製品バリアント Red Hat Enterprise Linux for x86_64 および製品バージョン 7.9)
- Red Hat Enterprise Linux 7.9 Binary DVD など、完全インストールイメージを見つけ、Download Now をクリックします。
- ダウンロードが完了したら、ISO イメージを Satellite Server にコピーします。
Satellite Server で、マウントポイントを作成し、そのロケーションに ISO イメージを一時的にマウントします。
# mkdir /mnt/iso # mount -o loop rhel-binary-dvd.iso /mnt/iso
rhel-binary-dvd.iso は、ISO イメージの名前に置き換えます。
kickstart ディレクトリーを作成します。
# mkdir --parents /var/www/html/pub/satellite-import/content/dist/rhel/server/7/7.9/x86_64/kickstart/
ISO イメージから
kickstart
ファイルをコピーします。# cp -a /mnt/iso/images/* /var/www/html/pub/satellite-import/content/dist/rhel/server/7/7.9/x86_64/kickstart/
次のエントリーをリストファイルに追加します。
/var/www/html/pub/satellite-import/content/dist/rhel/server/7/listing
ファイルで改行してバージョン番号を追加します。たとえば、Red Hat Enterprise Linux 7.9 バイナリー ISO の場合は7.9
を追加します。/var/www/html/pub/satellite-import/content/dist/rhel/server/7/7.9/listing
ファイルで改行してアーキテクチャーを追加します。(例:x86_64
)/var/www/html/pub/satellite-import/content/dist/rhel/server/7/7.9/x86_64/listing
ファイルで改行してkickstart
を追加します。ISO イメージから
.treeinfo
ファイルをコピーします。# cp /mnt/iso/.treeinfo /var/www/html/pub/satellite-import/content/dist/rhel/server/7/7.9/x86_64/kickstart/treeinfo
マウントされたバイナリー DVD ISO イメージを使用する予定がない場合は、ディレクトリーをアンマウントして削除します。
# umount /mnt/iso # rmdir /mnt/iso
- Satellite Web UI で、Kickstart リポジトリーを有効にします。
3.6. Satellite Client 6 リポジトリーの有効化
Satellite Client 6 のリポジトリーは、Satellite Server に登録されているクライアント向けの katello-agent
、katello-host-tools
および puppet
パッケージを提供します。ホストの管理に必要な各 Red Hat Enterprise Linux バージョンのリポジトリーを有効にする必要があります。Satellite Client 6 リポジトリーを有効にするオペレーティングシステムのバージョンに応じて、以下の手順に進んでください。
3.6.1. Red Hat Enterprise Linux 9 & Red Hat Enterprise Linux 8
Satellite Web UI の代わりに CLI を使用するには、Red Hat Enterprise Linux バージョンに関連する手順を参照してください。
前提条件
- Satellite Server に必要なコンテンツの ISO イメージすべてをインポートするようにしてください。
手順
- Satellite Web UI で、コンテンツ > Red Hat リポジトリー に移動します。
- Available Repositories ペインで、Recommended Repositories を有効にして、リポジトリーのリストを取得します。
- Red Hat Satellite Client 6 for RHEL 9 x86_64 (RPMs) または Red Hat Satellite Client 6 for RHEL 8 x86_64 (RPMs) をクリックして、リポジトリーセットをデプロイします。
x86_64 アーキテクチャーの場合、+ アイコンをクリックしてリポジトリーを有効にします。
Satellite Client 6 の項目が表示されていない場合は、カスタマーポータルから取得した Red Hat サブスクリプションマニフェストにその項目が含まれないことが原因として考えられます。この問題を修正するには、カスタマーポータルにログインし、これらのリポジトリーを追加し、Red Hat サブスクリプションマニフェストをダウンロードして、Satellite にインポートします。詳細は、コンテンツの管理 の Red Hat サブスクリプションの管理 を参照してください。
ホストで実行している Red Hat Enterprise Linux の各サポート対象メジャーバージョンに対して Satellite Client 6 リポジトリーを有効にします。Red Hat リポジトリーの有効後に、このリポジトリーの製品が自動的に作成されます。
Red Hat Enterprise Linux 9 の CLI 手順
hammer repository-set enable
コマンドを使用して、Satellite Client 6 リポジトリーを有効化します。# hammer repository-set enable \ --basearch="x86_64" \ --name "Red Hat Satellite Client 6 for RHEL 9 x86_64 (RPMs)" \ --organization "My_Organization" \ --product "Red Hat Enterprise Linux for x86_64"
Red Hat Enterprise Linux 8 の CLI 手順
hammer repository-set enable
コマンドを使用して、Satellite Client 6 リポジトリーを有効化します。# hammer repository-set enable \ --basearch="x86_64" \ --name "Red Hat Satellite Client 6 for RHEL 8 x86_64 (RPMs)" \ --organization "My_Organization" \ --product "Red Hat Enterprise Linux for x86_64"
3.6.2. Red Hat Enterprise Linux 7 & Red Hat Enterprise Linux 6
Red Hat Enterprise Linux 6 のリポジトリーを有効にするには、Red Hat Enterprise Linux 延長ライフサイクルサポート (ELS) アドオン サブスクリプションが必要です。詳細については、Red Hat Enterprise Linux 延長ライフサイクルサポート (ELS) アドオン ガイドを参照してください。
Satellite Web UI の代わりに CLI を使用するには、Red Hat Enterprise Linux バージョンに関連する手順を参照してください。
前提条件
Satellite Server に必要なコンテンツの ISO イメージすべてをインポートするようにしてください。
- Satellite Web UI で、コンテンツ > Red Hat リポジトリー に移動します。
- Available Repositories ペインで、Recommended Repositories を有効にして、リポジトリーのリストを取得します。
Available Repositories ペインで、Satellite Client 6 (for RHEL 7 Server) (RPMs) または Satellite Client 6 (for RHEL 6 Server - ELS) (RPMs) をクリックしてリポジトリーセットをデプロイします。
Satellite Client 6 の項目が表示されていない場合は、カスタマーポータルから取得した Red Hat サブスクリプションマニフェストにその項目が含まれないことが原因として考えられます。この問題を修正するには、カスタマーポータルにログインし、これらのリポジトリーを追加し、Red Hat サブスクリプションマニフェストをダウンロードして、Satellite にインポートします。詳細は、コンテンツの管理 の Red Hat サブスクリプションの管理 を参照してください。
- x86_64 アーキテクチャーの場合、+ アイコンをクリックしてリポジトリーを有効にします。ホストで実行している Red Hat Enterprise Linux の各サポート対象メジャーバージョンに対して Satellite Client 6 リポジトリーを有効にします。Red Hat リポジトリーの有効後に、このリポジトリーの製品が自動的に作成されます。
Red Hat Enterprise Linux 7 の CLI 手順
hammer repository-set enable
コマンドを使用して、Satellite Client 6 リポジトリーを有効化します。# hammer repository-set enable \ --basearch="x86_64" \ --name "Red Hat Satellite Client 6 (for RHEL 7 Server) (RPMs)" \ --organization "My_Organization" \ --product "Red Hat Enterprise Linux Server"
Red Hat Enterprise Linux 6 の CLI 手順
hammer repository-set enable
コマンドを使用して、Satellite Client 6 リポジトリーを有効化します。# hammer repository-set enable \ --basearch="x86_64" \ --name "Red Hat Satellite Client 6 (for RHEL 6 Server - ELS) (RPMs)" \ --organization "My_Organization" \ --product "Red Hat Enterprise Linux Server - Extended Life Cycle Support"
3.7. Satellite クライアント 6 のリポジトリーの同期
本セクションを使用して、Red Hat コンテンツ配信ネットワーク (CDN) から Satellite に Satellite Client 6 リポジトリーを同期します。このリポジトリーは、Satellite Server に登録したクライアントに katello-agent
、katello-host-tools
、および puppet
パッケージを提供します。Satellite Client 6 リポジトリーを同期するオペレーティングシステムのバージョンに応じて、以下の手順に進んでください。
3.7.1. Red Hat Enterprise Linux 9 & Red Hat Enterprise Linux 8
Satellite Web UI の代わりに CLI を使用するには、Red Hat Enterprise Linux バージョンに関連する手順を参照してください。
手順
- Satellite Web UI で、コンテンツ > 同期の状態 に移動します。
- Red Hat Enterprise Linux for x86_64 製品の横にある矢印をクリックして、利用可能なコンテンツを表示します。
- Red Hat Satellite Client 6 for RHEL 9 x86_64 RPMs または Red Hat Satellite Client 6 for RHEL 8 x86_64 RPMs (該当する方) を選択します。
- 今すぐ同期 をクリックします。
Red Hat Enterprise Linux 9 の CLI 手順
hammer repository synchronize
コマンドを使用して、Satellite Client 6 リポジトリーを同期します。# hammer repository synchronize \ --name "Red Hat Satellite Client 6 for RHEL 9 x86_64 RPMs" \ --organization "My_Organization" \ --product "Red Hat Enterprise Linux for x86_64"
Red Hat Enterprise Linux 8 の CLI 手順
hammer repository synchronize
コマンドを使用して、Satellite Client 6 リポジトリーを同期します。# hammer repository synchronize \ --name "Red Hat Satellite Client 6 for RHEL 8 x86_64 RPMs" \ --organization "My_Organization" \ --product "Red Hat Enterprise Linux for x86_64"
3.7.2. Red Hat Enterprise Linux 7 & Red Hat Enterprise Linux 6
Red Hat Enterprise Linux 6 のリポジトリーを同期するには、Red Hat Enterprise Linux 延長ライフサイクルサポート (ELS) アドオン サブスクリプションが必要です。詳細については、Red Hat Enterprise Linux 延長ライフサイクルサポート (ELS) アドオン ガイドを参照してください。
Satellite Web UI の代わりに CLI を使用するには、Red Hat Enterprise Linux バージョンに関連する手順を参照してください。
手順
- Satellite Web UI で、コンテンツ > 同期の状態 に移動します。
- Red Hat Enterprise Linux Server または Red Hat Enterprise Linux Server - Extended Life Cycle Support 製品 (該当する方) の横にある矢印をクリックして、利用可能なコンテンツを表示します。
- お使いのオペレーティングシステムのバージョンに応じて、Red Hat Satellite Client 6 (for RHEL 7 Server) RPMs x86_64 または Red Hat Satellite Client 6 for RHEL 6 Server - ELS RPMs x86_64 を選択します。
- 今すぐ同期 をクリックします。
Red Hat Enterprise Linux 7 の CLI 手順
hammer repository synchronize
コマンドを使用して、Satellite Client 6 リポジトリーを同期します。# hammer repository synchronize \ --async \ --name "Red Hat Satellite Client 6 for RHEL 7 Server RPMs x86_64" \ --organization "My_Organization" \ --product "Red Hat Enterprise Linux Server"
Red Hat Enterprise Linux 6 の CLI 手順
hammer repository synchronize
コマンドを使用して、Satellite Client 6 リポジトリーを同期します。# hammer repository synchronize \ --async \ --name "Red Hat Satellite Client 6 for RHEL 6 Server - ELS RPMs x86_64" \ --organization "My_Organization" \ --product "Red Hat Enterprise Linux Server - Extended Life Cycle Support"
3.8. 管理対象ホスト上での電源管理の有効化
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.9. Satellite Server での DNS、DHCP および TFTP の設定
DNS、DHCP および TFTP サービスを Satellite Server で設定するには、お使いの環境に適したオプションを指定して satellite-installer
コマンドを使用します。設定可能なオプションの全リストを表示するには、satellite-installer --scenario satellite --help
コマンドを入力します。
設定を変更するには、satellite-installer
コマンドを再び実行する必要があります。コマンドは複数回実行でき、実行するたびにすべての設定ファイルが変更された値で更新されます。
代わりに外部の DNS、DHCP および TFTP サービスを使用するには、4章外部サービスでの Satellite Server の設定 を参照してください。
Multihomed DHCP の詳細の追加
マルチホーム DHCP を使用する場合は、インストーラーに通知する必要があります。
前提条件
以下の情報が利用可能であることを確認する。
- 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-additional-interfaces eth1 \ --foreman-proxy-dhcp-additional-interfaces eth2 \ --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
ファイルで、使用されている設定 (initial_admin_password
パラメーターなど) を表示できます。
DHCP、DNS および TFTP サービスの設定に関する情報は、ホストのプロビジョニング の ネットワークサービスの設定 セクションを参照してください。
3.10. 管理対象外ネットワークに対する DNS、DHCP、および TFTP の無効化
TFTP、DHCP および DNS サービスを手動で管理する場合には、Satellite がオペレーティングシステム上でこれらのサービスを管理しないようにし、オーケストレーションを無効にして、DHCP および DNS バリデーションエラーを回避する必要があります。ただし、Satellite ではオペレーティングシステムのバックエンドサービスは削除されません。
手順
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 を選択します。
- Satellite Web UI で、インフラストラクチャー > ドメイン に移動し、ドメインを選択します。
- DNS Capsule フィールドの内容を消去します。
オプション: サードパーティーが提供する DHCP サービスを使用する場合は、以下のオプションを渡すように DHCP サーバーを設定します。
Option 66: IP address of Satellite or Capsule Option 67: /pxelinux.0
DHCP オプションの詳細は RFC 2132 を参照してください。
Satellite は、Capsule が該当するサブネットとドメインに設定されていない場合にオーケストレーションを実行しません。Capsule の関連付けを有効または無効にした場合に、想定のレコードと設定ファイルが存在しないと、既存のホストのオーケストレーションコマンドが失敗することがあります。オーケストレーションを有効にするために Capsule を関連付ける場合は、今後、ホストの削除に失敗しないように、既存の Satellite ホストに対して必要な DHCP レコード、DNS レコード、TFTP ファイルが所定の場所にあることを確認します。
3.11. Satellite Server での送信メールの設定
Satellite Server からメールメッセージを送信するには、SMTP サーバーまたは sendmail
コマンドのいずれかを使用できます。
前提条件
-
スパム対策保護またはグレイリスティング機能を備えた SMTP サーバーの一部で、問題が発生することが知られています。このようなサービスでの送信メールの設定には、リレー用に Satellite Server に vanilla SMTP サービスをインストールして設定するか、代わりに
sendmail
コマンドを使用します。
手順
- Satellite Web UI で、管理 > 設定に移動します。
Email タブをクリックして、希望する配信方法に一致する設定オプションを設定します。変更は即座に反映されます。
以下の例は、SMTP サーバーを使用する場合の設定オプションの例を示しています。
表3.1 配信方法に SMTP サーバーを使用する例
名前 値例 配信方法
SMTP
SMTP アドレス
smtp.example.com
SMTP 認証
ログイン
SMTP HELO/EHLO ドメイン
example.com
SMTP パスワード
パスワード
SMTP ポート
25
SMTP ユーザー名
user@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 の場所
/usr/sbin/sendmail
Sendmail の引数
-i
セキュリティー上の理由から、Sendmail の場所と Sendmail 引数の設定はどちらも読み取り専用であり、
/etc/foreman/settings.yaml
でのみ設定できます。現在、両方の設定をsatellite-installer
で設定することはできません。詳細は、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 証明書です。-
または、Satellite Web UI で、
SMTP enable StartTLS auto
オプションをNo
に設定します。
-
Test email をクリックしてユーザーのメールアドレスにテストメッセージを送信し、設定が機能していることを確認します。メッセージの送信に失敗した場合、Satellite Web UI はエラーを表示します。詳細については、
/var/log/foreman/production.log
のログを確認してください。
個別ユーザーまたはユーザーグループに対するメール通知の設定に関する詳細は、 Red Hat Satellite の管理 の メール通知の設定 を参照してください。
3.12. カスタムの SSL 証明書を使用した Satellite Server の設定
デフォルトでは、Red Hat Satellite は自己署名の SSL 証明書を使用して、Satellite Server、外部の Capsule Server および全ホストの間で暗号化した通信ができるようにします。Satellite 自己署名の証明書を使用できない場合には、外部の証明局で署名した SSL 証明書を使用するように Satellite Server を設定できます。
カスタムの証明書で Satellite Server を設定するには、以下の手順を実行します。
- 「Satellite Server 向けのカスタム SSL 証明書の作成」
- 「カスタムの SSL 証明書の Satellite Server へのデプロイ」
- 「ホストへの カスタム SSL 証明書のデプロイ」
- Satellite Server に外部の Capsule Server を登録した場合には、カスタムの SSL 証明書を使用して設定する必要があります。同じ証明局を使用して Satellite Server と Capsule Server の証明書を署名する必要がある。詳細は、Capsule Server のインストールの カスタム SSL 証明書を使用した Capsule Server の設定 を参照してください。
3.12.1. Satellite Server 向けのカスタム SSL 証明書の作成
この手順を使用して、Satellite Server 用にカスタムの SSL 証明書を作成します。Satellite Server 用のカスタムの SSL 証明書がある場合にはこの手順は省略してください。
カスタム証明書を使用して Satellite Server を設定する場合には、次の点を考慮してください。
- SSL 証明書には、Privacy-Enhanced Mail (PEM) エンコードを使用する必要がある。
- Satellite Server と Capsule Server の両方に、同じ証明書を使用できない。
- 同じ証明局を使用して Satellite Server と Capsule Server の証明書を署名する必要がある。
手順
ソースの証明書ファイルすべてを保存するには、
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.12.2. カスタムの SSL 証明書の Satellite Server へのデプロイ
この手順を使用して、Satellite Server が、認証局で署名されたカスタムの SSL 署名書を使用するように設定します。katello-certs-check
コマンドは、入力した証明書ファイルを検証して、Satellite Server にカスタムの SSL 証明書をデプロイするのに必要なコマンドを返します。
手順
カスタムの 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-installer
コマンドを入力し、カスタムの SSL 証明書で新しい Satellite をインストールするか、現在実行中の Satellite の証明書を更新します。実行するコマンドが不明な場合には、
/etc/foreman-installer/scenarios.d/.installed
が存在するかをチェックし、Satellite がインストールされていることが確認できます。ファイルが存在する場合には、2 番目のsatellite-installer
コマンドを実行すると証明書が更新されます。重要証明書のデプロイ後に、証明書のアーカイブファイルを削除しないでください。Satellite Server のアップグレード時などに必要です。
-
Satellite Server にネットワークでアクセスできるコンピューターで、この URL (
https://satellite.example.com
) に移動します。 - ブラウザーで、証明書の詳細を表示して、デプロイした証明書を確認します。
3.12.3. ホストへの カスタム SSL 証明書のデプロイ
Satellite Server がカスタムの SSL 証明書を使用する用に設定した後に、Satellite Server に登録されている全ホストに katello-ca-consumer
パッケージもインストールする必要があります。
手順
各ホストに
katello-ca-consumer
パッケージをインストールします。# dnf install http://satellite.example.com/pub/katello-ca-consumer-latest.noarch.rpm
3.13. Satellite での外部データベースの使用
Red Hat Satellite のインストールプロセスの一部として、satellite-installer コマンドは PostgreSQL のデータベースを Satellite と同じサーバー上にインストールします。Satellite のデプロイメントによっては、デフォルトのローカルにあるデータベースの代わりに外部データベースを使用すると、サーバーの負荷が軽減される場合があります。
Red Hat では、外部データベースのメンテナーンスのサポートやそのためのツールは提供していません。これにはバックアップ、アップグレード、データベースのチューニングが含まれます。外部データベースをサポートし、管理する自社のデータベース管理者が必要です。
Satellite 用に外部データベースを作成して使用するには、以下の手順を実行します。
- 「外部データベース用のホストの準備」。外部データベースをホストするように Red Hat Enterprise Linux 8 サーバーを準備します。
- 「PostgreSQL のインストール」。Satellite、Candlepin、Pulp のデータベースを使用して PostgreSQL を準備し、それらを所有する専用ユーザーを配置します。
-
「外部データベースを使用するための Satellite Server の設定」。新規データベースを参照するように
satellite-installer
のパラメーターを編集し、satellite-installer
を実行します。
3.13.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 サポートチームまでお問い合わせください。
3.13.2. 外部データベース用のホストの準備
新しくプロビジョニングされたシステムに最新の Red Hat Enterprise Linux 8 をインストールして、外部データベースをホストします。
Red Hat Enterprise Linux のサブスクリプションでは、外部データベースと Satellite を併用する場合に、正しいサービスレベルアグリーメントが提供されません。外部データベースに使用するベースオペレーティングシステムにも、Satellite サブスクリプションをアタッチする必要があります。
前提条件
- 準備されたホストは、Satellite の ストレージ要件 を満たしている必要があります。
手順
- Satellite インフラストラクチャーサブスクリプションのアタッチ の手順に従い、サーバーに Satellite サブスクリプションをアタッチします。
すべてのリポジトリーを無効にし、以下のリポジトリーのみを有効にします。
# subscription-manager repos --disable '*' # subscription-manager repos \ --enable=satellite-6.12-for-rhel-8-x86_64-rpms \ --enable=rhel-8-for-x86_64-baseos-rpms \ --enable=rhel-8-for-x86_64-appstream-rpms
次のモジュールを有効にします。
# dnf module enable satellite:el8
注記モジュール
satellite:el8
を有効にすると、postgresql:10
およびruby:2.5
との競合について警告が表示されます。これは、これらのモジュールが Red Hat Enterprise Linux 8 でデフォルトのモジュールバージョンに設定されているためです。モジュールsatellite:el8
には、モジュールpostgresql:12
およびruby:2.7
への依存関係があり、satellite:el8
モジュールで有効になります。これらの警告はインストールプロセスの失敗の原因にはならないため、安全に無視できます。Red Hat Enterprise Linux 8 のモジュールとライフサイクルストリームの詳細については、Red Hat Enterprise Linux Application Streams Life Cycle を参照してください。
3.13.3. PostgreSQL のインストール
インストール可能な PostgreSQL は、内部データベースのインストール中に satellite-installer
ツールでインストールされたものと同じバージョンの PostgreSQL のみになります。Satellite は PostgreSQL バージョン 12 をサポートします。
手順
PostgreSQL をインストールするには、以下のコマンドを入力します。
# dnf install postgresql-server postgresql-evr
PostgreSQL を初期化するには、以下のコマンドを入力します。
# postgresql-setup initdb
/var/lib/pgsql/data/postgresql.conf
ファイルで以下を行います。# vi /var/lib/pgsql/data/postgresql.conf
Satellite で機能するには、外部 PostgreSQL のデフォルト設定を調整する必要があることに注意してください。基本的に推奨される外部データベース設定の調整は次のとおりです。
- checkpoint_completion_target: 0.9
- max_connections: 500
- shared_buffers: 512MB
- work_mem: 4MB
#
を削除して、着信接続をリッスンするようにします。listen_addresses = '*'
/var/lib/pgsql/data/pg_hba.conf
ファイルを編集します。# vi /var/lib/pgsql/data/pg_hba.conf
以下の行をファイルに追加します。
host all all Satellite_ip/32 md5
PostgreSQL サービスを起動し、有効にするには、以下のコマンドを実行します。
# systemctl enable --now postgresql
外部 PostgreSQL サーバーで postgresql ポートを開きます。
# firewall-cmd --add-service=postgresql # firewall-cmd --runtime-to-permanent
postgres
ユーザーに切り替え、PostgreSQL クライアントを起動します。$ su - postgres -c psql
3 つのデータベースと専用のロールを作成します。1 つは Satellite 用、1 つは Candlepin 用、もう 1 つは Pulp 用です。
CREATE USER "foreman" WITH PASSWORD 'Foreman_Password'; CREATE USER "candlepin" WITH PASSWORD 'Candlepin_Password'; CREATE USER "pulp" WITH PASSWORD 'Pulpcore_Password'; CREATE DATABASE foreman OWNER foreman; CREATE DATABASE candlepin OWNER candlepin; CREATE DATABASE pulpcore OWNER pulp;
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" # PGPASSWORD='Pulpcore_Password' psql -h postgres.example.com -p 5432 -U pulp -d pulpcore -c "SELECT 1 as ping"
3.13.4. 外部データベースを使用するための Satellite Server の設定
satellite-installer
コマンドを使用して Satellite が外部の PostgreSQL データベースに接続するように設定します。
前提条件
- Red Hat Enterprise Linux サーバーに PostgreSQL データベースをインストールおよび設定していること。
手順
Satellite の外部データベースを設定するには以下のコマンドを入力します。
satellite-installer --scenario satellite \ --foreman-db-host postgres.example.com \ --foreman-db-password Foreman_Password \ --foreman-db-database foreman \ --foreman-db-manage false \ --katello-candlepin-db-host postgres.example.com \ --katello-candlepin-db-name candlepin \ --katello-candlepin-db-password Candlepin_Password \ --katello-candlepin-manage-db false \ --foreman-proxy-content-pulpcore-manage-postgresql false \ --foreman-proxy-content-pulpcore-postgresql-host postgres.example.com \ --foreman-proxy-content-pulpcore-postgresql-db-name pulpcore \ --foreman-proxy-content-pulpcore-postgresql-password Pulpcore_Password --foreman-proxy-content-pulpcore-postgresql-user pulp
これらの外部データベースに対して Secure Sockets Layer (SSL) プロトコルを有効にするには、次のオプションを追加します。
--foreman-db-sslmode verify-full --foreman-db-root-cert <path_to_CA> --katello-candlepin-db-ssl true --katello-candlepin-db-ssl-verify true --katello-candlepin-db-ssl-ca <path_to_CA> --foreman-proxy-content-pulpcore-postgresql-ssl true --foreman-proxy-content-pulpcore-postgresql-ssl-root-ca <path_to_CA>
3.14. 事前定義済みプロファイルを使用した Satellite Server の調整
Satellite のデプロイメントに 5000 台を超えるホストが含まれる場合には、事前定義済みの tuning プロファイルを使用して Satellite のパフォーマンスを向上できます。
Capsule では tuning プロファイルを使用できない点に注意してください。
Satellite が管理するホストの数と利用可能なハードウェアリソースに応じて、プロファイルの 1 つを選択できます。
tuning プロファイルは、/usr/share/foreman-installer/config/foreman.hiera/tuning/sizes
ディレクトリーにあります。
--tuning
オプションを指定して satellite-installer
コマンドを実行した場合には、デプロイメント設定が以下の順番で Satellite Server に適用されます。
-
/usr/share/foreman-installer/config/foreman.hiera/tuning/common.yaml
ファイルで定義したデフォルトの tuning プロファイル -
/usr/share/foreman-installer/config/foreman.hiera/tuning/sizes/
ディレクトリーで定義され、デプロイメントに適用する tuning プロファイル -
オプション:
/etc/foreman-installer/custom-hiera.yaml
ファイルを設定した場合、Satellite はこれらの設定を適用します。
/etc/foreman-installer/custom-hiera.yaml
ファイルで定義した設定は、tuning プロファイルで定義した設定を上書きすることに注意してください。
したがって、tuning プロファイルを適用する前に、/usr/share/foreman-installer/config/foreman.hiera/tuning/common.yaml
のデフォルトの tuning プロファイルに定義されている設定、適用する tuning プロファイル、および /etc/foreman-installer/custom-hiera.yaml
ファイルを比較して、重複する設定内容を /etc/foreman-installer/custom-hiera.yaml
ファイルから削除する必要があります。
- default
管理対象ホスト数: 0 – 5000
RAM: 20G
CPU コア数: 4
- medium
管理対象ホスト数: 5001 – 10000
RAM: 32G
CPU コア数: 8
- large
管理対象ホスト数: 10001 – 20000
RAM: 64G
CPU コア数: 16
- extra-large
管理対象ホスト数: 20001 – 60000
RAM: 128G
CPU コア数: 32
- extra-extra-large
管理対象ホスト数: 60000+
RAM: 256G
CPU コア数: 48+
手順
オプション: Satellite Server で、
custom-hiera.yaml
ファイルを設定した場合、/etc/foreman-installer/custom-hiera.yaml
ファイルをcustom-hiera.original
にバックアップします。/etc/foreman-installer/custom-hiera.yaml
ファイルが破損した場合には、バックアップファイルを使用して、ファイルを元の状態に戻します。# cp /etc/foreman-installer/custom-hiera.yaml \ /etc/foreman-installer/custom-hiera.original
-
オプション: Satellite Server で
custom-hiera.yaml
ファイルを設定した場合、/usr/share/foreman-installer/config/foreman.hiera/tuning/common.yaml
のデフォルト tuning プロファイルの定義と、/usr/share/foreman-installer/config/foreman.hiera/tuning/sizes/
に適用する tuning プロファイルを確認します。/etc/foreman-installer/custom-hiera.yaml
ファイルの設定内容と比較して、/etc/foreman-installer/custom-hiera.yaml
ファイルで重複設定を削除します。 適用するプロファイルに対して、
--tuning
オプションを指定してsatellite-installer
コマンドを入力します。たとえば、medium tuning プロファイル設定を適用するには、以下のコマンドを入力します。# satellite-installer --tuning medium
第4章 外部サービスでの Satellite Server の設定
Satellite Server で DNS、DHCP、および TFTP サービスを設定しない場合は、外部 DNS、DHCP、および TFTP サービスと連携させる Satellite Server の設定のセクションを使用します。
4.1. 外部 DNS を使用した Satellite Server の設定
外部 DNS を使用して Satellite Server を設定できます。Satellite Server は nsupdate
ユーティリティー−を使用して、リモートサーバーで DNS レコードを更新します。
変更を永続的に保存するには、お使いの環境に適したオプションを指定して、satellite-installer
コマンドを入力する必要があります。
前提条件
- 外部 DNS サーバーが設定されている必要がある。
- このガイドは、既存のインストールがあることを前提としています。
手順
外部 DNS サーバーの
/etc/rndc.key
ファイルを Satellite Server にコピーします。# scp root@dns.example.com:/etc/rndc.key /etc/foreman-proxy/rndc.key
所有者、パーミッション、SELinux コンテキストを設定します。
# restorecon -v /etc/foreman-proxy/rndc.key # chown -v root:foreman-proxy /etc/foreman-proxy/rndc.key # chmod -v 640 /etc/foreman-proxy/rndc.key
nsupdate
ユーティリティーをテストするには、ホストをリモートで追加します。# echo -e "server DNS_IP_Address\n \ update add aaa.example.com 3600 IN A Host_IP_Address\n \ send\n" | nsupdate -k /etc/foreman-proxy/rndc.key # nslookup aaa.example.com DNS_IP_Address # echo -e "server DNS_IP_Address\n \ update delete aaa.example.com 3600 IN A Host_IP_Address\n \ send\n" | nsupdate -k /etc/foreman-proxy/rndc.key
satellite-installer
コマンドを入力して、以下の永続的な変更を/etc/foreman-proxy/settings.d/dns.yml
ファイルに加えます。# satellite-installer --foreman-proxy-dns=true \ --foreman-proxy-dns-managed=false \ --foreman-proxy-dns-provider=nsupdate \ --foreman-proxy-dns-server="DNS_IP_Address" \ --foreman-proxy-keyfile=/etc/foreman-proxy/rndc.key
- Satellite Web UI で、インフラストラクチャー > Capsules に移動します。
- Satellite Server を見つけて、Actions 列のリストから Refresh を選択します。
- DNS サービスに適切なサブネットとドメインを関連付けます。
4.2. 外部 DHCP を使用した Satellite Server の設定
外部の DHCP で Satellite Server を設定するには、以下の手順を実行します。
4.2.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 サーバーとして dnsmasq を使用する場合には、dhcp-no-override
の設定を有効にします。Satellite は grub2/
サブディレクトリーの配下にある TFTP サーバーに設定ファイルを作成するので、この設定を必ず有効にしてください。dhcp-no-override
設定が無効な場合には、クライアントは root ディからブートローダーと設定をフェッチするのでエラーが発生する可能性があります。
手順
Red Hat Enterprise Linux ホストに、ISC DHCP サービスと Berkeley Internet Name Domain (BIND) パッケージをインストールします。
# dnf 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 enable --now dhcpd
NFS を使用して DHCP 設定ファイルおよびリースファイルをエクスポートします。
# dnf install nfs-utils # systemctl enable --now nfs-server
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 を使用して設定します。
# 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.2.2. 外部 DHCP サーバーを使用した Satellite Server の設定
外部 DHCP サーバーを使用した Satellite Server を設定できます。
前提条件
- 外部の DHCP サーバーを設定し、Satellite Server と DHCP 設定ファイルとリースファイルを共有していることを確認する。詳細は、「Satellite Server を使用するための外部 DHCP サーバーの設定」 を参照してください。
手順
nfs-utils
パッケージをインストールします。# dnf 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
- DHCP サービスに適切なサブネットとドメインを関連付けます。
4.3. 外部 TFTP での Satellite Server の設定
外部 TFTP サービスを使用して Satellite Server を設定できます。
手順
NFS 用に TFTP ディレクトリーを作成します。
# mkdir -p /mnt/nfs/var/lib/tftpboot
/etc/fstab
ファイルで以下の行を追加します。TFTP_Server_IP_Address:/exports/var/lib/tftpboot /mnt/nfs/var/lib/tftpboot nfs rw,vers=3,auto,nosharecache,context="system_u:object_r:tftpdir_rw_t:s0" 0 0
/etc/fstab
のファイルシステムをマウントします。# mount -a
satellite-installer
コマンドを入力して、以下の永続的な変更を/etc/foreman-proxy/settings.d/tffp.yml
ファイルに加えます。# satellite-installer --foreman-proxy-tftp=true \ --foreman-proxy-tftp-root /mnt/nfs/var/lib/tftpboot
DHCP サービスとは異なるサーバーで TFTP サービスを実行している場合は、TFTP サービスを実行するサーバーの FQDN または IP アドレスに、
tftp_servername
設定を更新します。# satellite-installer --foreman-proxy-tftp-servername=TFTP_Server_FQDN
- Satellite Web UI で、インフラストラクチャー > Capsules に移動します。
- Satellite Server を見つけて、Actions 列のリストから Refresh を選択します。
- TFTP サービスに適切なサブネットとドメインを関連付けます。
4.4. 外部 IdM DNS を使用した Satellite Server の設定
Satellite Server がホストの DNS レコードを追加する時には、まずどの Capsule が対象のドメインに DNS を提供しているかを判断します。次に、デプロイメントに使用する DNS サービスを提供するように設定された Capsule と通信し、レコードを追加します。ホストはこのプロセスには関与しません。そのため、IdM サーバーを使用して管理するドメインに DNS サービスを提供するように設定された Satellite または Capsule に IdM クライアントをインストールし、設定する必要があります。
Satellite Server は、 Red Hat Identity Management (IdM) サーバーを使って DNS サービスを提供するように設定できます。Red Hat Identity Management の詳細は、Linux Domain Identity, Authentication, and Policy Guide を参照してください。
Red Hat Identity Management (IdM) サーバーを使用して DNS サービスを提供するように Satellite Server を設定するには、以下の手順のいずれかを使用します。
内部 DNS サービスに戻すには、次の手順を使用します。
DNS の管理に、Satellite Server を使用する必要はありません。Satellite のレルム登録機能を使用しており、プロビジョニングされたホストが自動的に IdM に登録されている場合は、ipa-client-install
スクリプトでクライアント用に DNS レコードが作成されます。外部の IdM DNS とレルム登録を同時に使用して、Satellite Server を設定することはできません。レルム登録の設定に関する詳細は、オンラインネットワーク環境での Satellite Server のインストール の プロビジョンされたホストの外部認証 を参照してください。
4.4.1. GSS-TSIG 認証を使用した動的 DNS 更新の設定
RFC3645 で定義されている秘密鍵トランザクション (GSS-TSIG) 技術の一般的なセキュリティーサービスアルゴリズムを使用するように IdM サーバーを設定できます。IdM サーバーが GSS-TSIG 技術を使用するように設定するには、Satellite Server のベースオペレーティングシステムに IdM クライアントをインストールする必要があります。
前提条件
- IdM サーバーがデプロイされ、ホストベースのファイアウォールが正確に設定されている。詳細は、Identity Management のインストールガイド の IdM のポート要件 を参照してください。
- IdM サーバーの管理者に問い合わせて、IdM サーバーでゾーンを作成するパーミッションが割り当てられた、IdM サーバーのアカウントを取得する。
- 応答ファイルのバックアップを作成する必要があります。応答ファイルが破損した場合に、元の状態に戻せるように、バックアップを使用できます。詳細は、Satellite Server の設定 を参照してください。
手順
GSS-TSIG 認証で動的 DNS 更新を設定するには、以下の手順を実行します。
IdM サーバーでの Kerberos プリンシパルの作成
IdM 管理者から取得したアカウントの Kerberos チケットを取得します。
# kinit idm_user
IdM サーバーでの認証に使用する Satellite Server の新規 Kerberos プリンシパルを作成します。
# ipa service-add capsule/satellite.example.com
IdM クライアントのインストールおよび設定
デプロイメントの DNS サービスを管理する Satellite または Capsule のベースオペレーティングシステムで
ipa-client
パッケージをインストールします。# satellite-maintain packages 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
オプションを追加します。これにより、新規の認証情報が生成されることを防ぎ、元のシステムの認証情報が無効になります。dns.keytab
ファイルのグループと所有者をforeman-proxy
に設定します。# 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 を有効にします。
- 送信 をクリックして、変更を保存します。
逆引きゾーンを作成して設定します。
- 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 に設定します。
- 送信 をクリックして、変更を保存します。
ドメインの DNS サービスを管理する Satellite または Capsule Server の設定
satellite-installer
コマンドを使用して、ドメインの DNS サービスを管理するように Satellite または Capsule を設定します。Satellite で以下のコマンドを入力します。
satellite-installer --scenario satellite \ --foreman-proxy-dns=true \ --foreman-proxy-dns-managed=false \ --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
Capsule で、以下のコマンドを実行します。
satellite-installer --scenario capsule \ --foreman-proxy-dns=true \ --foreman-proxy-dns-managed=false \ --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
satellite-installer
コマンドを実行して Capsule 設定に変更を加えた後に、Satellite Web UI で変更のある Capsule ごとに設定を更新する必要があります。
Satellite Web UI での設定更新
- Satellite Web UI で、Infrastructure > Capsules に移動し、Satellite Server を見つけて、Actions 列のリストから Refresh を選択します。
ドメインを設定します。
- Satellite Web UI で、Infrastructure > Domains に移動し、ドメイン名を選択します。
- ドメイン タブで、DNS Capsule が、サブネットが接続されている Capsule に設定されていることを確認します。
サブネットを設定します。
- Satellite Web UI で、Infrastructure > Subnets に移動し、サブネット名を選択します。
- サブネット タブで、IPAM を None に設定します。
- ドメイン タブで、IdM サーバーを使用して管理するドメインを選択します。
- Capsules タブで、Reverse DNS Capsule が、サブネットが接続されている Capsule に設定されていることを確認します。
- 送信 をクリックして変更を保存します。
4.4.2. TSIG 認証を使用した動的 DNS 更新の設定
IdM サーバーが DNS (TSIG) テクノロジーの秘密鍵トランザクション認証を使用するように設定できます。このテクノロジーは、認証に rndc.key
キーファイルを使用します。TSIG プロトコルについては RFC2845 に定義されています。
前提条件
- IdM サーバーがデプロイされ、ホストベースのファイアウォールが正確に設定されている。詳細は Linux Domain Identity, Authentication, and Policy Guide の Port Requirements を参照してください。
-
IdM サーバーで
root
権限を取得する必要があります。 - デプロイメントに DNS サービスを提供するように Satellite Server または Capsule Server が設定されていることを確認する。
- デプロイメントの DNS サービスを管理する Satellite または Capsule のいずれかのベースオペレーティングシステムで DNS 、DHCP および TFTP サービスを設定する必要がある。
- 応答ファイルのバックアップを作成しておく。応答ファイルが破損した場合に、元の状態に戻せるように、バックアップを使用できます。詳細は、Satellite Server の設定 を参照してください。
手順
TSIG 認証で動的 DNS 更新を設定するには、以下の手順を実行します。
IdM サーバーの DNS ゾーンに対する外部更新の有効化
IdM サーバーで、以下の内容を
/etc/named.conf
ファイルの先頭に追加します。######################################################################## include "/etc/rndc.key"; controls { inet _IdM_Server_IP_Address_ port 953 allow { _Satellite_IP_Address_; } keys { "rndc-key"; }; }; ########################################################################
named
サービスをリロードして、変更を有効にします。# systemctl reload named
IdM Web UI で、ネットワークサービス > DNS > DNS ゾーン に移動して、ゾーンの名前をクリックします。設定 タブで、以下の変更を適用します。
BIND update policy (BIND 更新ポリシー)
ボックスで以下の内容を追加します。grant "rndc-key" zonesub ANY;
- Dynamic update を True に設定します。
- 更新 をクリックして変更を保存します。
IdM サーバーから Satellite Server のベースオペレーティングシステムに
/etc/rndc.key
ファイルをコピーします。以下のコマンドを入力します。# scp /etc/rndc.key root@satellite.example.com:/etc/rndc.key
rndc.key
ファイルに適切な所有者、パーミッション、SELinux コンテキストを設定するには、以下のコマンドを入力します。# restorecon -v /etc/rndc.key # chown -v root:named /etc/rndc.key # chmod -v 640 /etc/rndc.key
foreman-proxy
ユーザーは、手動でnamed
グループに割り当てます。通常、satellite-installer はforeman-proxy
ユーザーがnamed
UNIX グループに所属させますが、今回のシナリオでは、Satellite でユーザーとグループを管理していないので、foreman-proxy
ユーザーをnamed
グループに手作業で割り当てる必要があります。# usermod -a -G named foreman-proxy
Satellite Server で以下の
satellite-installer
コマンドを入力して、Satellite が外部の DNS サーバーを使用するように設定します。# satellite-installer --scenario satellite \ --foreman-proxy-dns=true \ --foreman-proxy-dns-managed=false \ --foreman-proxy-dns-provider=nsupdate \ --foreman-proxy-dns-server="IdM_Server_IP_Address" \ --foreman-proxy-keyfile=/etc/rndc.key \ --foreman-proxy-dns-ttl=86400
IdM サーバーの DNS ゾーンに対する外部更新のテスト
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.4.3. 内部 DNS サービス使用への復元
Satellite Server および Capsule Server を DNS プロバイダーとして使用するように戻すことができます。外部の DNS を設定する前に作成した応答ファイルのバックアップを使用するか、応答ファイルのバックアップを作成します。アンサーファイルに関する詳細は、Satellite Server の設定 を参照してください。
手順
ドメインの DNS サーバーを管理するように設定する Satellite または Capsule Server で、以下の手順を実行します。
DNS サーバーとしての Satellite または Capsule の設定
外部の DNS を設定する前に応答ファイルのバックアップを作成済みの場合には、応答ファイルを復元して、
satellite-installer
コマンドを入力します。# satellite-installer
応答ファイルの適切なバックアップがない場合には、ここで応答ファイルのバックアップを作成します。応答ファイルを使用せずに Satellite または Capsule を DNS サーバーとして設定するには、Satellite と Capsule で、以下の
satellite-installer
コマンドを入力します。# satellite-installer \ --foreman-proxy-dns=true \ --foreman-proxy-dns-managed=true \ --foreman-proxy-dns-provider=nsupdate \ --foreman-proxy-dns-server="127.0.0.1"
詳細は、Capsule Server での DNS、DHCP、および TFTP の設定 を参照してください。
satellite-installer
コマンドを実行して Capsule 設定に変更を加えた後に、Satellite Web UI で変更のある Capsule ごとに設定を更新する必要があります。
Satellite Web UI での設定更新
- Satellite Web UI で、インフラストラクチャー > Capsules に移動します。
- 更新する各 Capsule で、アクション リストから リフレッシュ を選択します。
ドメインを設定します。
- Satellite Web UI で、Infrastructure > Domains に移動し、設定するドメイン名をクリックします。
- ドメイン タブで、DNS Capsule を、サブネットの接続先の Capsule に設定します。
サブネットを設定します。
- Satellite Web UI で、Infrastructure > Subnets に移動し、サブネット名を選択します。
- サブネット タブで、IPAM を DHCP または Internal DB に設定します。
- ドメイン タブで、Satellite または Capsule で管理するドメインを選択します。
- Capsules タブで、Reverse DNS Capsule を、サブネットの接続先の Capsule に設定します。
- 送信 をクリックして変更を保存します。
付録A Red Hat Satellite へのカスタム設定の適用
satellite-installer
を使用して初めて Satellite をインストールし、設定する場合には、--foreman-proxy-dns-managed=false
と --foreman-proxy-dhcp-managed=false
のインストーラーフラグを使用して、DNS および DHCP 設定ファイルが Puppet で管理されないように指定してください。これらのフラグがインストーラーの初回実行時に指定されていない場合には、アップグレードの目的で再実行する場合など、インストーラーを再実行すると、手動で変更した内容がすべて上書きされます。変更が上書きされた場合には、復元の手順を実行して手動の変更を復元する必要があります。詳細は、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
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 サポートにお問い合わせください。
付録B 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
- バックアップしたファイルと復元されたファイルを比べます。復元されたファイルに、アップグレードに必要な変更を追加します。
付録C Red Hat CDN からコンテンツをダウンロードするために Satellite Server を戻す
お使いの環境がオフラインからオンラインに変更された場合は、Red Hat CDN から直接コンテンツをダウンロードするようにオフラインの Satellite Server を再設定することができます。
手順
- Satellite Web UI で、Content > Subscriptions に移動します。
- Manage Manifest ボタンをクリックします。
- CDN Configuration タブに切り替えます。
- Red Hat を選択します。
URL フィールドを編集して、Red Hat CDN URL をポイントします。
- Update をクリックします。
これで Satellite Server は、次にリポジトリーを同期するときに Red Hat CDN からコンテンツをダウンロードするように設定されました。
CLI 手順
- SSH を使用して Satellite Server にログインします。
ハンマーを使用して CDN を再設定します。
# hammer organization configure-cdn --name="My_Organization" --type=redhat_cdn