第3章 Satellite Server での追加設定の実行
3.1. Satellite Server での Red Hat Insights の使用
Red Hat Insights を使用すると、セキュリティー違反、パフォーマンスの低下、および安定性の消失に関連するシステムとダウンタイムを診断できます。ダッシュボードを使用して、安定性、セキュリティー、およびパフォーマンスの主要なリスクを素早く特定できます。また、カテゴリー別に分類したり、影響度および解決方法の詳細を表示したり、影響を受けたシステムを調べたりすることができます。
サブスクリプションマニフェストでは、Red Hat Insights のエンタイトルメントは必要ないことに注意してください。Satellite および Red Hat Insights の詳細については、 Satellite Red Hat Enterprise Linux (RHEL) 上の Red Hat Insights を参照してください。
Satellite Server を保守し、Satellite で発生する可能性のある問題を監視および診断する能力を向上させるには、Satellite Server に Red Hat Insights をインストールし、Satellite Server を Red Hat Insights に登録します。
insights-client のスケジューリング
Satellite に insights-client.timer
を設定することで、デフォルトの insights-client
実行スケジュールを変更することができます。詳細は、『Client Configuration Guide for Red Hat Insights』の「Changing the insights-client schedule」を参照してください。
手順
Satellite Server で Red Hat Insights をインストールするには、以下のコマンドを入力します。
# satellite-maintain packages install insights-client
Satellite Server を Red Hat Insights に登録するには、以下のコマンドを入力します。
# insights-client --register
3.2. Satellite Tools 6.7 リポジトリーの有効化
Satellite Tools 6.7 のリポジトリーは、Satellite Server に登録されているクライアント向けの katello-agent
、katello-host-tools
および puppet
パッケージを提供します。
手順
- Satellite Web UI で、コンテンツ > Red Hat サブスクリプション に移動します。
- 検索フィールドを使用して Satellite Tools 6.7 (for RHEL 7 Server) (RPMs) のリポジトリー名を入力します。
利用可能なリポジトリーペインで、Satellite Tools 6.7 (for RHEL 7 Server) (RPMs) をクリックして、リポジトリーセットを展開します。
Satellite Tools 6.7 の項目が表示されていない場合は、カスタマーポータルから取得したサブスクリプションマニフェストにその項目が含まれないことが原因として考えられます。この問題を修正するには、カスタマーポータルにログインし、これらのリポジトリーを追加し、サブスクリプションマニフェストをダウンロードして、Satellite にインポートします。
-
x86_64
エントリーでは、有効化 アイコンをクリックして、リポジトリーを有効にします。
ホストで実行している Red Hat Enterprise Linux の各サポート対象メジャーバージョンに対して Satellite Tools 6.7 リポジトリーを有効にします。Red Hat リポジトリーの有効後に、このリポジトリーの製品が自動的に作成されます。
CLI をご利用の場合
hammer repository-set enable
コマンドを使用して、Satellite Tools 6.7 リポジトリーを有効化します。# hammer repository-set enable --organization "initial_organization_name" \ --product 'Red Hat Enterprise Linux Server' \ --basearch='x86_64' \ --name 'Red Hat Satellite Tools 6.7 (for RHEL 7 Server) (RPMs)'
3.3. Satellite Tools 6.7 リポジトリーの同期
本セクションを使用して、Red Hat コンテンツ配信ネットワーク (CDN) から Satellite に Satellite Tools 6.7 リポジトリーを同期します。このリポジトリーを使用して、Satellite Server に登録したクライアントに katello-agent
と katello-host-tools
、puppet
パッケージを提供します。
手順
Satellite Web UI で、コンテンツ > 同期の状態 に移動します。
同期可能な製品リポジトリーのリストが表示されます。
- Red Hat Enterprise Linux Server 製品の横にある矢印をクリックして、利用可能なコンテンツを表示します。
- Red Hat Satellite Tools 6.7 (RHEL 7 Server 用) RPMs x86_64 を選択します。
- 今すぐ同期 をクリックします。
CLI をご利用の場合
hammer repository synchronize
コマンドを使用して、Satellite Tools 6.7 リポジトリーを同期します。# hammer repository synchronize --organization "initial_organization_name" \ --product 'Red Hat Enterprise Linux Server' \ --name 'Red Hat Satellite Tools 6.7 for RHEL 7 Server RPMs x86_64' \ --async
3.4. HTTP プロキシーを使用した Satellite Server の設定
以下の手順を使用して、HTTP プロキシーで Satellite を設定します。
3.4.1. デフォルトの HTTP プロキシーの Satellite への追加
ネットワークで HTTP プロキシーを使用している場合は、Red Hat コンテンツ配信ネットワーク (CDN) または別のコンテンツソースへの要求送信に HTTP プロキシーを使用するように Satellite Server を設定できます。ネットワークの変更が原因で接続が失われるのを回避するために、可能な限り IP の代わりに FQDN を使用します。
以下の手順では、Satellite のコンテンツダウンロード専用のプロキシーを設定します。
手順
- Satellite Web UI で、インフラストラクチャー > HTTP プロキシー に移動します。
- 新規 HTTP プロキシーをクリックします。
- 名前 フィールドには、プロキシー名を入力します。
-
Url フィールドに、以下の形式で HTTP プロキシーの URL を入力してください (
https://proxy.example.com:8080
)。 - オプション: 認証が必要な場合には、ユーザ名 フィールドに認証に使用するユーザー名を入力します。
- オプション: 認証が必要な場合には、パスワード フィールドに認証に使用するパスワードを入力します。
- プロキシーへの接続をテストするには、接続のテスト ボタンをクリックします。
- Submit をクリックします。
- 管理 > 設定 に移動して、コンテンツ タブをクリックします。
- デフォルトの HTTP プロキシー オプションを作成した HTTP プロキシーに設定します。
CLI をご利用の場合
http_proxy
、https_proxy
、no_proxy
変数が設定されていないことを確認します。# unset http_proxy # unset https_proxy # unset no_proxy
HTTP プロキシーエントリーを Satellite に追加します。
# hammer http-proxy create --name=myproxy \ --url http://myproxy.example.com:8080 \ --username=proxy_username \ --password=proxy_password
Satellite がデフォルトでこの HTTP プロキシーを使用するように設定します。
# hammer settings set --name=content_default_http_proxy --value=myproxy
3.4.2. Red Hat CDN に接続するための HTTP プロキシーの設定
Satellite が Red Hat CDN に接続し、リポジトリーを同期できることを確認します。
手順
ネットワークゲートウェイと HTTP プロキシーで、以下のホスト名に対して TCP を有効にします。
ホスト名 ポート プロトコル subscription.rhsm.redhat.com
443
HTTPS
cdn.redhat.com
443
HTTPS
*.akamaiedge.net
443
HTTPS
cert-api.access.redhat.com (Red Hat Insights を使用している場合)
443
HTTPS
api.access.redhat.com (Red Hat Insights を使用している場合)
443
HTTPS
Satellite Server は、SSL を使用して安全に Red Hat CDN と通信します。SSL インターセプトプロキシーを使用すると、この通信が妨害されます。これらのホストは、プロキシーでホワイトリスト化されている必要があります。
Red Hat CDN (cdn.redhat.com) で使用されている IP アドレスの一覧は、Red Hat カスタマーポータルのナレッジベース記事「Red Hat が公開している CIDR の一覧」を参照してください。
Satellite Server の
/etc/rhsm/rhsm.conf
ファイルで、以下の詳細を記入します。# an http proxy server to use (enter server FQDN) proxy_hostname = myproxy.example.com # port for http proxy server proxy_port = 8080 # user name for authenticating to an http proxy, if needed proxy_user = # password for basic http proxy auth, if needed proxy_password =
3.4.3. カスタムポートでの Satellite へのアクセスを確保するように SELinux を設定する手順
SELinux を使用すると、Red Hat Satellite 6 と Red Hat Subscription Manager のアクセスが、特定ポートに限定されます。HTTP キャッシュの TCP ポートは、8080、8118、8123、および 10001 ~ 10010 になります。SELinux のタイプ http_cache_port_t
がないポートを使用する場合は、以下の手順を実行します。
手順
Satellite で以下のコマンドを実行して、SELinux で HTTP キャッシュに許可されているポートを確認します。
# semanage port -l | grep http_cache http_cache_port_t tcp 8080, 8118, 8123, 10001-10010 [output truncated]
以下のコマンドを実行して、SELinux が HTTP キャッシュにポート (たとえば、8088) を許可するよう設定します。
# semanage port -a -t http_cache_port_t -p tcp 8088
3.4.4. 全 Satellite HTTP 要求での HTTP プロキシーの使用
Satellite Server は、HTTP および HTTPS をブロックするファイアウォールの内側に設定する必要がある場合に、コンピュートリソースなどの外部システムとの通信に使用するプロキシーを設定してください。
プロビジョニングにコンピュートリソースを使用し、コンピュートリソースと、異なる HTTP プロキシーを併用する場合には、コンピュートリソースに設定したプロキシーではなく、Satellite 通信すべてに設定したプロキシーが優先されます。
手順
- Satellite Web UI で、管理 > 設定に移動します。
- HTTP(S) プロキシー の行で、隣接する Value 列を選択して、プロキシーの URL を入力します。
- チェックのアイコンをクリックして変更を保存します。
CLI をご利用の場合
以下のコマンドを実行します。
# hammer settings set --name=http_proxy --value=Proxy_URL
3.4.5. プロキシー化された要求を受信しないようにホストを除外する手順
Satellite HTTP または HTTPS 要求に HTTP プロキシーを使用する場合は、プロキシー経由で通信しないように、特定のホストを除外できます。
手順
- Satellite Web UI で、管理 > 設定に移動します。
- ホスト以外の HTTP(S) プロキシー の行で、隣接する Value の列を選択して、プロキシー要求から除外する、1 つまたは複数のホストの名前を入力します。
- チェックのアイコンをクリックして変更を保存します。
CLI をご利用の場合
以下のコマンドを実行します。
# hammer settings set --name=http_proxy_except_list --value=[hostname1.hostname2...]
3.4.6. HTTP プロキシーのリセット
現在の HTTP プロキシーの設定をリセットする場合には、デフォルトの HTTP プロキシー 設定を解除します。
手順
- 管理 > 設定 に移動して、コンテンツ タブをクリックします。
- デフォルトの HTTP プロキシー 設定を グローバルデフォルトなし に設定します。
CLI をご利用の場合
content_default_http_proxy
の設定を空の文字列に設定します。# hammer settings set --name=content_default_http_proxy --value=""
3.5. 管理対象ホスト上での電源管理の有効化
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.6. 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 の詳細の追加
Multihomed DHCP を使用する場合は、ネットワークインターフェースファイルの更新が必要です。
/etc/systemd/system/dhcpd.service.d/interfaces.conf
ファイルで、以下の行を編集して Multihomed DHCP を追加します。[Service] ExecStart=/usr/sbin/dhcpd -f -cf /etc/dhcp/dhcpd.conf -user dhcpd -group dhcpd --no-pid eth0 eth1 eth2
このファイルがまだ存在しない場合は作成します。
以下のコマンドを入力して、デーモンのリロードを実行します。
# systemctl --system daemon-reload
以下のコマンドを入力して、dhcpd サービスを再起動します。
# systemctl restart dhcpd.service
前提条件
以下の情報が利用可能であることを確認する。
- DHCP IP アドレス範囲
- DHCP ゲートウェイ IP アドレス
- DHCP ネームサーバー IP アドレス
- DNS 情報
- TFTP サーバー名
- ネットワークの変更の場合は、可能な限り、IP アドレスの代わりに FQDN を使用します。
- ネットワーク管理者に連絡して正しい設定が行われていることを確認します。
手順
お使いの環境に適したオプションで、
satellite-installer
コマンドを入力してください。以下の例では、完全なプロビジョニングサービスの設定を示しています。# satellite-installer --scenario satellite \ --foreman-proxy-dns true \ --foreman-proxy-dns-managed true \ --foreman-proxy-dns-interface eth0 \ --foreman-proxy-dns-zone example.com \ --foreman-proxy-dns-reverse 2.0.192.in-addr.arpa \ --foreman-proxy-dhcp true \ --foreman-proxy-dhcp-managed true \ --foreman-proxy-dhcp-interface eth0 \ --foreman-proxy-dhcp-range "192.0.2.100 192.0.2.150" \ --foreman-proxy-dhcp-gateway 192.0.2.1 \ --foreman-proxy-dhcp-nameservers 192.0.2.2 \ --foreman-proxy-tftp true \ --foreman-proxy-tftp-managed true \ --foreman-proxy-tftp-servername 192.0.2.3
プロンプトに表示される satellite-installer
コマンドの進行状況を監視できます。/var/log/foreman-installer/satellite.log
でログを表示できます。/etc/foreman-installer/scenarios.d/satellite-answers.yaml
ファイルで、使用されている設定 (initial_admin_password
パラメーターなど) を表示できます。
DHCP、DNS および TFTP サービスの情報は、『プロビジョニングガイド』の「ネットワークサービスの設定」セクションを参照してください。
3.7. 管理対象外ネットワークに対して 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 を選択します。
- インフラストラクチャー > ドメイン に移動し、ドメインを選択します。
- DNS Capsule フィールドの内容を消去します。
オプション: サードパーティーが提供する DHCP サービスを使用する場合は、以下のオプションを渡すように DHCP サーバーを設定します。
Option 66: IP address of Satellite or Capsule Option 67: /pxelinux.0
DHCP オプションの詳細は「RFC 2132」を参照してください。
Satellite 6 は、Capsule が該当するサブネットとドメインに設定されていない場合にオーケストレーションを実行しません。Capsule の関連付けを有効または無効にした場合に、想定のレコードと設定ファイルが存在しないと、既存のホストのオーケストレーションコマンドが失敗することがあります。オーケストレーションを有効にするために Capsule を関連付ける場合は、今後、ホストの削除に失敗しないように、既存の Satellite ホストに対して必要な DHCP レコード、DNS レコード、TFTP ファイルが所定の場所にあることを確認します。
3.8. Satellite Server での送信メールの設定
Satellite Server からメールメッセージを送信するには、SMTP サーバーまたは sendmail
コマンドのいずれかを使用できます。
前提条件
前回のリリースからアップグレードしている場合は、設定ファイル
/usr/share/foreman/config/email.yaml
の名前を変更するか削除して、httpd
サービスを再起動しておく。以下に例を示します。# mv /usr/share/foreman/config/email.yaml \ /usr/share/foreman/config/email.yaml-backup # systemctl restart httpd
手順
- Satellite 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 の引数
-i -t -G
Sendmail の引数
では、sendmail
コマンドに渡すオプションを指定します。デフォルト値は、-i -t
です。詳細は、sendmail 1 の man ページを参照してください。
TLS 認証を使用する SMTP サーバーで電子メールを送信する場合は、以下のいずれかの手順を実行してください。
SMTP サーバーの CA 証明書を信頼済みとしてマークします。このようにマークするには、Satellite Server で以下のコマンドを実行します。
# cp mailca.crt /etc/pki/ca-trust/source/anchors/ # update-ca-trust enable # update-ca-trust
ここで、
mailca.crt
は SMTP サーバーの CA 証明書です。-
別の方法では、Web UI の
SMTP enable StartTLS auto
オプションをNo
に設定します。
-
Test email をクリックしてユーザーのメールアドレスにテストメッセージを送信し、設定が機能していることを確認します。メッセージの送信に失敗する場合は、Web UI でエラーが表示されます。詳細については、
/var/log/foreman/production.log
のログを確認してください。
個別ユーザーまたはユーザーグループに対する電子メール通知の設定は、『Red Hat Satellite の管理』の「電子メール通知の設定」を参照してください。
3.9. カスタムの SSL 証明書を使用した Satellite Server の設定
デフォルトでは、Red Hat Satellite 6 は自己署名の SSL 証明書を使用して、Satellite Server、外部の Capsule Server および全ホストの間で暗号化した通信ができるようにします。Satellite 自己署名の証明書を使用できない場合には、外部の証明局で署名した SSL 証明書を使用するように Satellite Server を設定できます。
カスタムの証明書で Satellite Server を設定するには、以下の手順を実行します。
- 「Satellite Server 向けのカスタム SSL 証明書の作成」
- 「カスタムの SSL 証明書の Satellite Server へのデプロイ」
- 「ホストへの カスタム SSL 証明書のデプロイ」
- Satellite Server に外部の Capsule Server を登録した場合には、カスタムの SSL 証明書を使用して設定する必要があります。詳細は、『Capsule Server のインストール』の「カスタム SSL 証明書を使用した Capsule Server の設定」を参照してください。
3.9.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 の証明書を署名する必要がある。
手順
カスタムの SSL 証明書を作成するには、以下の手順を実行します。
ソースの証明書ファイルすべてを保存するには、
root
ユーザーだけがアクセスできるディレクトリーを作成します。# mkdir /root/satellite_cert
Certificate Signing Request (CSR) を署名する秘密鍵を作成します。
秘密鍵は暗号化する必要がないことに注意してください。パスワードで保護された秘密鍵を使用する場合は、秘密鍵のパスワードを削除します。
この Satellite Server の秘密鍵がすでにある場合は、この手順を省略します。
# openssl genrsa -out
/root/satellite_cert/satellite_cert_key.pem
4096証明書署名要求 (CSR) 用の
/root/satellite_cert/openssl.cnf
設定ファイルを作成して、以下のコンテンツを追加します。[ req ] req_extensions = v3_req distinguished_name = req_distinguished_name x509_extensions = usr_cert prompt = no [ req_distinguished_name ] 1 C = Country Name (2 letter code) ST = State or Province Name (full name) L = Locality Name (eg, city) O = Organization Name (eg, company) OU = The division of your organization handling the certificate CN = satellite.example.com 2 [ v3_req ] basicConstraints = CA:FALSE keyUsage = digitalSignature, nonRepudiation, keyEncipherment, dataEncipherment extendedKeyUsage = serverAuth, clientAuth, codeSigning, emailProtection subjectAltName = @alt_names [ usr_cert ] basicConstraints=CA:FALSE nsCertType = client, server, email keyUsage = nonRepudiation, digitalSignature, keyEncipherment extendedKeyUsage = serverAuth, clientAuth, codeSigning, emailProtection nsComment = "OpenSSL Generated Certificate" subjectKeyIdentifier=hash authorityKeyIdentifier=keyid,issuer [ alt_names ] DNS.1 = satellite.example.com 3
- 1
[ req_distinguished_name ]
セクションに、貴社の組織の情報を入力します。- 2
- 証明書のコモンネーム
CN
を、Satellite Server の完全修飾ドメイン名 (FQDN) と一致するように設定します。FQDN を確認するには、対象の Satellite Server でhostname -f
コマンドを入力します。これは、katello-certs-check
コマンドが証明書を正しく検証することを確認するために必要です。 - 3
- サブジェクトの別名 (SAN: Subject Alternative Name)
DNS.1
を、お使いのサーバーの完全修飾ドメイン名 (FQDN) に一致する用に設定します。
証明書署名要求 (CSR) を作成します。
# openssl req -new \ -key /root/satellite_cert/satellite_cert_key.pem \ 1 -config /root/satellite_cert/openssl.cnf \ 2 -out /root/satellite_cert/satellite_cert_csr.pem 3
証明局に証明書署名要求を送信します。同じ証明局が Satellite Server と Capsule Server の証明書に署名する必要があります。
要求を送信する場合は、証明書の有効期限を指定してください。証明書要求を送信する方法は異なるため、推奨の方法について認証局にお問い合わせください。要求への応答で、認証局バンドルと署名済み証明書を別々のファイルで受け取ることになります。
3.9.2. カスタムの SSL 証明書の Satellite Server へのデプロイ
この手順を使用して、Satellite Server が、認証局で署名されたカスタムの SSL 署名書を使用するように設定します。katello-certs-check
コマンドは、入力した証明書ファイルを検証して、Satellite Server にカスタムの SSL 証明書をデプロイするのに必要なコマンドを返します。
手順
Satellite Server にカスタムの証明書をデプロイするには、以下の手順を実行します。
カスタムの SSL 証明書入力ファイルを検証します。
katello-certs-check
コマンドが正しく実行されるには、証明書のコモンネーム (CN) が Satellite Server の FQDN と一致する必要があることに注意してください。# katello-certs-check \ -c /root/satellite_cert/satellite_cert.pem \ 1 -k /root/satellite_cert/satellite_cert_key.pem \ 2 -b /root/satellite_cert/ca_cert_bundle.pem 3
このコマンドに成功すると、2 つの
satellite-installer
コマンドが返されます。1 つは、Satellite Server に証明書をデプロイするのに使用する必要があります。katello-certs-check
の出力例Validation succeeded. To install the Red Hat Satellite Server with the custom certificates, run: satellite-installer --scenario satellite \ --certs-server-cert "/root/satellite_cert/satellite_cert.pem" \ --certs-server-key "/root/satellite_cert/satellite_cert_key.pem" \ --certs-server-ca-cert "/root/satellite_cert/ca_cert_bundle.pem" To update the certificates on a currently running Red Hat Satellite installation, run: satellite-installer --scenario satellite \ --certs-server-cert "/root/satellite_cert/satellite_cert.pem" \ --certs-server-key "/root/satellite_cert/satellite_cert_key.pem" \ --certs-server-ca-cert "/root/satellite_cert/ca_cert_bundle.pem" \ --certs-update-server --certs-update-server-ca
要件に合わせて
katello-certs-check
コマンドの出力から、satellite-installer
コマンドを入力し、カスタムの SSL 証明書で新しい Satellite をインストールするか、現在実行中の Satellite の証明書を更新します。実行するコマンドが不明な場合には、
/etc/foreman-installer/scenarios.d/.installed
が存在するかをチェックし、Satellite がインストールされていることが確認できます。ファイルが存在する場合には、2 番目のsatellite-installer
コマンドを実行すると証明書が更新されます。重要証明書のデプロイ後に、証明書のアーカイブファイルを削除しないでください。Satellite Server のアップグレード時などに必要です。
-
Satellite Server にネットワークでアクセスできるコンピューターで、この URL (
https://satellite.example.com
) に移動します。 - ブラウザーで、証明書の詳細を表示して、デプロイした証明書を確認します。
3.9.3. ホストへの カスタム SSL 証明書のデプロイ
Satellite Server がカスタムの SSL 証明書を使用する用に設定した後に、Satellite Server に登録されている全ホストに katello-ca-consumer
パッケージもインストールする必要があります。
手順
各ホストに
katello-ca-consumer
パッケージをインストールします。# yum localinstall \ http://satellite.example.com/pub/katello-ca-consumer-latest.noarch.rpm
3.10. Satellite での外部データベースの使用
Red Hat Satellite のインストールプロセスの一部として、satellite-installer コマンドは MongoDB および PostgreSQL のデータベースを Satellite と同じサーバー上にインストールします。Satellite のデプロイメントによっては、デフォルトのローカルにあるデータベースの代わりに外部データベースを使用すると、サーバーの負荷を軽減される場合があります。要件に合わせて、MongoDB または PostgreSQL データベースまたは両方の外部データベースを使用できます。
Red Hat では、外部データベースのメンテナンスのサポートやそのためのツールは提供していません。これにはバックアップ、アップグレード、データベースのチューニングが含まれます。外部データベースをサポートし、管理する自社のデータベース管理者が必要です。
外部データベースとして MongoDB を使用する際の注意点 および 外部データベースとして PostgreSQL を使用する際の注意点 を参照して、Satellite デプロイメントに外部データベースを使用するかを決定します。
Satellite 用に外部データベースを作成、使用するには、以下の手順を実行します。
- 「外部データベース用のホストの準備」。外部データベースをホストするように Red Hat Enterprise Linux 7 サーバーを準備します。
-
「MongoDB のインストール」。
pulp_database
を所有するpulp
ユーザーで MongoDB を準備します。 - 「PostgreSQL のインストール」。Satellite および Candlepin のデータベースおよびそれらを所有する専用ユーザーで PostgreSQL を準備します。
-
「外部データベースを使用するための Satellite の設定」。新規データベースを参照するように
satellite-installer
のパラメーターを編集し、satellite-installer
を実行します。
3.10.1. 外部データベースとして MongoDB を使用する際の注意点
Pulp は MongoDB データベースを使用します。MongoDB を外部データベースとして使用する場合は、以下の情報を参照してお使いの Satellite 設定にこのオプションが適しているかどうかを判別してください。Satellite は、MongoDB バージョン 3.4 をサポートします。
外部 MongoDB の利点
- Satellite 上の空きメモリーと空き CPU が増えます。
- Satellite 操作にマイナスの影響をもたらすことなく MongoDB サーバーのシステムを調整する柔軟性が得られます。
外部 MongoDB のマイナス点
- デプロイメントの複雑性が増し、問題解決がより困難になります。
- 外部 MongoDB サーバーの場合は、パッチおよびメンテナンス対象に新たなシステムが加わることになります。
- Satellite または Mongo データベースサーバーのいずれかにハードウェアまたはストレージ障害が発生すると、Satellite が機能しなくなります。
- Satellite と外部データベースサーバーの間でレイテンシーが発生すると、パフォーマンスに影響が出る可能性があります。
FIPS 関連の制限
- FIPS モードの Satellite で外部 MongoDB を使用することはできません。
3.10.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.10.3. 外部データベース用のホストの準備
新しくプロビジョニングされたシステムに最新の Red Hat Enterprise Linux 7 サーバーをインストールして、外部データベースをホストします。
Red Hat Software Collections および Red Hat Enterprise Linux のサブスクリプションでは、外部データベースと Satellite を併用する場合に、正しいサービスレベルアグリーメントが提供されません。外部データベースに使用するベースオペレーティングシステムに、Satellite サブスクリプションもアタッチする必要があります。
前提条件
- Red Hat Enterprise Linux 7 サーバーは Satellite の「ストレージ要件」を満たしていること。
手順
- 「Satellite Infrastructure サブスクリプションのアタッチ」の説明を使用して、サーバーに Satellite サブスクリプションをアタッチします。
すべてのリポジトリーを無効にし、以下のリポジトリーのみを有効にします。
# subscription-manager repos --disable '*' # subscription-manager repos --enable=rhel-server-rhscl-7-rpms \ --enable=rhel-7-server-rpms
3.10.4. MongoDB のインストール
インストール可能な MongoDB は、内部データベースのインストール中に satellite-installer
ツールでインストールされたものと同じバージョンの MongoDB のみになります。MongoDB はサポート対象のバージョンであれば、Red Hat Software Collections (RHSCL) リポジトリーからまたは外部ソースからインストールすることが可能です。Satellite は MongoDB バージョン 3.4 をサポートしています。
手順
MongoDB をインストールするには、以下のコマンドを入力します。
# yum install rh-mongodb34 rh-mongodb34-syspaths
rh-mongodb34 サービスを起動して有効にします。
# systemctl start rh-mongodb34-mongod # systemctl enable rh-mongodb34-mongod
pulp_database データベース用に、MongoDB に Pulp ユーザーを作成します。
# mongo pulp_database \ --eval "db.createUser({user:'pulp',pwd:'pulp_password',roles:[{role:'dbOwner', db:'pulp_database'},{ role: 'readWrite', db: 'pulp_database'}]})"
/etc/opt/rh/rh-mongodb34/mongod.conf
ファイルでバインド IP を指定します。bindIp: your_mongodb_server_bind_IP,::1
/etc/opt/rh/rh-mongodb34/mongod.conf
ファイルを編集してsecurity
セクションの認証を有効にします。security: authorization: enabled
rh-mongodb34-mongod
サービスを再起動します。# systemctl restart rh-mongodb34-mongod
MongoDB にポート 27017 を開きます。
# firewall-cmd --add-port=27017/tcp # firewall-cmd --runtime-to-permanent
Satellite Server からデータベースにアクセスできることをテストします。接続が成功すると、コマンドから
1
が返ります。# scl enable rh-mongodb34 " mongo --host mongo.example.com \ -u pulp -p pulp_password --port 27017 --eval 'ping:1' pulp_database"
3.10.5. PostgreSQL のインストール
インストール可能な PostgreSQL は、内部データベースのインストール中に satellite-installer
ツールでインストールされたものと同じバージョンの PostgreSQL のみになります。PostgreSQL はサポート対象のバージョンであれば、Red Hat Enteprise Linux Server 7 リポジトリーからまたは外部ソースからインストールすることが可能です。Satellite は PostgreSQL バージョン 9.2 をサポートしています。
手順
PostgreSQL をインストールするには、以下のコマンドを入力します。
# yum install postgresql-server
PostgreSQL サービスを初期化して起動し、有効にするには、以下のコマンドを実行します。
# postgresql-setup initdb # systemctl start postgresql # systemctl enable postgresql
/var/lib/pgsql/data/postgresql.conf
ファイルを編集します。# vi /var/lib/pgsql/data/postgresql.conf
#
を削除して、着信接続をリッスンするようにします。listen_addresses = '*'
/var/lib/pgsql/data/pg_hba.conf
ファイルを編集します。# vi /var/lib/pgsql/data/pg_hba.conf
以下の行をファイルに追加します。
host all all Satellite_ip/24 md5
PostgreSQL サービスを再起動して、変更を適用します。
# systemctl restart postgresql
外部 PostgreSQL サーバーで postgresql ポートを開きます。
# firewall-cmd --add-service=postgresql # firewall-cmd --runtime-to-permanent
postgres
ユーザーに切り替え、PostgreSQL クライアントを起動します。$ su - postgres -c psql
Satellite と Candlepin 用にそれぞれ、データベース、および専用ロールを作成します。
CREATE USER "foreman" WITH PASSWORD 'Foreman_Password'; CREATE USER "candlepin" WITH PASSWORD 'Candlepin_Password'; CREATE DATABASE foreman OWNER foreman; CREATE DATABASE candlepin OWNER candlepin;
postgres
ユーザーをログアウトします。# \q
Satellite Server から、データベースにアクセスできることをテストします。接続に成功した場合には、コマンドは
1
を返します。# PGPASSWORD='Foreman_Password' psql -h postgres.example.com -p 5432 -U foreman -d foreman -c "SELECT 1 as ping" # PGPASSWORD='Candlepin_Password' psql -h postgres.example.com -p 5432 -U candlepin -d candlepin -c "SELECT 1 as ping"
3.10.6. 外部データベースを使用するための Satellite の設定
satellite-installer
コマンドを使用して Satellite が外部の MongoDB と PostgreSQL データベースに接続するように設定します。
前提条件
- Red Hat Enterprise Linux サーバーに MongoDB および PostgreSQL データベースをインストールし、設定しました。
手順
Satellite の外部データベースを設定するには以下のコマンドを入力します。
satellite-installer --scenario satellite \ --foreman-db-host postgres.example.com \ --foreman-db-password Foreman_Password \ --foreman-db-database foreman \ --katello-candlepin-db-host postgres.example.com \ --katello-candlepin-db-name candlepin \ --katello-candlepin-db-password Candlepin_Password \ --katello-candlepin-manage-db false \ --katello-pulp-db-username pulp \ --katello-pulp-db-password pulp_password \ --katello-pulp-db-seeds mongo.example.com:27017 \ --katello-pulp-db-name pulp_database
データベースのステータスを確認します。
PostgreSQL の場合は、以下のコマンドを実行します。
# satellite-maintain service status --only postgresql
MongoDB の場合は、以下のコマンドを実行します。
# satellite-maintain service status --only rh-mongodb34-mongod
3.11. mongod へのアクセスの制限
データ損失の危険を減らすために、MongoDB データベースデーモン mongod
へのアクセスは apache
ユーザーと root
ユーザーにだけ設定する必要があります。
ご使用の Satellite Server の mongod
へのアクセスを制限するには、ファイアウォール構成を更新する必要があります。
手順
以下のコマンドを入力して、ファイアウォール構成を更新します。
# firewall-cmd --direct --add-rule ipv4 filter OUTPUT 0 -o lo -p \ tcp -m tcp --dport 27017 -m owner --uid-owner apache -j ACCEPT \ && firewall-cmd --direct --add-rule ipv6 filter OUTPUT 0 -o lo -p \ tcp -m tcp --dport 27017 -m owner --uid-owner apache -j ACCEPT \ && firewall-cmd --direct --add-rule ipv4 filter OUTPUT 0 -o lo -p \ tcp -m tcp --dport 27017 -m owner --uid-owner root -j ACCEPT \ && firewall-cmd --direct --add-rule ipv6 filter OUTPUT 0 -o lo -p \ tcp -m tcp --dport 27017 -m owner --uid-owner root -j ACCEPT \ && firewall-cmd --direct --add-rule ipv4 filter OUTPUT 1 -o lo -p \ tcp -m tcp --dport 27017 -j DROP \ && firewall-cmd --direct --add-rule ipv6 filter OUTPUT 1 -o lo -p \ tcp -m tcp --dport 27017 -j DROP \ && firewall-cmd --direct --add-rule ipv4 filter OUTPUT 0 -o lo -p \ tcp -m tcp --dport 28017 -m owner --uid-owner apache -j ACCEPT \ && firewall-cmd --direct --add-rule ipv6 filter OUTPUT 0 -o lo -p \ tcp -m tcp --dport 28017 -m owner --uid-owner apache -j ACCEPT \ && firewall-cmd --direct --add-rule ipv4 filter OUTPUT 0 -o lo -p \ tcp -m tcp --dport 28017 -m owner --uid-owner root -j ACCEPT \ && firewall-cmd --direct --add-rule ipv6 filter OUTPUT 0 -o lo -p \ tcp -m tcp --dport 28017 -m owner --uid-owner root -j ACCEPT \ && firewall-cmd --direct --add-rule ipv4 filter OUTPUT 1 -o lo -p \ tcp -m tcp --dport 28017 -j DROP \ && firewall-cmd --direct --add-rule ipv6 filter OUTPUT 1 -o lo -p \ tcp -m tcp --dport 28017 -j DROP
変更を永続化します。
# firewall-cmd --runtime-to-permanent
3.12. 定義済みプロファイルを使用した Satellite Server の調整
Satellite のデプロイメントに 5000 台を超えるホストが含まれる場合には、事前定義済みのチューニングプロファイルを使用して Satellite Server のパフォーマンスを向上できます。
Satellite が管理するホスト数や、利用可能なハードウェアリソースにより、プロファイルから 1 つ選択してください。チューニングプロファイルは、/usr/share/foreman-installer/config/foreman.hiera/tuning/sizes
ディレクトリーにあります。
- 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 デプロイメントのチューニングプロファイルを設定するには、
--tuning
オプションを指定してsatellite-installer
コマンドを入力します。たとえば、medium チューニングプロファイル設定を適用するには、以下のコマンドを入力します。# satellite-installer --tuning medium