第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/
# mkdir -p /var/www/html/pub/sat-import/Copy to Clipboard Copied! Toggle word wrap Toggle overflow マウントポイントを作成し、その場所に ISO イメージを一時的にマウントします。
mkdir /mnt/iso mount -o loop /root/isos/first_iso /mnt/iso
# mkdir /mnt/iso # mount -o loop /root/isos/first_iso /mnt/isoCopy to Clipboard Copied! Toggle word wrap Toggle overflow 最初の ISO イメージのコンテンツをローカルディレクトリーに再帰的にコピーします。
cp -ruv /mnt/iso/* /var/www/html/pub/sat-import/
# cp -ruv /mnt/iso/* /var/www/html/pub/sat-import/Copy to Clipboard Copied! Toggle word wrap Toggle overflow マウントされたバイナリー DVD ISO イメージを使用する予定がない場合は、マウントポイントをアンマウントして削除します。
umount /mnt/iso rmdir /mnt/iso
# umount /mnt/iso # rmdir /mnt/isoCopy to Clipboard Copied! Toggle word wrap Toggle overflow -
各 ISO で上記の作業を繰り返して、コンテンツ ISO イメージからすべてのデータを
/var/www/html/pub/sat-import/にコピーします。 ディレクトリーに正しい SELinux コンテキストが設定されていることを確認します。
restorecon -rv /var/www/html/pub/sat-import/
# restorecon -rv /var/www/html/pub/sat-import/Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 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
# mkdir /mnt/iso # mount -o loop rhel-8.1-x86_64-dvd.iso /mnt/isoCopy to Clipboard Copied! Toggle word wrap Toggle overflow 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
# 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/kickstartCopy to Clipboard Copied! Toggle word wrap Toggle overflow 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
kickstartCopy to Clipboard Copied! Toggle word wrap Toggle overflow /var/www/html/pub/sat-import/content/dist/rhel8/listingのリストファイルに対して、使用するオペレーティングシステムの ISO のバージョン番号を追加して改行します。たとえば、RHEL 8.1 バイナリー ISO の場合、8.1を追加して改行します。8.1
8.1Copy to Clipboard Copied! Toggle word wrap Toggle overflow 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
# 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/kickstartCopy to Clipboard Copied! Toggle word wrap Toggle overflow 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
# 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/treeinfoCopy to Clipboard Copied! Toggle word wrap Toggle overflow -
/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ファイルが以下の形式であることを確認します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
/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ファイルが以下の形式であることを確認します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow マウントされたバイナリー DVD ISO イメージを使用する予定がない場合は、ディレクトリーをアンマウントして削除します。
umount /mnt/iso rmdir /mnt/iso
# umount /mnt/iso # rmdir /mnt/isoCopy to Clipboard Copied! Toggle word wrap Toggle overflow - 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)'
# 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
# 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"
# satellite-installer --foreman-proxy-bmc "true" \ --foreman-proxy-bmc-default-provider "freeipmi"Copy to Clipboard Copied! Toggle word wrap Toggle overflow
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コマンドを入力してください。以下の例では、完全なプロビジョニングサービスの設定を示しています。Copy to Clipboard Copied! Toggle word wrap Toggle overflow
プロンプトに表示される 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-installer --foreman-proxy-dhcp false \ --foreman-proxy-dns false \ --foreman-proxy-tftp falseCopy to Clipboard Copied! Toggle word wrap Toggle overflow - 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
Option 66: IP_address_of_Satellite_or_Capsule Option 67: /pxelinux.0Copy to Clipboard Copied! Toggle word wrap Toggle overflow 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
# mv /usr/share/foreman/config/email.yaml \
/usr/share/foreman/config/email.yaml-backup
# systemctl restart httpd
Satellite Server で送信メールの設定
-
Satellite Web UI で、管理
設定 に移動します。 Email タブをクリックして、希望する配信方法に一致する設定オプションを設定します。変更は即座に反映されます。
以下の例は、SMTP サーバーを使用する場合の設定オプションの例を示しています。
Expand 表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 サーバーとして使用されています。
Expand 表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コマンドが配信方法として使用されています。Expand 表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
# cp mailca.crt /etc/pki/ca-trust/source/anchors/ # update-ca-trust enable # update-ca-trustCopy to Clipboard Copied! Toggle word wrap Toggle overflow ここで、
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
# mkdir /root/satellite_certCopy to Clipboard Copied! Toggle word wrap Toggle overflow Certificate Signing Request (CSR) を署名する秘密鍵を作成します。
秘密鍵は暗号化する必要がないことに注意してください。パスワードで保護された秘密鍵を使用する場合は、秘密鍵のパスワードを削除します。
Satellite Server 向けの秘密鍵がすでにある場合は、この手順を省略します。
openssl genrsa -out /root/satellite_cert/satellite_cert_key.pem 4096
# openssl genrsa -out /root/satellite_cert/satellite_cert_key.pem 4096Copy to Clipboard Copied! Toggle word wrap Toggle overflow 証明書署名要求 (CSR) 用の
/root/satellite_cert/openssl.cnf設定ファイルを作成して、以下のコンテンツを追加します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 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 \ -config /root/satellite_cert/openssl.cnf \ -out /root/satellite_cert/satellite_cert_csr.pem
# 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.pem3 Copy to Clipboard Copied! Toggle word wrap Toggle overflow 証明局に証明書署名要求を送信します。同じ証明局が 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 \ -k /root/satellite_cert/satellite_cert_key.pem \ -b /root/satellite_cert/ca_cert_bundle.pem
# 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.pem3 Copy to Clipboard Copied! Toggle word wrap Toggle overflow このコマンドに成功すると、2 つの
satellite-installerコマンドが返されます。1 つは、Satellite Server に証明書をデプロイするのに使用する必要があります。katello-certs-check の出力例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 要件に合わせて、
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*'
# yum remove 'katello-ca-consumer*'Copy to Clipboard Copied! Toggle word wrap Toggle overflow ホストに
katello-ca-consumerパッケージをインストールします。yum localinstall \ http://satellite.example.com/pub/katello-ca-consumer-latest.noarch.rpm
# yum localinstall \ http://satellite.example.com/pub/katello-ca-consumer-latest.noarch.rpmCopy to Clipboard Copied! Toggle word wrap Toggle overflow
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
# subscription-manager repos --disable '*' # subscription-manager repos --enable=rhel-server-rhscl-7-rpms \ --enable=rhel-7-server-rpmsCopy to Clipboard Copied! Toggle word wrap Toggle overflow
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
# yum install rh-mongodb34 rh-mongodb34-syspathsCopy to Clipboard Copied! Toggle word wrap Toggle overflow rh-mongodb34 サービスを起動して有効にします。
systemctl start rh-mongodb34-mongod systemctl enable rh-mongodb34-mongod
# systemctl start rh-mongodb34-mongod # systemctl enable rh-mongodb34-mongodCopy to Clipboard Copied! Toggle word wrap Toggle overflow 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'}]})"# mongo pulp_database \ --eval "db.createUser({user:'pulp',pwd:'pulp_password',roles:[{role:'dbOwner', db:'pulp_database'},{ role: 'readWrite', db: 'pulp_database'}]})"Copy to Clipboard Copied! Toggle word wrap Toggle overflow /etc/opt/rh/rh-mongodb34/mongod.confファイルでバインド IP を指定します。bindIp: your_mongodb_server_bind_IP,::1
bindIp: your_mongodb_server_bind_IP,::1Copy to Clipboard Copied! Toggle word wrap Toggle overflow /etc/opt/rh/rh-mongodb34/mongod.confファイルを編集してsecurityセクションの認証を有効にします。security: authorization: enabled
security: authorization: enabledCopy to Clipboard Copied! Toggle word wrap Toggle overflow rh-mongodb34-mongodサービスを再起動します。systemctl restart rh-mongodb34-mongod
# systemctl restart rh-mongodb34-mongodCopy to Clipboard Copied! Toggle word wrap Toggle overflow MongoDB にポート 27017 を開きます。
firewall-cmd --add-port=27017/tcp firewall-cmd --runtime-to-permanent
# firewall-cmd --add-port=27017/tcp # firewall-cmd --runtime-to-permanentCopy to Clipboard Copied! Toggle word wrap Toggle overflow Satellite Server からデータベースにアクセスできることをテストします。接続が成功すると、コマンドから
1が返ります。scl enable rh-mongodb34 " mongo --host mongo.example.com \ -u pulp -p pulp_password --port 27017 --eval 'ping:1' pulp_database"
# scl enable rh-mongodb34 " mongo --host mongo.example.com \ -u pulp -p pulp_password --port 27017 --eval 'ping:1' pulp_database"Copy to Clipboard Copied! Toggle word wrap Toggle overflow
3.11.5. PostgreSQL のインストール リンクのコピーリンクがクリップボードにコピーされました!
インストール可能な PostgreSQL は、内部データベースのインストール中に satellite-installer ツールでインストールされたものと同じバージョンの PostgreSQL のみになります。PostgreSQL はサポート対象のバージョンであれば、Red Hat Enteprise Linux Server 7 リポジトリーからまたは外部ソースからインストールすることが可能です。Satellite は PostgreSQL バージョン 9.2 をサポートしています。
PostgreSQL をインストールするには、以下のコマンドを入力します。
yum install postgresql-server
# yum install postgresql-serverCopy to Clipboard Copied! Toggle word wrap Toggle overflow PostgreSQL サービスを初期化して起動し、有効にするには、以下のコマンドを実行します。
postgresql-setup initdb systemctl start postgresql systemctl enable postgresql
# postgresql-setup initdb # systemctl start postgresql # systemctl enable postgresqlCopy to Clipboard Copied! Toggle word wrap Toggle overflow /var/lib/pgsql/data/postgresql.confファイルを編集します。vi /var/lib/pgsql/data/postgresql.conf
# vi /var/lib/pgsql/data/postgresql.confCopy to Clipboard Copied! Toggle word wrap Toggle overflow #を削除して、着信接続をリッスンするようにします。listen_addresses = '*'
listen_addresses = '*'Copy to Clipboard Copied! Toggle word wrap Toggle overflow /var/lib/pgsql/data/pg_hba.confファイルを編集します。vi /var/lib/pgsql/data/pg_hba.conf
# vi /var/lib/pgsql/data/pg_hba.confCopy to Clipboard Copied! Toggle word wrap Toggle overflow 以下の行を追加します。
host all all satellite_server_ip/24 md5
host all all satellite_server_ip/24 md5Copy to Clipboard Copied! Toggle word wrap Toggle overflow PostgreSQL サービスを再起動して、変更を適用します。
systemctl restart postgresql
# systemctl restart postgresqlCopy to Clipboard Copied! Toggle word wrap Toggle overflow 外部 PostgreSQL サーバーで postgresql ポートを開きます。
firewall-cmd --add-service=postgresql firewall-cmd --runtime-to-permanent
# firewall-cmd --add-service=postgresql # firewall-cmd --runtime-to-permanentCopy to Clipboard Copied! Toggle word wrap Toggle overflow postgresユーザーに切り替え、PostgreSQL クライアントを起動します。su - postgres -c psql
$ su - postgres -c psqlCopy to Clipboard Copied! Toggle word wrap Toggle overflow 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;
CREATE USER "foreman" WITH PASSWORD 'Foreman_Password'; CREATE USER "candlepin" WITH PASSWORD 'Candlepin_Password'; CREATE DATABASE foreman OWNER foreman; CREATE DATABASE candlepin OWNER candlepin;Copy to Clipboard Copied! Toggle word wrap Toggle overflow postgresユーザーをログアウトします。\q
# \qCopy to Clipboard Copied! Toggle word wrap Toggle overflow 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='Foreman_Password' psql -h postgres.example.com -p 5432 -U foreman -d foreman -c "SELECT 1 as ping" # PGPASSWORD='Candlepin_Password' psql -h postgres.example.com -p 5432 -U candlepin -d candlepin -c "SELECT 1 as ping"Copy to Clipboard Copied! Toggle word wrap Toggle overflow Satellite 用にリモートデータベースをインストールして設定するには以下のコマンドを入力します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
データベースのステータスをクエリーします。たとえば、以下のコマンドに --only と postgresql または rh-mongodb34-mongod を追加して実行します。
PostgreSQL の場合は、以下のコマンドを実行します。
satellite-maintain service status --only postgresql
# satellite-maintain service status --only postgresql
MongoDB の場合は、以下のコマンドを実行します。
satellite-maintain service status --only rh-mongodb34-mongod
# satellite-maintain service status --only rh-mongodb34-mongod
3.12. mongod へのアクセスの制限 リンクのコピーリンクがクリップボードにコピーされました!
データ損失の危険を減らすために、MongoDB データベースデーモン mongod へのアクセスは apache ユーザーと root ユーザーにだけ設定する必要があります。
ご使用の Satellite Server の mongod へのアクセスを制限するには、ファイアウォール構成を更新する必要があります。
手順
以下のコマンドを入力して、ファイアウォール構成を更新します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 変更を永続化します。
firewall-cmd --runtime-to-permanent
# firewall-cmd --runtime-to-permanentCopy to Clipboard Copied! Toggle word wrap Toggle overflow
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
# mv /etc/foreman-installer/custom-hiera.yaml \ /etc/foreman-installer/custom-hiera.originalCopy to Clipboard Copied! Toggle word wrap Toggle overflow - ブラウザーで 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
# curl -O https://raw.githubusercontent.com/RedHatSatellite/satellite-support/master/tuning-profiles/custom-hiera-large-64G.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow お使いの Satellite デプロイメントに一致するチューニングプロファイルを
/etc/foreman-installer/custom-hiera.yamlにコピーします。cp custom-hiera-large-64G.yaml /etc/foreman-installer/custom-hiera.yaml
# cp custom-hiera-large-64G.yaml /etc/foreman-installer/custom-hiera.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow -
オプション: カスタムの設定を
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.
# Added by foreman-installer during upgrade, run the installer with --upgrade-mongo-storage to upgrade to WiredTiger. mongodb::server::storage_engine: 'mmapv1'Copy to Clipboard Copied! Toggle word wrap Toggle overflow 引数なしで
satellite-installerコマンドを入力して、設定を適用します。satellite-installer
# satellite-installerCopy to Clipboard Copied! Toggle word wrap Toggle overflow