第2章 Satellite Server のインストール

オンラインネットワークから Satellite Server をインストールする場合には、Red Hat コンテンツ配信ネットワークから直接パッケージとアップデートを取得できます。

注記

Satellite Server に自己登録することはできません。

以下の手順を使用して、Satellite Server のインストール、初期設定の実行、サブスクリプションマニフェストのインポートを行います。詳細は、『コンテンツ管理ガイド』の「サブスクリプションの管理」を参照してください。

Satellite 6 インストールスクリプトは Puppet をベースとしていることに留意してください。つまり、インストールスクリプトを複数回実行すると、手動での設定変更が上書きされることがあります。この問題を回避し、適用する変更を判断するには、インストールスクリプトの実行時に --noop 引数を使用します。この引数では、実際の変更は行われず、変更予定の内容は /var/log/foreman-installer.log に書き込まれます。

ファイルは常にバックアップされるため、不要な変更は復元することができます。たとえば、foreman-installer ログには、Filebucket に関する以下のようなエントリーが示されます。

/Stage[main]/Dhcp/File[/etc/dhcp/dhcpd.conf]: Filebucketed /etc/dhcp/dhcpd.conf to puppet with sum 622d9820b8e764ab124367c68f5fa3a1

以前のファイルは以下のように復元できます。

# puppet filebucket -l \
restore /etc/dhcp/dhcpd.conf 622d9820b8e764ab124367c68f5fa3a1

2.1. Red Hat サブスクリプション管理への登録

Red Hat サブスクリプション管理にホストを登録すると、ユーザーが利用可能なサブスクリプションにホストを登録して、サブスクリプションのコンテンツを使用できるようになります。これには、Red Hat Enterprise Linux、Red Hat Software Collection (RHSCL)、Red Hat Satellite などのコンテンツが含まれます。

手順

  • Red Hat コンテンツ配信ネットワークにシステムを登録します。プロンプトが表示されたら、カスタマーポータルのユーザー名とパスワードを入力します。

    # subscription-manager register

    このコマンドを実行すると、以下のような出力が表示されます。

    # subscription-manager register
    Username: user_name
    Password:
    The system has been registered with ID: 541084ff2-44cab-4eb1-9fa1-7683431bcf9a

2.2. Satellite Infrastructure サブスクリプションのアタッチ

Satellite Server の登録後に、サブスクリプションプール ID を特定して、利用可能なサブスクリプションを割り当てる必要があります。Red Hat Satellite Infrastructure のサブスクリプションを使用すると、Red Hat Satellite、Red Hat Enterprise Linux および Red Hat Software Collections (RHSCL) のコンテンツにアクセスできるようになります。必要なサブスクリプションはこれだけです。

Red Hat Satellite Infrastructure は、Smart Management を提供するサブスクリプションすべてに含まれます。詳細は、Red Hat ナレッジベースソリューション「Satellite Infrastructure Subscriptions MCT3718 MCT3719」を参照してください。

サブスクリプションがシステムに割り当てられていない場合には、利用可能として分類されます。利用可能な Satellite サブスクリプションを見つけることができない場合は、Red Hat ナレッジベースソリューション「How do I figure out which subscriptions have been consumed by clients registered under Red Hat Subscription Manager?」を参照してスクリプトを実行し、サブスクリプションが別のシステムで使用されているかどうかを確認します。

手順

  1. Satellite Infrastructure サブスクリプションのプール ID を特定します。

    # subscription-manager list --all --available --matches 'Red Hat Satellite Infrastructure Subscription'

    このコマンドを実行すると、以下のような出力が表示されます。

    Subscription Name:   Red Hat Satellite Infrastructure Subscription
    Provides:            Red Hat Satellite
                          Red Hat Software Collections (for RHEL Server)
                          Red Hat CodeReady Linux Builder for x86_64
                          Red Hat Ansible Engine
                          Red Hat Enterprise Linux Load Balancer (for RHEL Server)
                          Red Hat
                          Red Hat Software Collections (for RHEL Server)
                          Red Hat Enterprise Linux Server
                          Red Hat Satellite Capsule
                          Red Hat Enterprise Linux for x86_64
                          Red Hat Enterprise Linux High Availability for x86_64
                          Red Hat Satellite
                          Red Hat Satellite 5 Managed DB
                          Red Hat Satellite 6
                          Red Hat Discovery
    SKU:                 MCT3719
    Contract:            11878983
    Pool ID:             8a85f99968b92c3701694ee998cf03b8
    Provides Management: No
    Available:           1
    Suggested:           1
    Service Level:       Premium
    Service Type:        L1-L3
    Subscription Type:   Standard
    Ends:                03/04/2020
    System Type:         Physical
  2. サブスクリプションプール IDを書き留めます。上記の例と、実際のサブスクリプションプール ID は異なります。
  3. Satellite Server の実行先のベースオペレーティングシステムに、Satellite Infrastructure サブスクリプションを割り当てます。

    # subscription-manager attach --pool=pool_id

    このコマンドを実行すると、以下のような出力が表示されます。

    サブスクリプションを正常に割り当てます: Red Hat Satellite Infrastructure サブスクリプション
  4. オプション: Satellite Infrastructure サブスクリプションが割り当てられていることを確認します。

    # subscription-manager list --consumed

2.3. リポジトリーの設定

この手順を使用して、Satellite Server のインストールに必要なリポジトリーを有効にします。

手順

  1. すべてのリポジトリーを無効にします。

    # subscription-manager repos --disable "*"
  2. 次のリポジトリーを有効にします。

    # subscription-manager repos --enable=rhel-7-server-rpms \
    --enable=rhel-7-server-satellite-6.7-rpms \
    --enable=rhel-7-server-satellite-maintenance-6-rpms \
    --enable=rhel-server-rhscl-7-rpms \
    --enable=rhel-7-server-ansible-2.8-rpms
    注記

    Red Hat Virtualization がホストする仮想マシンとして、Satellite Server をインストールする場合は、Red Hat Common リポジトリーを有効にして、Red Hat Virtualization ゲストエージェントとドライバーもインストールする必要があります。詳細は『仮想マシン管理ガイド』の「ゲストエージェントおよびドライバーのインストール」を参照してください。

  3. メタデータを消去します。

    # yum clean all
  4. オプション: 必要なリポジトリーが有効になっていることを確認します。

    # yum repolist enabled

2.4. Satellite Server パッケージのインストール

Satellite Server パッケージをインストールする前に、すべてのパッケージを更新する必要があります。

手順

  1. すべてのパッケージを更新します。

    # yum update
  2. Satellite Server パッケージをインストールします。

    # yum install satellite

2.5. chronyd とシステムクロックの同期

時間のずれを最小限に抑えるには、Satellite Server をインストールするベースオペレーティングシステムのシステムクロックを Network Time Protocol (NTP) サーバーと同期する必要があります。ベースオペレーティングシステムのクロックが正しく設定されていない場合には、証明書の検証に失敗する可能性があります。

chrony スイートに関する詳細は、『Red Hat Enterprise Linux 7 システム管理者ガイド』の「chrony スイートを使用した NTP の設定」を参照してください。

手順

  1. chrony パッケージをインストールします。

    # yum install chrony
  2. chronyd サービスを起動して、有効にします。

    # systemctl start chronyd
    # systemctl enable 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?」を参照してください。

手順

  1. sos パッケージをインストールします。

    # yum install sos

2.7. Satellite Server の設定

satellite-installer インストールスクリプトを使用して Satellite Server をインストールします。以下の手法から 1 つ選択します。

  • 「Satellite の手動設定」: 1 つ以上のコマンドオプションが含まれるインストールスクリプトを実行します。コマンドオプションは、対応するデフォルトの初期設定オプションを上書きし、Satellite 応答ファイルに記録されます。必要なオプションを設定するために、スクリプトは何回でも実行することができます。
  • 「応答ファイルを使用した Satellite の自動設定」: この方法は、インストールスクリプトの実行時に応答ファイルを使用して設定プロセスを自動化することで実行します。デフォルトの Satellite 応答ファイルは、/etc/foreman-installer/scenarios.d/satellite-answers.yaml です。使用する応答ファイルは、/etc/foreman-installer/scenarios.d/satellite.yaml 設定ファイル内の answer_file ディレクティブで設定します。
注記

Satellite インストーラーの実行時に使用するオプションによっては、設定が完了するのに数分かかることがあります。管理者は、両方の方法でこれまでに使用されたオプションを応答ファイルで確認できます。

2.7.1. Satellite の手動設定

初期設定では、組織、場所、ユーザー名、およびパスワードが作成されます。初期設定後に、必要に応じて追加の組織と場所を作成できます。初期設定では、MongoDB および PostgreSQL データベースも同じサーバーにインストールします。

インストールプロセスの完了には、数十分かかることがあります。システムにリモートで接続する場合は、リモートシステムから切断された場合にインストールの進捗を確認できるよう、通信セッションの一時中断または再接続を許可できる screen または tmux などのユーティリティーを使用してください。Red Hat ナレッジベースの記事「How to use the screen command」には screen のインストールについて記載されています。詳細はscreen の man ページを参照してください。インストールコマンドを実行しているシェルへの接続が切断された場合は、/var/log/foreman-installer/satellite.log のログを参照してプロセスが正常に完了したかどうかを確認します。

手動設定に関する考慮事項

  • satellite-installer --scenario satellite --help コマンドを使用して、利用可能なオプションとすべてのデフォルト値を表示します。値を指定しない場合は、デフォルト値が使用されます。
  • --foreman-initial-organization オプションに、意味を持つ値を指定します。たとえば、会社名を指定できます。値に一致する内部ラベルが作成されますが、このラベルは後で変更できません。値を指定しない場合は、ラベルが Default_OrganizationDefault Organization という名前の組織が作成されます。組織名は変更できますが、ラベルは変更できません。
  • デフォルトでは、インストーラーが設定するすべての設定ファイルが Puppet によって管理されます。satellite-installer を実行すると、Puppet が管理するファイルに手動で加えられた変更が初期値で上書きされます。Satellite Server は、デフォルトでは、サービスとして実行している Puppet エージェントを使用してインストールされます。必要に応じて、--puppet-runmode=none オプションを使用して、Satellite Server で Puppet エージェントを無効にできます。
  • DNS ファイルと DHCP ファイルを手動で管理する場合には、--foreman-proxy-dns-managed=false オプションと --foreman-proxy-dhcp-managed=false オプションを使用して、各サービスに関連するファイルが Puppet で管理されないようにします。他のサービスにカスタム設定を適用する方法は「付録A Red Hat Satellite へのカスタム設定の適用」を参照してください。

手順

  1. 使用する追加オプションを指定し、以下のコマンドを入力します。

    # satellite-installer --scenario satellite \
    --foreman-initial-organization "initial_organization_name" \
    --foreman-initial-location "initial_location_name" \
    --foreman-initial-admin-username admin_user_name \
    --foreman-initial-admin-password admin_password

    このスクリプトは、進捗を表示し、/var/log/foreman-installer/satellite.log にログを記録します。

2.7.2. 応答ファイルを使用した Satellite の自動設定

応答ファイルを使用すると、カスタマイズされたオプションでインストールを自動化できます。最初の応答ファイルには、部分的に情報が入力されます。応答ファイルには、satellite-installer スクリプトの初回実行後に、インストール向けの標準的なパラメーター値が入力されます。いつでも Satellite Server の設定は変更できます。

ネットワークの変更の場合は、可能な限り、IP アドレスの代わりに FQDN を使用する必要があります。

手順

  1. デフォルトの応答ファイル /etc/foreman-installer/scenarios.d/satellite-answers.yaml をローカルファイルシステムの場所にコピーします。

    # cp /etc/foreman-installer/scenarios.d/satellite-answers.yaml \
    /etc/foreman-installer/scenarios.d/my-answer-file.yaml
  2. 設定可能なすべてのオプションを表示するには、satellite-installer --scenario satellite --help コマンドを実行します。
  3. 応答ファイルのコピーを開き、ご使用の環境に適した値を編集し、ファイルを保存します。
  4. /etc/foreman-installer/scenarios.d/satellite.yaml ファイルを開き、カスタム応答ファイルを参照する応答ファイルエントリーを編集します。

    :answer_file: /etc/foreman-installer/scenarios.d/my-answer-file.yaml
  5. satellite-installer スクリプトを実行します。

    # satellite-installer --scenario satellite

2.8. Satellite Server へのサブスクリプションマニフェストのインポート

以下の手順を使用して、サブスクリプションマニフェストを Satellite Server にインポートします。

前提条件

  • カスタマーポータルから、サブスクリプションマニフェストファイルをエクスポートしておくこと。詳細は、『Red Hat Subscription Management の使用』ガイドの「マニフェストの使用」を参照してください。

手順

  1. Satellite Web UI で、コンテキストが、使用する組織に設定されていることを確認します。
  2. コンテンツ > サブスクリプション に移動して、マニフェストの管理 をクリックします。
  3. マニフェストの管理ウィンドウで、参照をクリックします。
  4. サブスクリプションマニフェストファイルが保存されている場所に移動して、表示 をクリックします。マニフェストの管理ウィンドウが自動的に終了しない場合は、終了 をクリックしてサブスクリプションウィンドウに戻ります。

CLI をご利用の場合

  1. サブスクリプションマニフェストファイルをクライアントから Satellite Server にコピーします。

    $ scp ~/manifest_file.zip root@satellite.example.com:~/.
  2. Satellite Server に root ユーザーとしてログインし、サブスクリプションマニフェストファイルをインポートします。

    # hammer subscription upload \
    --file ~/manifest_file.zip \
    --organization "organization_name"