第4章 アップグレード後のタスク

本セクションで紹介する手順の一部はオプションです。お使いのインストールに関連する手順のみを選択できます。

PXE ベースの検出プロセスを使用する場合には、Satellite の ホスト > 検出されたホスト ページに表示させるホストで、Satellite または Capsule Server 上で Discovery アップグレードの手順を実行する必要があります。

4.1. Discovery のアップグレード

このセクションでは、PXE ブートを使用して Satellite Server に登録するホストに渡した PXELinux テンプレートとブートイメージをアップデートする方法を説明します。

Satellite 6.4 以降、プロビジョニングテンプレートには別途サブネットが関連付けられるので、対象のサブネットに対して TFTP Capsule を使用するように初期設定しないようにしてください。アップグレード後にサブネットを作成する場合には、特に Satellite また Capsule が Discovery テンプレートにプロキシーサービスを提供できるようにしてから、テンプレート Capsule を使用するように、検出されたホストで全ホストを設定する必要があります。

アップグレード中は、TFTP プロキシーが設定された各サブネットが有効化されている場合には、テンプレート Capsule を TFTP Capsule と同じに設定してください。アップグレード後には、すべてのサブネットでこれが正しく設定されていることを確認してください。

ホストで PXE ブートを使用しない場合には、Satellite に新規ホストを検出させるために、これらの手順は、必要ありません。

4.1.1. Satellite Server での Discovery のアップグレード

  1. Satellite Web UI で Discovery テンプレートをアップデートします。

    1. ホスト > プロビジョニングテンプレート に移動します。
    2. PXELinux global default 行で クローン をクリックします。
    3. 名前 フィールドに、テンプレートの新しい名前を入力します (例: ACME PXE global default)。
    4. テンプレートエディターフィールドで、ONTIMEOUT local 行を ONTIMEOUT discovery に変更し、送信 をクリックします。
    5. 管理 > 設定 に移動します。
    6. Global default PXELinux template をクリックします。
    7. 新しく作成したテンプレートの名前を選択し、チェックボタンをクリックします。
    8. ホスト > プロビジョニングテンプレート に移動します。
    9. PXE デフォルトのビルド をクリックして、OK をクリックします。
  2. Satellite Web UI で 設定 > 検出ルール に移動し、選択した組織および場所を検出ルールに関連付けます。

4.1.2. Capsule Server での Discovery のアップグレード

  1. Satellite Server で、Foreman Discovery パッケージが最新であることを確認します。

    # yum upgrade tfm-rubygem-foreman_discovery
  2. 以前の手順でアップデートが行われた場合には、satellite-maintain サービスを再起動します。

    # satellite-maintain service restart
  3. 検出されたホストでプロビジョニングネットワークに接続した Satellite Capsule の Discovery イメージ、または検出されたホストに TFTP サービスを提供する Satellite Capsule の Discovery イメージをアップグレードします。

    # yum upgrade foreman-discovery-image
  4. 同じインスタンスに、Proxy サービスを提供するパッケージをインストールして、foreman-proxy サービスを再起動します。

    # yum install rubygem-smart_proxy_discovery
    # service foreman-proxy restart
  5. Satellite Web UI で、インフラストラクチャー > Capsule に移動して、関連する Capsule の機能コラムに Discovery が表示されていることを確認します。必要に応じて、アクション ドロップダウンメニューから リフレッシュ を選択します。
  6. インフラストラクチャー > サブネット に移動し、検出を使用する各サブネットで以下を行います。

    1. サブネット名をクリックします。
    2. Capsule タブで、上で設定した Capsule に Discovery Capsule が設定されているのを確認します。

4.1.3. サブネットにテンプレート Capsule があることの確認

検出されたホストが含まれる全サブネットに、テンプレート Capsule が設定されていることを確認します。

  1. Satellite Web UI で、インフラストラクチャー > Capsule に移動します。
  2. 確認するサブネットを選択します。
  3. Capsule タブで、テンプレート Capsule が、このサブネットに設定されていることを確認します。

テンプレート Capsule を使用したサブネットの設定に関する詳細は、『Red Hat Satellite ホスト管理』ガイドの「Discovery サブネットの設定」を参照してください。

4.2. virt-who のアップグレード

Satellite Server または Capsule Server に virt-who がインストールされている場合は、Satellite Server または Capsule Server のアップグレード時に一緒にアップグレードされるため、追加の作業は必要ありません。virt-who を他の場所にインストールしている場合は、手動でアップグレードする必要があります。

作業開始前の準備

Satellite Server または Capsule Server に登録しているホストに virt-who がインストールされている場合は、最初にホストを、Satellite Tools 6.7 リポジトリーで利用可能な最新パッケージにアップグレードします。ホストのアップグレードに関する詳細は、「Satellite クライアントのアップグレード」 を参照してください。

virt-who の手動アップグレード

  1. virt-who をアップグレードします。

    # yum upgrade virt-who
  2. virt-who サービスを再起動して、新しいバージョンを有効にします。

    # systemctl restart virt-who.service

4.3. 以前のバージョンの Satellite Tools リポジトリーの削除

Satellite 6.7 へのアップグレードが完了したら、コンテンツビューから Red Hat Satellite Tools 6.6 リポジトリーを削除して、無効にすることができます。

バージョン 6.6 の Satellite Tools リポジトリーを無効にします。

  1. Satellite Web UI で、コンテンツ > Red Hat サブスクリプション に移動します。
  2. 有効されたリポジトリー エリアで、Red Hat Satellite Tools 6.6 for RHEL 7 Server RPMs x86_64 を探し出します。
  3. 右側の 無効化 アイコンをクリックします。

リポジトリーがまだコンテンツビューに含まれている場合には、無効にできません。スケジュールされているタスクにより、無効にされたリポジトリーからパッケージが自動的に削除されます。

4.4. MongoDB スペースの確保

MongoDB データベースは、特に負荷の高いデプロイメントにおいて、大容量のディスク領域を使用できます。この手順を使用して、Satellite でこのディスク領域の一部を確保します。

前提条件

手順

  1. Pulp サービスを停止します。

    # satellite-maintain service stop --only \
    pulp_celerybeat.service,pulp_resource_manager.service,pulp_streamer.service,pulp_workers.service,httpd
  2. MongoDB シェルにアクセスします。

    # mongo pulp_database
  3. 修復前の MongoDB のディスク領域の使用量を確認します。

    > db.stats()
  4. 現在の MongoDB データベースに 2 GB を足したサイズに相当する空のディスク領域があることを確認します。MongoDB データベースを含むボリュームに十分な領域がない場合、別のボリュームをマウントし、これを修復に使用することができます。
  5. 修復コマンドを入力します。データベースのサイズによっては、修復コマンドは、その他すべての操作をブロックし、完了までに時間がかかる場合があることに注意してください。

    > db.repairDatabase()
  6. 修復後の MongoDB のディスク領域の使用量を確認します。

    > db.stats()
  7. MongoDB シェルを終了します。

    > exit
  8. Pulp サービスを開始します。

    # satellite-maintain service start

4.5. PostgreSQL 領域の確保

PostgreSQL データベースは、特に負荷の高いデプロイメントにおいて、大容量のディスク領域を使用できます。この手順を使用して、Satellite でこのディスク領域の一部を確保します。

手順

  1. postgresql サービス以外の全サービスを停止します。

    # satellite-maintain service stop --exclude postgresql
  2. postgres ユーザーに切り替えてデータベースの領域を確保します。

    # su - postgres -c 'vacuumdb --full --dbname=foreman'
  3. Vacuum が完了したら、他のサービスを開始します。

    # satellite-maintain service start

4.6. MongoDB ストレージエンジンのアップグレード

アップグレードを完了したら、オプションで MongoDB ストレージエンジンを WiredTiger にアップグレードできます。すでに WiredTiger を使用する場合は、アップグレード後にこの手順を実行する必要はありません。WiredTiger の使用を希望する場合は、Satellite Server と全 Capsule Server で、以下の手順を繰り返し実行する必要があります。WiredTiger ストレージエンジンに関する詳細は、MongoDB マニュアルWiredTiger Storage Engine を参照してください。

前提条件

このストレージエンジンをアップグレードする前に、次の条件が満たされていることを確認します。

  • MongoDB ストレージのバックアップが作成されている。
  • /var/tmp ディレクトリーに最低でも /var/lib/mongodb ディレクトリーの 2 倍の容量がある。
  • オプション: トラフィックの多い Satellite 環境では、MongoDB 修復を使用してディスク領域を確保する。詳細は、KCS アーティクル「How to compact MongoDB files and/or reclaim disk space in "/var/lib/mongodb" in Satellite 6?を参照してください。
  • オプション: トラフィックの多い Satellite 環境では、MongoDB コンパクトを使用して、ディスク領域を確保する。詳細は、MongoDB マニュアルの compact を参照してください。
  • オプション: 現在使用中の MongoDB のバージョンを確認するには、以下のコマンドを入力する。

    # mongo pulp_database --eval "db.serverStatus().storageEngine"

手順

MongoDB ストレージエンジンをアップグレードするには、Satellite Server と全 Capsule Server で以下のコマンドを入力します。

# satellite-installer --upgrade-mongo-storage-engine

4.7. テンプレート、パラメーター、ルックアップキーおよび値のアップデート

アップグレードプロセスで、Satellite は Satellite 6.7 で非推奨となったマクロの場所を特定し、全テンプレート、パラメーター、ルックアップキーおよび値の以前の構文を新しい構文に変換します。このプロセスでは、以下のような単純なテキスト置換を使用します。

@host.params['parameter1'] -> host_param('parameter1')
@host.param_true?('parameter1') -> host_param_true?('parameter1')
@host.param_false?('parameter1') -> host_param_false?('parameter1')
@host.info['parameters'] -> host_enc['parameters']

このテキスト置換で、ファイルの変数を破損したり、省略したりしないように、以前の構文の全テンプレート、パラメーター、ルックアップキーおよび値すべてを確認して、手動で置き換えます。

以下のエラーは、アップグレード後にファイル内に以前の構文が残っていることが原因で発生します。

 undefined method '#params' for Host::Managed::Jail

クローンされたテンプレートの確認

Satellite で複製されたテンプレートを使用する場合、複製されたテンプレートが Satellite の元のテンプレートの最新バージョンと異なるかどうかを確認します。同じテンプレートの構文は、Satellite のバージョンによって異なる場合があります。複製されたテンプレートに古い構文が含まれている場合は、テンプレートの最新バージョンに一致するように構文をアップデートします。

4.8. 定義済みプロファイルを使用した Satellite Server の調整

Satellite のデプロイメントに 5000 台を超えるホストが含まれる場合には、事前定義済みのチューニングプロファイルを使用して Satellite Server のパフォーマンスを向上できます。

Capsule では tuning プロファイルを使用できない点に注意してください。

Satellite が管理するホスト数や、利用可能なハードウェアリソースにより、プロファイルから 1 つ選択してください。チューニングプロファイルは、/usr/share/foreman-installer/config/foreman.hiera/tuning/sizes ディレクトリーにあります。

--tuning オプションを指定して satellite-installer コマンドを実行した場合には、デプロイメント構成設定が以下の順番で Satellite Server に適用されます。

  1. /usr/share/foreman-installer/config/foreman.hiera/tuning/common.yaml ファイルで定義したデフォルトの tuning プロファイル
  2. /usr/share/foreman-installer/config/foreman.hiera/tuning/sizes/ ディレクトリーで定義した tuning プロファイルで、デプロイメントに適用するプロファイル
  3. /etc/foreman-installer/custom-hiera.yaml ファイルの設定

/etc/foreman-installer/custom-hiera.yaml ファイルで定義した設定は、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 デプロイメントのチューニングプロファイルを設定するには、以下の手順を実行します。

  1. Satellite Server で、/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
  2. /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 ファイルで重複設定を削除します。
  3. 適用するプロファイルに対して、--tuning オプションを指定して satellite-installer コマンドを入力します。たとえば、medium チューニングプロファイル設定を適用するには、以下のコマンドを入力します。

    # satellite-installer --tuning medium