第3章 Red Hat Satellite のアップグレード
高可用性設定に Satellite 6 をインストールしている場合は、Satellite 6.7 にアップグレードする前に Red Hat サポートにご連絡ください。
以下の手順を使用して既存の Red Hat Satellite を Red Hat Satellite 6.7 にアップグレードします。
アップグレードを行う前に「前提条件」を参照してください。
3.1. Satellite Server のアップグレード リンクのコピーリンクがクリップボードにコピーされました!
このセクションでは、Satellite Server を 6.6 から 6.7 にアップグレードする方法を説明します。Red Hat Satellite Server 6.6 であれば、どのマイナーバージョンからでもアップグレードできます。
はじめに
- Satellite Server をアップグレードする前に、ファイアウォールの設定を確認してアップデートしてください。詳細は、『 オンラインネットワークからの Satellite Server のインストール 』の「ポートとファイアウォール の要件」を 参照してください。
- カスタマーポータルまたは Satellite Web UI からマニフェストを削除しないでください。削除すると、コンテンツホストからエンタイトルメントがすべて削除されます。
- アップグレードする前に、全 Foreman フックのバックアップを作成して、その後フックを削除します。アップグレードが完了し、Satellite が動作しているのを確認したら、フックを復元します。
- デフォルトテンプレートを変更する場合は、そのテンプレートのクローンを作成するか、エクスポートを行って、ファイルをバックアップします。クローンを作成することで、今後のアップデートまたはアップグレードが上書きされなくなるため、推奨されるのはクローン作成です。テンプレートの変更の有無を確認するには、アップグレード前に 履歴 を確認するか、アップグレード後に監査ログで変更を表示できます。Web UI で モニター > 監査 に移動し、テンプレートを検索すると、変更履歴を確認できます。エクスポートを使用する場合は、エクスポートしたテンプレートと、デフォルトテンプレートを比較し、手動で変更を適用して変更を復元します。
Capsule に関する留意事項
- Capsule Server のベースオペレーティングシステム、または Capsule Server リポジトリーへのアップデートをコンテンツビューで管理する場合は、アップデートしたコンテンツビューを公開する必要があります。
カスタムの証明書を実装している場合は、/root/ssl-build ディレクトリーと、カスタム証明書に関連するソースファイルを作成したディレクトリーのコンテンツを保持する必要があります。
アップグレード時にこのファイルを保持できないと、アップグレードは失敗します。ファイルを削除してしまった場合は、アップグレードを進めるためにバックアップから復元する必要があります。
BASH シェルの設定
BASH シェルには、ハッシュテーブルのバイナリーの場所が保存されます。アップグレード時に satellite-maintain スクリプトの場所が変更されますが、BASH にはこの変更が登録されないため、変更後にこのスクリプトを呼び出すと、satellite-maintain が失敗します。
オプション: インストーラーの完了後に
satellite-maintainが有効になるように、アップグレードする前に、BASH シェルでcheckhashオプションを一時的に設定できます。BASH シェルで以下のようなコマンドを実行します。shopt -s checkhash
# shopt -s checkhashCopy to Clipboard Copied! Toggle word wrap Toggle overflow アップグレードに成功または失敗した後に、現在実行しているすべての BASH シェルで、以下のコマンドを実行します。
hash -d satellite-maintain 2> /dev/null
# hash -d satellite-maintain 2> /dev/nullCopy to Clipboard Copied! Toggle word wrap Toggle overflow
アップグレードシナリオ
- Red Hat コンテンツ配信ネットワークに接続している Satellite Server をアップグレードする場合は、「接続している Satellite Server のアップグレード」 に進みます。
- Red Hat コンテンツ配信ネットワークに接続していない Satellite Server をアップグレードする場合は、「切断されている Satellite Server のアップグレード」 に進みます。
自己登録の Satellite をアップグレードすることはできません。自己登録の Satellite は、Red Hat コンテンツ配信ネットワーク (CDN) に移行すればアップグレードを実行できます。自己登録の Satellite を CDN に移行する方法は、『Satellite 6.3 の Red Hat Satellite のアップグレードおよびアップデート』ガイドの「自己登録 Satellite の移行」を参照してください。
FIPS モード
FIPS モードを使用していない RHEL ベースのシステムから、FIPS モードを使用する RHEL ベースのシステムに、Satellite Server をアップロードできません。
FIPS モードの RHEL ベースシステムで Satellite Server を実行するには、FIPS モードで稼働する RHEL ベースのオペレーティングシステムを新規にプロビジョニングして、Satellite をインストールする必要があります。詳細は、『 オンラインネットワークからの Satellite Server のインストール』の「 システム要件 」を 参照してください。
3.1.1. 接続している Satellite Server のアップグレード リンクのコピーリンクがクリップボードにコピーされました!
Satellite Server を Red Hat コンテンツ配信ネットワーク (CDN) に接続している場合は、以下の手順を実行します。
設定ファイルを手動で、または Hiera などのツールを使用して、カスタマイズした場合には、この変更内容は、アップグレード時またはアップデート時にインストールスクリプトを実行すると上書きされます。satellite-installer スクリプトで --noop オプションを使用すると、変更をテストできます。詳細は、ナレッジベースソリューションの「How to use the noop option to check for changes in Satellite config files during an upgrade」を参照してください。
Satellite Server のアップグレード
バックアップを作成します。
- 仮想マシンで、スナップショットを作成します。
物理マシンで、バックアップを作成します。
バックアップに関する詳細は、『 Red Hat Satellite 6.6 管理 』ガイドの「Satellite Server および Capsule Server のバックアップ」を参照してください。
-
オプション:
/etc/zones.confまたは/etc/dhcp/dhcpd.confファイルで DNS または DHCP の設定を手動で編集した場合には、設定ファイルをバックアップしてください。インストーラーはドメインまたはサブネットを 1 つしかサポートしないので、これらのバックアップから変更を復元しなければならない場合があります。 オプション: DNS または DHCP の設定ファイルを手動で編集し、変更を上書きしない場合は、以下のコマンドを実行します。
satellite-installer --foreman-proxy-dns-managed=false \ --foreman-proxy-dhcp-managed=false
# satellite-installer --foreman-proxy-dns-managed=false \ --foreman-proxy-dhcp-managed=falseCopy to Clipboard Copied! Toggle word wrap Toggle overflow - Satellite Web UI で、ホスト > 検出されたホスト に移動します。検出されたホストページで、検出したホストの電源を切って削除します。組織の選択 メニューで、組織を順番に選択し、検出したホストの電源を切って削除するプロセスを繰り返します。アップグレードが完了したら、検出されたホストを再起動するようにメモします。
yum のキャッシュを消去します。
yum clean all
# yum clean allCopy to Clipboard Copied! Toggle word wrap Toggle overflow satellite-maintainが含まれるrubygem-foreman_maintainパッケージがインストールされており、最新の状態になっていることを確認します。yum install rubygem-foreman_maintain
# yum install rubygem-foreman_maintainCopy to Clipboard Copied! Toggle word wrap Toggle overflow 利用可能なバージョンを確認して、希望のバージョンが表示されていることを確認します。
satellite-maintain upgrade list-versions
# satellite-maintain upgrade list-versionsCopy to Clipboard Copied! Toggle word wrap Toggle overflow ヘルスチェックオプションを使用して、システムをアップグレードする準備が完了しているかどうかを確認します。プロンプトが表示されたら、hammer の管理者ユーザー認証情報を入力して
satellite-maintainを設定します。この変更は、/etc/foreman-maintain/foreman-maintain-hammer.ymlファイルに適用されます。satellite-maintain upgrade check --target-version 6.7
# satellite-maintain upgrade check --target-version 6.7Copy to Clipboard Copied! Toggle word wrap Toggle overflow 結果を確認し、アップグレードを実行する前に、強調表示されているエラー状態に対応します。
アップグレード時間は長くなるため、通信セッションの中断と再接続を可能にする
screenなどのユーティリティーを使用します。これにより、コマンドシェルに接続し続けなくてもアップグレードの進捗が確認できるようになります。screen コマンドの使用方法は、Red Hat ナレッジベース の「How do I use the screen command?」を参照してください。アップグレードコマンドを実行しているコマンドシェルへの接続がなくなった場合は、
/var/log/foreman-installer/satellite.logファイルのログメッセージで、プロセスが完全に終了したかどうかを確認できます。アップグレードを実行します。
satellite-maintain upgrade run --target-version 6.7
# satellite-maintain upgrade run --target-version 6.7Copy to Clipboard Copied! Toggle word wrap Toggle overflow カーネルパッケージが最後にアップデートされた日時を確認します。
rpm -qa --last | grep kernel
# rpm -qa --last | grep kernelCopy to Clipboard Copied! Toggle word wrap Toggle overflow オプション: 最後の再起動以降にカーネルがアップデートされた場合には、
satellite-maintainサービスを停止して、システムを再起動します。satellite-maintain service stop reboot
# satellite-maintain service stop # rebootCopy to Clipboard Copied! Toggle word wrap Toggle overflow BASH シェルを使用している場合は、アップグレードに成功または失敗した後に、以下を入力します。
hash -d satellite-maintain service 2> /dev/null
# hash -d satellite-maintain service 2> /dev/nullCopy to Clipboard Copied! Toggle word wrap Toggle overflow - オプション: DNS または DHCP 設定ファイルを手動で編集した場合には、作成するバックアップを使用して、DNS と DHCP の設定ファイルに必要なすべての変更を確認し、復元します。
以前の手順で変更を加えた場合には、
satellite-maintainサービスを再起動します。satellite-maintain service restart
# satellite-maintain service restartCopy to Clipboard Copied! Toggle word wrap Toggle overflow OpenSCAP プラグインがインストールされているにもかかわらず、デフォルトの OpenSCAP コンテンツが利用できない場合は、以下のコマンドを実行します。
foreman-rake foreman_openscap:bulk_upload:default
# foreman-rake foreman_openscap:bulk_upload:defaultCopy to Clipboard Copied! Toggle word wrap Toggle overflow
3.1.2. 切断されている Satellite Server のアップグレード リンクのコピーリンクがクリップボードにコピーされました!
Red Hat コンテンツ配信ネットワークに接続していない Satellite Server には、この手順を使用します。
設定ファイル手動または Hiera などのツールを使用してカスタマイズする場合に、この変更内容はアップグレードまたはアップデート時に satellite-maintain コマンドを入力すると上書きされます。satellite-installer コマンドを --noop オプションを指定して使用し、アップグレードまたはアップデート時に適用された変更を確認します。詳細は、ナレッジベースソリューションの「How to use the noop option to check for changes in Satellite config files during an upgrade」を参照してください。
作業開始前の準備
- Satellite Server をアップグレードする前に、ファイアウォールの設定を確認してアップデートしてください。詳細は、『 オフラインネットワークからの Satellite Server のインストール 』の「ポートとファイアウォール の要件」を 参照してください。
- カスタマーポータルまたは Satellite Web UI からマニフェストを削除しないでください。削除すると、コンテンツホストからエンタイトルメントがすべて削除されます。
- アップグレードする前に、全 Foreman フックのバックアップを作成して、その後フックを削除します。アップグレードが完了し、Satellite が動作しているのを確認できるまで、フックを元に戻さないでください。
カスタムの証明書を実装している場合は、/root/ssl-build ディレクトリーと、カスタム証明書に関連するソースファイルを作成したディレクトリーのコンテンツを保持する必要があります。
アップグレード時にこのファイルを保持できないと、アップグレードは失敗します。ファイルを削除してしまった場合は、アップグレードを進めるためにバックアップから復元する必要があります。
切断されている Satellite Server のアップグレード
バックアップを作成します。
- 仮想マシンで、スナップショットを作成します。
- 物理マシンで、バックアップを作成します。
アップグレード前スクリプトは競合を検出し、アップグレード後に登録解除および削除できる Satellite Server の重複エントリーがあるホストをリストできます。また、組織に割り当てられていないホストを検出します。ホスト > すべてのホスト で、組織の関連付けがないホストがリストされ、同じ名前のコンテンツホストに組織がすでに関連付けられている場合、コンテンツホストは自動的に登録解除されます。これは、アップグレード前にこのようなホストを組織に関連付けることによって回避できます。
アップグレード前のチェックスクリプトを実行して、アップグレード後に削除できるホストの一覧を取得します。関連付けられていないホストが検出された場合は、アップグレードの前に組織にそれらのホストを関連付けることが推奨されます。
foreman-rake katello:upgrade_check
# foreman-rake katello:upgrade_checkCopy to Clipboard Copied! Toggle word wrap Toggle overflow アップグレードチェックで、タスクが実行中であることが原因の障害が報告された場合は、タスクが完了するまで待機することが推奨されます。一部のタスクはキャンセルできますが、Red Hat ナレッジベースソリューション「How to manage paused tasks on Red Hat Satellite 6」に目を通して、安全にキャンセルできるタスクとできないタスクについて理解する必要があります。
-
オプション:
/etc/zones.confまたは/etc/dhcp/dhcpd.confファイルで DNS または DHCP の設定を手動で編集した場合には、設定ファイルをバックアップしてください。インストーラーはドメインまたはサブネットを 1 つしかサポートしないので、これらのバックアップから変更を復元しなければならない場合があります。 オプション: DNS または DHCP の設定ファイルを手動で編集し、変更を上書きしない場合は、以下のコマンドを実行します。
satellite-installer --foreman-proxy-dns-managed=false \ --foreman-proxy-dhcp-managed=false
# satellite-installer --foreman-proxy-dns-managed=false \ --foreman-proxy-dhcp-managed=falseCopy to Clipboard Copied! Toggle word wrap Toggle overflow -
Satellite Web UI で、ホスト > 検出されたホスト に移動します。検出されたホストが利用可能な場合は無効にし、
検出されたホストページにあるエントリーをすべて削除します。必要に応じて、組織設定メニューから、その他の組織を順番に選択し、すべてのエントリーを削除します。アップグレードが完了したら、検出されたホストを再起動します。 - すべての外部 Capsule Server が組織に割り当てられていることを確認します。割り当てられていない場合、これらのサーバーは、ホスト統合の変更により登録解除された可能性があります。
以前のリポジトリーを削除します。
rm /etc/yum.repos.d/*
# rm /etc/yum.repos.d/*Copy to Clipboard Copied! Toggle word wrap Toggle overflow satellite-maintainサービスを停止します。satellite-maintain service stop
# satellite-maintain service stopCopy to Clipboard Copied! Toggle word wrap Toggle overflow - 『 オフラインネットワークからの Satellite Server のインストール』ガイド の「バイナリー DVD イメージのダウンロード 」の手順に従って、最新の ISO ファイルを取得します。
-
『 オフライン ネットワークからの Satellite Server のインストール』ガイドの「オフラインリポジトリーでベースシステムの設定」の手順に従い、マウントポイントとして使用 するディレクトリーを作成し、ISO イメージをマウントして、
rhel7-serverリポジトリーを 設定します。この段階では、パッケージのインストールやアップデートはしないでください。 ISO ファイルから Satellite 6.7 リポジトリーを設定します。
Red Hat Satellite パッケージ用に ISO ファイルのリポジトリーデータファイルをコピーします。
cp /media/sat6/media.repo /etc/yum.repos.d/sat6.repo
# cp /media/sat6/media.repo /etc/yum.repos.d/sat6.repoCopy to Clipboard Copied! Toggle word wrap Toggle overflow /etc/yum.repos.d/sat6.repoファイルを編集します。vi /etc/yum.repos.d/sat6.repo
# vi /etc/yum.repos.d/sat6.repoCopy to Clipboard Copied! Toggle word wrap Toggle overflow デフォルトの
InstallMediaリポジトリー名をSatellite-6.7に変更します。[Satellite-6.7]
[Satellite-6.7]Copy to Clipboard Copied! Toggle word wrap Toggle overflow baseurlディレクティブを追加します。baseurl=file:///media/sat6/
baseurl=file:///media/sat6/Copy to Clipboard Copied! Toggle word wrap Toggle overflow
ISO ファイルからの Red Hat Software Collections リポジトリーを設定します。
Red Hat Software Collections パッケージ用に ISO ファイルのリポジトリーデータファイルをコピーします。
cp /media/sat6/RHSCL/media.repo /etc/yum.repos.d/RHSCL.repo
# cp /media/sat6/RHSCL/media.repo /etc/yum.repos.d/RHSCL.repoCopy to Clipboard Copied! Toggle word wrap Toggle overflow /etc/yum.repos.d/RHSCL.repoファイルを編集します。vi /etc/yum.repos.d/RHSCL.repo
# vi /etc/yum.repos.d/RHSCL.repoCopy to Clipboard Copied! Toggle word wrap Toggle overflow デフォルトの
InstallMediaリポジトリー名をRHSCLに変更します。[RHSCL]
[RHSCL]Copy to Clipboard Copied! Toggle word wrap Toggle overflow baseurlディレクティブを追加します。baseurl=file:///media/sat6/RHSCL/
baseurl=file:///media/sat6/RHSCL/Copy to Clipboard Copied! Toggle word wrap Toggle overflow
ISO ファイルからの Red Hat Satellite Maintenance リポジトリーを設定します。
Red Hat Satellite Maintenance パッケージ用に ISO ファイルのリポジトリーデータファイルをコピーします。
cp /media/sat6/sat-maintenance/media.repo /etc/yum.repos.d/sat-maintenance.repo
# cp /media/sat6/sat-maintenance/media.repo /etc/yum.repos.d/sat-maintenance.repoCopy to Clipboard Copied! Toggle word wrap Toggle overflow /etc/yum.repos.d/sat-maintenance.repoファイルを編集します。vi /etc/yum.repos.d/sat-maintenance.repo
# vi /etc/yum.repos.d/sat-maintenance.repoCopy to Clipboard Copied! Toggle word wrap Toggle overflow デフォルトの
InstallMediaリポジトリー名をSatellite-Maintenanceに変更します。[Satellite-Maintenance]
[Satellite-Maintenance]Copy to Clipboard Copied! Toggle word wrap Toggle overflow baseurlディレクティブを追加します。baseurl=file:///media/sat6/sat-maintenance/
baseurl=file:///media/sat6/sat-maintenance/Copy to Clipboard Copied! Toggle word wrap Toggle overflow
オプション: カスタムの Apache サーバー設定を適用している場合に、アップグレードを実行すると、カスタムの設定がインストール時のデフォルト設定に戻る点に注意してください。
アップグレード時に適用された変更をプレビューするには、
--noop(操作なし) オプションを指定してsatellite-installerコマンドを実行します。これらの変更は、以下の手順でsatellite-maintain upgradeコマンドを入力すると適用します。次の行を
/etc/httpd/conf/httpd.conf設定ファイルに追加します。Include /etc/httpd/conf.modules.d/*.conf
Include /etc/httpd/conf.modules.d/*.confCopy to Clipboard Copied! Toggle word wrap Toggle overflow httpdサービスを再起動します。systemctl restart httpd
# systemctl restart httpdCopy to Clipboard Copied! Toggle word wrap Toggle overflow postgresqlデータベースサービスおよびrh-mongodb34-mongodデータベースサービスを起動します。systemctl start postgresql systemctl start rh-mongodb34-mongod
# systemctl start postgresql # systemctl start rh-mongodb34-mongodCopy to Clipboard Copied! Toggle word wrap Toggle overflow --noopオプションを指定して、satellite-installerコマンドを入力します。satellite-installer --scenario satellite --upgrade --verbose --noop
# satellite-installer --scenario satellite --upgrade --verbose --noopCopy to Clipboard Copied! Toggle word wrap Toggle overflow アップグレード時に適用された変更をプレビューするには、
/var/log/foreman-installer/satellite.logを確認します。設定ファイルへの変更を示す+++と---シンボルの場所を特定します。--noopオプションを指定してsatellite-installerコマンドを入力しても、Satellite に変更は適用されませんが、モジュール内の Puppet リソースによっては変更が適用されることを想定している場合があり、エラーのメッセージが表示される可能性があります。satellite-maintainサービスを停止します。satellite-maintain service stop
# satellite-maintain service stopCopy to Clipboard Copied! Toggle word wrap Toggle overflow
アップグレード時間は長くなるため、通信セッションの中断と再接続を可能にする
screenなどのユーティリティーを使用します。これにより、コマンドシェルに接続し続けなくてもアップグレードの進捗が確認できるようになります。screen コマンドの使用方法は、Red Hat ナレッジベース の「How do I use the screen command?」を参照してください。アップグレードコマンドを実行しているコマンドシェルへの接続がなくなった場合は、
/var/log/foreman-installer/satellite.logのログで、プロセスが完全に終了したかどうかを確認できます。yum のキャッシュを消去します。
yum clean all
# yum clean allCopy to Clipboard Copied! Toggle word wrap Toggle overflow satellite-maintainが含まれるrubygem-foreman_maintainパッケージがインストールされており、最新の状態になっていることを確認します。yum install rubygem-foreman_maintain
# yum install rubygem-foreman_maintainCopy to Clipboard Copied! Toggle word wrap Toggle overflow 利用可能なバージョンを確認して、希望のバージョンが表示されていることを確認します。
satellite-maintain upgrade list-versions
# satellite-maintain upgrade list-versionsCopy to Clipboard Copied! Toggle word wrap Toggle overflow ヘルスチェックオプションを使用して、システムをアップグレードする準備が完了しているかどうかを確認します。プロンプトが表示されたら、hammer の管理者ユーザー認証情報を入力して
satellite-maintainを設定します。この変更は、/etc/foreman-maintain/foreman-maintain-hammer.ymlファイルに適用されます。satellite-maintain upgrade check --target-version 6.7 \ --whitelist="repositories-validate,repositories-setup"
# satellite-maintain upgrade check --target-version 6.7 \ --whitelist="repositories-validate,repositories-setup"Copy to Clipboard Copied! Toggle word wrap Toggle overflow 結果を確認し、アップグレードを実行する前に、強調表示されているエラー状態に対応します。
アップグレードを実行します。
satellite-maintain upgrade run --target-version 6.7 \ --whitelist="repositories-validate,repositories-setup"
# satellite-maintain upgrade run --target-version 6.7 \ --whitelist="repositories-validate,repositories-setup"Copy to Clipboard Copied! Toggle word wrap Toggle overflow 警告config サブディレクトリーを含むディレクトリーからコマンドを実行すると、以下のエラーが発生します。
ERROR: Scenario (config/satellite.yaml) was not found, can not continue.
ERROR: Scenario (config/satellite.yaml) was not found, can not continue.Copy to Clipboard Copied! Toggle word wrap Toggle overflow このような場合は、root ユーザーのホームディレクトリーに移動し、コマンドを再実行します。
パッケージが古いか、足りないためにスクリプトに失敗した場合には、これらのパッケージを個別にダウンロードしてインストールする必要があります。詳細は、『 オフラインネットワークからの Satellite Server のインストール』ガイドの「 パッケージの依存関係エラーの解決 」セクションを 参照してください。
BASH シェルを使用している場合は、アップグレードに成功または失敗した後に、以下を入力します。
hash -d satellite-maintain service 2> /dev/null
# hash -d satellite-maintain service 2> /dev/nullCopy to Clipboard Copied! Toggle word wrap Toggle overflow カーネルパッケージが最後にアップデートされた日時を確認します。
rpm -qa --last | grep kernel
# rpm -qa --last | grep kernelCopy to Clipboard Copied! Toggle word wrap Toggle overflow オプション: 最後の再起動以降にカーネルがアップデートされた場合には、
satellite-maintainサービスを停止して、システムを再起動します。satellite-maintain service stop reboot
# satellite-maintain service stop # rebootCopy to Clipboard Copied! Toggle word wrap Toggle overflow - オプション: DNS または DHCP 設定ファイルを手動で編集した場合には、作成したバックアップを使用して、DNS と DHCP の設定ファイルに必要なすべての変更を確認し、復元します。
以前の手順で変更を加えた場合には、
satellite-maintainサービスを再起動します。satellite-maintain service restart
# satellite-maintain service restartCopy to Clipboard Copied! Toggle word wrap Toggle overflow OpenSCAP プラグインがインストールされているにもかかわらず、デフォルトの OpenSCAP コンテンツが利用できない場合は、以下のコマンドを実行します。
foreman-rake foreman_openscap:bulk_upload:default
# foreman-rake foreman_openscap:bulk_upload:defaultCopy to Clipboard Copied! Toggle word wrap Toggle overflow - Satellite Web UI で 設定 > 検出ルール に移動し、選択した組織および場所を検出ルールに関連付けます。