Red Hat Training

A Red Hat training course is available for Red Hat Satellite

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

本章では、Red Hat Satellite Server のインストール、初期設定、マニフェストの作成およびインストール、および追加設定の実行について説明します。

Red Hat Satellite 6.4 はデフォルトでは Puppet 5 を使用します。Puppet モジュールが Puppet 5 をサポートすることを確認して、更新します。Puppet モジュールが Puppet 5 をサポートするように更新する方法は、Satellite 6.4 の『Red Hat Satellite のアップグレードおよびアップデート』ガイドの「Puppet のアップグレード」セクションを参照してください。

注記

Red Hat Satellite 6.3 で Puppet 4 をサポートする Puppet モジュールにアップグレードが確認していることを確認します。Puppet モジュールを Puppet 4 にアップグレードする情報は、Satellite 6.3 の『Red Hat Satellite のアップグレードおよびアップデート』ガイドの「Puppet のアップグレード」のセクションを参照してください。

Satellite Server は、以下の 2 つのインストール方法があります。

オンラインインストール

Satellite Server のインストールに必要なパッケージは、Red Hat Content Delivery Network (CDN) から直接取得できます。CDN を使用すると、システムは常に最新のアップデートを受信できます。

オフラインインストール

外部のコンピューターを使用してパッケージの ISO イメージをダウンロードして、それを Satellite Server のインストール先のシステムにコピーする必要があります。非接続環境が必要な場合にのみ、ISO イメージを使用してください。ISO イメージには最新のアップデートが含まれていない場合があります。

注記

Satellite Server をそれ自体に登録することはできません。

2.1. オンラインネットワークからの Satellite Server のインストール

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

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

ファイルは常にバックアップされるため、不要な変更は復元することができます。たとえば、katello-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.1. Red Hat Subscription Management への登録

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.1.2. Satellite サブスクリプションの確認、およびホストへのサブスクリプションの割り当て

ホストの登録後に、利用可能な Satellite サブスクリプションを特定し、割り当てる必要があります。Satellite サブスクリプションは、Satellite コンテンツ、Red Hat Enterprise Linux、Red Hat Software Collections (RHSCL)、および Red Hat Satellite へのアクセスを提供します。これは、必要な唯一のサブスクリプションです。各 Red Hat サブスクリプションはプール ID で特定されます。

  1. Satellite サブスクリプションを特定します。

    # subscription-manager list --available --matches 'Red Hat Satellite'

    このコマンドは、利用可能なすべてのサブスクリプションのフィールドに対して小文字と大文字を区別しない検索を実行します (Subscription NameProvides を含み、Red Hat Satellite のすべてのインスタンスに一致)。システムにすでに割り当てられていないサブスクリプションが、利用可能として分類されます。検索文字列には、1 つ文字、またはゼロ個以上の文字にそれぞれ一致するワイルドカード ? または * を含めることもできます。ワイルドカード文字はバックスラッシュでエスケープして、リテラルの疑問符またはアスタリスクを表すことができます。

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

    出力が長すぎる場合は、lessmore などのページャーユーティリティーにパイプして、一度に 1 画面ずつ出力を確認できるようにします。

    1. 実行する subscription-manager コマンドの形式に関係なく、出力は以下のようになります。

      Subscription Name: Red Hat Satellite
      Provides:          Red Hat Satellite 6
                         Red Hat Enterprise Linux Server
                         Red Hat Satellite
                         Red Hat Enterprise Linux Load Balancer (for RHEL Server)
      SKU:               MCT0370
      Pool ID:           8a85f9874152663c0541943739717d11
      Available:         3
      Suggested:         1
      Service Level:     Premium
      Service Type:      L1-L3
      Multi-Entitlement: No
      Ends:              10/07/2014
      System Type:       Physical
  2. 後で Satellite ホストに割り当てるために、プール ID をメモします。実際に使用するプール ID は、この例で使用されているものとは異なります。
  3. Satellite Server にサブスクリプションを割り当てるには、実際のプール ID を指定して以下のコマンドを実行します。

    # subscription-manager attach --pool=pool_id

    出力は以下のようになります。

    Successfully attached a subscription for: Red Hat Satellite
  4. サブスクリプションが正しく割り当てられたことを確認するには、以下のコマンドを実行します。

    # subscription-manager list --consumed

    この出力では、以下のような内容が表示されます。

    +-------------------------------------------+
       Consumed Subscriptions
    +-------------------------------------------+
    Subscription Name: Red Hat Satellite
    Provides:          Red Hat Satellite
                       Red Hat Enterprise Linux Server
                       Red Hat Software Collections (for RHEL Server)
                       Red Hat Satellite
                       Red Hat Satellite 6
                       Red Hat Software Collections  (for RHEL Server)
                       Red Hat Satellite Capsule
                       Red Hat Enterprise Linux Load Balancer (for RHEL Server)
                       Red Hat Satellite with Embedded Oracle
                       Red Hat Satellite Capsule
                       Red Hat Enterprise Linux High Availability (for RHEL Server)
    SKU:               MCT0370
    Contract:          10293569
    Account:           5361051
    Serial:            1653856191250699363
    Pool ID:           8a85f9874152663c0541943739717d11
    Active:            True
    Quantity Used:     1
    Service Level:     Premium
    Service Type:      L1-L3
    Status Details:
    Starts:            10/08/2013
    Ends:              10/07/2014
    System Type:       Physical

2.1.3. リポジトリーの設定

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

    # subscription-manager repos --disable "*"
  2. Red Hat Satellite、Red Hat Enterprise Linux、Red Hat Software Collections の各リポジトリーを有効にします。

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

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

  3. Red Hat Subscription Manager が特定のオペレーティングシステムリリースを使用しないようにします。

    # subscription-manager release --unset
  4. Red Hat 以外の yum リポジトリーからのすべてのメタデータを消去します。

    # yum clean all
  5. リポジトリーが有効になっていることを確認します。

    # yum repolist enabled

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

Satellite Server パッケージをインストールする前に、すべてのパッケージを更新する必要があります。インストール後に、サーバー証明書の設定、ユーザー名、パスワード、デフォルトの組織および場所の設定を含む Satellite Server の初期設定を実行する必要があります。

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

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

    # yum install satellite
  3. 「初期設定の実行」 に移動して、インストーラースクリプトを実行し、Satellite Server の初期設定を行います。

2.1.5. パッケージの手動ダウンロード

パッケージを手動でダウンロードする必要がある場合は、以下の手順を実行します。

  1. Red Hat カスタマーポータル に移動し、ログインします。
  2. ダウンロード をクリックします。
  3. Red Hat Satellite を選択します。
  4. 製品とバージョンがご使用の環境に適切であることを確認します。

    • Product Variant (製品のバリアント)Red Hat Satellite に設定されている
    • Version (バージョン) が、ベースシステムとして使用する製品の最新マイナーバージョンに設定されている
    • Architecture (アーキテクチャー) が 64 ビットバージョンに設定されている
  5. Packages (パッケージ) タブで、Search (検索) ボックスに必要なパッケージの名前を入力します。
  6. 必要なパッケージの横にある Download Latest (最新版のダウンロード) をクリックします。

2.2. 初期設定の実行

本セクションでは、Red Hat Satellite Server インストール時のホストオペレーティングシステムの初期設定について説明します。時間の同期、sos パッケージのインストール、インストールオプションの指定などが含まれます。

作業を進める前に、使用している環境に適切なマニフェストまたはパッケージを確認します。マニフェストついての詳細は『Red Hat Satellite コンテンツ管理ガイド』「サブスクリプションの管理」 を参照してください。

2.2.1. 時間の同期

時刻の誤差を最小化するには、ホストオペレーティングシステムで時刻シンクロナイザーを起動し、有効にする必要があります。システムの時刻が正しくないと、証明書の検証に失敗することがあります。

NTP ベースの時刻シンクロナイザーは chronydntpd の 2 種類利用できます。chronyd 実装は、特に、頻繁に一時停止するシステムと、ネットワークから断続的に切断されるシステムに推奨されます。ntpd 実装は、chronyd でまだサポートされていないプロトコルまたはドライバーに対するサポートが必要な場合にのみ使用してください。

ntpdchronyd の違いについては、『システム管理者のガイド』「ntpd と chronyd の違い」を参照してください。

chronyd を使用した時間の同期

  1. chronyd をインストールします。

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

    # systemctl start chronyd
    # systemctl enable chronyd

2.2.2. ホストオペレーティングシステムへの SOS パッケージのインストール

ホストオペレーティングシステムには sos パッケージをインストールする必要があります。sos パッケージを使用すると、Red Hat Enterprise Linux システムから設定と診断情報を収集できます。また、Red Hat テクニカルサポートでサービスリクエストを開く際に必要な初期システム分析を提供することもできます。sos の使用の詳細は、カスタマーポータルのナレッジベース「Red Hat Enterprise Linux 4.6 以降における sosreport の役割と取得方法」を参照してください。

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

# yum install sos

2.2.3. インストールオプションの指定

Satellite Server は satellite-installer インストールスクリプトを使用してインストールし、初期設定の一部として自動または手動で Satellite を設定します。

以下のいずれかの設定方法を選択します。

  • 自動設定: この方法は、インストールスクリプトの実行時に応答ファイルを使用して設定プロセスを自動化することで実行します。応答ファイルとは、コマンドやスクリプトによって読み込まれるパラメーター一覧が含まれているファイルです。デフォルトの Satellite 応答ファイルは、/etc/foreman-installer/scenarios.d/satellite-answers.yaml です。使用する応答ファイルは、/etc/foreman-installer/scenarios.d/satellite.yaml 設定ファイル内の answer_file ディレクティブで設定します。

    応答ファイルを使用したインストールスクリプトによる初期設定の実行法は「応答ファイルを使用した初期設定の自動実行」を参照してください。

  • 手動設定: 1 つ以上のコマンドオプションが含まれるインストールスクリプトを実行します。コマンドオプションは、対応するデフォルトの初期設定オプションを上書きし、Satellite 応答ファイルに記録されます。必要なオプションを設定するために、スクリプトは何回でも実行することができます。

    コマンドラインオプションのあるインストールスクリプトによる初期設定の実行法は「手動による初期設定」を参照してください。

注記

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

2.2.3.1. 手動による初期設定

初期設定では、組織、場所、ユーザー名、およびパスワードが作成されます。初期設定後に、必要に応じて追加の組織と場所を作成できます。初期設定では、MongoDB および PostgreSQL データベースも同じサーバーにインストールします。デプロイメントによっては、外部のデータベースを使用する方がパフォーマンスが向上する可能性があります。

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

Satellite Server の手動設定

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 で管理されないようにします。他のサービスにカスタム設定を適用する方法は「付録B Red Hat Satellite へのカスタム設定の適用」を参照してください。

Satellite で外部データベースを使用する場合には、satellite installer ツールを実行する前に、外部データベースを設定して参照する必要があります。詳しい情報は、『オンラインネットワークからの Satellite Server のインストール』「Satellite での外部データベースの使用」を参照してください。

# satellite-installer --scenario satellite \
--foreman-initial-organization "initial_organization_name" \
--foreman-initial-location "initial_location_name" \
--foreman-admin-username admin_user_name \
--foreman-admin-password admin_password \
--foreman-proxy-dns-managed=false \
--foreman-proxy-dhcp-managed=false

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

切断環境でインストールしている場合は、ISO イメージをアンマウントします。

# umount /media/sat6
# umount /media/rhel7-server

2.2.3.2. 応答ファイルを使用した初期設定の自動実行

応答ファイルを使用すると、カスタマイズされたオプションでインストールを自動化できます。最初の応答ファイルには、部分的に情報が入力されます。応答ファイルには、satellite-installer の初回実行後に、インストール用の標準パラメーター値が入力されます。「手動による初期設定」 の記載通りに Satellite Server を既にインストールしている場合は、この方法を使用する必要ありません。ただし、この方法を使用していつでも Satellite Server の設定に変更を加えることはできます。

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

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

  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
  6. 切断環境でインストールしている場合は、ISO イメージをアンマウントします。

    # umount /media/sat6
    # umount /media/rhel7-server

2.2.4. カスタマーポータルでサブスクリプションの割り当ての作成

サブスクリプション情報は、Red Hat カスタマーポータルでアクセスできます。そこでサブスクリプション割り当てを使用して、Red Hat Satellite Server などのオンプレミス管理アプリケーションで使用するサブスクリプションを割り当てることができます。

  1. ブラウザーで カスタマーポータル (https://access.redhat.com/) を開き、Red Hat アカウントでログインします。
  2. カスタマーポータルの左上にある サブスクリプション に移動します。
  3. サブスクリプション割り当て に移動します。
  4. 新規サブスクリプションの割り当てを作成 をクリックします。
  5. 名前 フィールドに名前を入力します。
  6. タイプ の一覧から、お使いの Satellite Server に一致するタイプとバージョンを選択します。
  7. 作成 をクリックします。

2.2.5. 割り当てへのサブスクリプションの追加

以下の手順では、サブスクリプションを割り当てに追加する方法を説明します。

  1. サブスクリプション割り当て に移動します。
  2. 変更するサブスクリプションの名前を選択します。
  3. サブスクリプション タブをクリックします。
  4. サブスクリプションの追加 をクリックします。
  5. Red Hat 製品サブスクリプションの一覧が表示されます。各製品に対するエンタイトルメントの数量 を入力します。
  6. 送信 をクリックして割り当てを完了します。

割り当てにサブスクリプションを追加したら、マニフェストファイルをエクスポートします。

2.2.6. カスタマーポータルからのサブスクリプションマニフェストのエクスポート

1 つ以上のサブスクリプションがあるサブスクリプション割り当てを表示し、以下のいずれかからマニフェストをエクスポートできます。

  • サブスクリプション セクションの 詳細 タブから マニフェストのエクスポート ボタンをクリックします。
  • サブスクリプション タブから マニフェストのエクスポート ボタンをクリックします。

マニフェストをエクスポートすると、カスタマーポータルにより、選択したサブスクリプション証明書がエンコードされ、.zip アーカイブが作成されます。作成した .zip アーカイブはサブスクリプションのマニフェストで、Satellite Server にアップロードできます。

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

マニフェストは、Red Hat Satellite 6 の Web UI と CLI の両方でインポートできます。

Web UI をご利用の場合

  1. コンテキストが、使用する組織に設定されていることを確認します。
  2. コンテンツ > Red Hat サブスクリプション に移動します。
  3. マニフェストの管理 をクリックして、組織のマニフェストページを表示します。
  4. ファイルの選択 をクリックしてサブスクリプションマニフェストを選択し、アップロード をクリックします。

CLI をご利用の場合

Red Hat Satellite 6 CLI を使用するには、Satellite Server にマニフェストが必要になります。ローカルクライアントシステムで、マニフェストを Satellite Server にコピーします。

[user@client ~]$ scp ~/manifest_file.zip root@satellite.example.com:~/.

次に、以下のコマンドを使用してインポートします。

[root@satellite ~]# hammer subscription upload \
--file ~/manifest_file.zip \
--organization "organization_name"

数分後に、CLI により、マニフェストのインポートに成功したことが報告されます。

上記の手順を完了すると、リポジトリーを有効にして Red Hat コンテンツをインポートできるようになります。これは、後に続くいくつかの手順での前提条件になります。詳細は、『Red Hat Satellite コンテンツ管理ガイド』「Red Hat コンテンツのインポート」を参照してください。