第3章 アップグレードの準備
アップグレード後に問題を回避し、システムを RHEL の次のメジャーバージョンにアップグレードできることを確認するには、アップグレード前に必要なすべての準備手順を完了してください。
すべてのシステムで、Preparing a RHEL 8 system for the upgrade で説明されている準備手順を実施する必要があります。さらに、Satellite Server に登録されているシステムでは アップグレードのための Satellite 登録システムの準備 で説明されている準備手順も実行する必要があります。
3.1. アップグレードに向けた RHEL 8 システムの準備
この手順では、Leapp
ユーティリティーを使用して、RHEL 9 へのインプレースアップグレードを実行する前に必要な手順を説明します。
アップグレードプロセス中に Red Hat Subscription Manager (RHSM) を使用する予定がない場合は、Upgrading to RHEL 9 without Red Hat Subscription Manager の手順に従ってください。
前提条件
- システムが、アップグレードの計画 に記載されている条件を満たしている。
- システムを以前 RHEL 7 から RHEL 8 にアップグレードした場合は、アップグレード後に必要な手順をすべて完了した。詳細は、RHEL 7 から RHEL 8 へのアップグレードガイドの アップグレード後のタスクの実行 を参照してください。
手順
- オプション: ナレッジベース記事 The best practices and recommendations for performing RHEL Upgrade using Leapp のベストプラクティスを確認します。
- Red Hat Subscription Manager を使用して、システムが Red Hat コンテンツ配信ネットワーク (CDN) または Red Hat Satellite に正常に登録されていることを確認します。
システムを Satellite Server に登録した場合は、アップグレードのための Satellite 登録システムの準備 の手順を完了して、システムがアップグレードの要件を満たしていることを確認してください。
重要システムが Satellite Server に登録されている場合は、問題の発生を防ぐために、この手順に進む前に アップグレードのための Satellite 登録システムの準備 の手順を完了する必要があります。
-
オプション: システム自体に関係のないデータファイルのみを含むファイルシステムなど、アップグレードに必要のない非システム OS ファイルシステムをアンマウントし、
/etc/fstab
ファイルからコメントアウトします。これにより、アップグレードプロセスに必要な時間が短縮されます。また、アップグレード時にカスタムまたはサードパーティーのアクターによって適切に移行されないサードパーティーアプリケーションに関連する、潜在的な問題を防ぐことができます。 subscription-manager を使用してシステムがサブスクライブされていることを確認します。
Simple Content Access (SCA) が有効になっているアカウントを使用してシステムが登録されている場合は、
Content Access Mode is set to Simple Content Access
というメッセージが表示されることを確認します。# subscription-manager status +-------------------------------------------+ System Status Details +-------------------------------------------+ Overall Status: Disabled Content Access Mode is set to Simple Content Access. This host has access to content, regardless of subscription status. System Purpose Status: Disabled
SCA が無効になっているアカウントを使用してシステムが登録されている場合は、Red Hat Linux Server サブスクリプションがアタッチされていること、製品名が
Server
で、ステータスがSubscribed
であることを確認します。以下に例を示します。# subscription-manager list --installed +-------------------------------------------+ Installed Product Status +-------------------------------------------+ Product Name: Red Hat Enterprise Linux for x86_64 Product ID: 479 Version: 8.10 Arch: x86_64 Status: Subscribed
適切なリポジトリーが有効になっていることを確認します。以下のコマンドは、64 ビット Intel アーキテクチャーの Base リポジトリーおよび AppStream リポジトリーを有効にします。その他のアーキテクチャーについては、RHEL 8 リポジトリー を参照してください。
# subscription-manager repos --enable rhel-8-for-x86_64-baseos-rpms --enable rhel-8-for-x86_64-appstream-rpms
注記オプションで、CodeReady Linux Builder (オプションとも呼ばれます) または補助リポジトリーを有効にすることができます。リポジトリー ID の詳細は、RHEL 8 リポジトリー を参照してください。これらのリポジトリーの内容の詳細は、パッケージマニフェスト を参照してください。
システムのリリースバージョンを設定します。
RHSM を使用してサブスクライブしたシステムの場合は、システムを目的のソース OS バージョンにロックします。
# subscription-manager release --set <source_os_version>
パブリッククラウド上の Red Hat Update Infrastructure (RHUI) を使用してアップグレードする場合は、予想されるシステムリリースバージョンを手動で設定します。
# rhui-set-release --set <source_os_version>
重要rhui-set-release
コマンドがシステムで使用できない場合は、/etc/dnf/vars/release
ファイルを更新することで、予想されるシステムリリースバージョンを設定できます。# echo "<source_os_version>" > /etc/dnf/vars/releasever
source_os_version は、ソース OS バージョン (例:
8.8
) に置き換えます。
- オプション: カスタムリポジトリーを使用するには、ナレッジベースの記事 カスタムリポジトリーの設定 を参照してください。
指定したバージョンにパッケージをロックするために
dnf versionlock
プラグインを使用している場合は、次のコマンドを実行してロックを解除します。# dnf versionlock clear
詳細は、Red Hat ナレッジベースソリューション How to restrict dnf to install or upgrade a package to a fixed specific package version? を参照してください。
パブリッククラウドで Red Hat Update Infrastructure(RHUI) を使用してアップグレードする場合は、必要な RHUI リポジトリーを有効にして、必要な RHUI パッケージをインストールし、システムをアップグレードする準備ができていることを確認します。
AWS の場合:
# dnf config-manager --set-enabled rhui-client-config-server-8 # dnf -y install leapp-rhui-aws
For Microsoft Azure:
# dnf config-manager --set-enabled rhui-microsoft-azure-rhel8 # dnf -y install rhui-azure-rhel8 leapp-rhui-azure
- Google Cloud Platform の場合は、ナレッジベース記事 Leapp RHUI packages for Google Cloud Platform (GCP) に従います。
Leapp
ユーティリティーをインストールします。# dnf install leapp-upgrade
最新の
leapp
およびleapp-repository
パッケージが必要な点に注意してください。パッケージは、インストールされている RHEL 8 のバージョンによって異なります。現在の最新のパッケージのバージョンは次のとおりです。注記leapp-repository
パッケージには、leapp-upgrade-el8toel9
RPM パッケージが含まれています。-
RHEL 8.8:
leapp
パッケージのバージョン0.15.1
およびleapp-repository
パッケージのバージョン0.18.0
RHEL 8.10:
leapp
パッケージのleapp
バージョン0.18.0
およびleapp-repository
パッケージのバージョン0.21.0
注記システムにインターネットアクセスがない場合は、Red Hat カスタマーポータル から以下のパッケージをダウンロードします。
-
leapp
-
leapp-deps
-
python3-leapp
-
leapp-upgrade-el8toel9
-
leapp-upgrade-el8toel9-deps
-
-
RHEL 8.8:
すべてのパッケージを最新の RHEL 8 バージョンに更新し、再起動します。
# dnf update # reboot
-
leapp-upgrade-el8toel9
パッケージの最新リリースには、必要なデータファイルがすべて含まれています。これらのデータファイルを古いバージョンに置き換えた場合は、/etc/leapp/files
ディレクトリー内のすべての JSON ファイルを削除し、leapp-upgrade-el8toel9
パッケージを再インストールして、データファイルが最新であることを確認します。 -
オプション:
rpmnew
ファイルとrpmsave
ファイルを確認し、修正してから削除します。詳細は、What are rpmnew & rpmsave files? を参照してください。 - アップグレードの失敗を防ぐために一時的にウイルス対策ソフトウェアを無効にします。
設定管理システムがインプレースアップグレードプロセスに干渉しないことを確認します。
-
Puppet、Salt、Chef などのクライアントサーバーアーキテクチャーで設定管理システムを使用する場合は、
leapp preupgrade
コマンドを実行する前にシステムを無効にします。アップグレード時に問題が発生するのを防ぐために、アップグレードが完了するまで設定管理システムを有効にしないでください。 Ansible などのエージェントレスアーキテクチャーで設定管理システムを使用する場合は、アップグレードの実行 で説明されているように、インプレースアップグレード中に、Ansible Playbook などの設定およびデプロイメントファイルを実行しないでください。
設定管理システムを使用したアップグレード前およびアップグレードプロセスの自動化は、Red Hat ではサポートされていません。詳細は、Using configuration management systems to automate parts of the Leapp pre-upgrade and upgrade process on Red Hat Enterprise Linux を参照してください。
-
Puppet、Salt、Chef などのクライアントサーバーアーキテクチャーで設定管理システムを使用する場合は、
-
システムで、カーネル (
eth
) が使用する接頭辞に基づいた名前で、複数の Network Interface Card (NIC) が使用されていないことを確認します。RHEL 9 へのインプレースアップグレードの前に別の命名スキームに移行する方法の詳細は、Red Hat ナレッジベースソリューション How to perform an in-place upgrade to RHEL 8 when using kernel NIC names on RHEL 7 を参照してください。命名スキームを移行するプロセスは、RHEL 7 から RHEL 8 へのアップグレードと、RHEL 8 から RHEL 9 へのアップグレードの両方で同じになります。 - NSS データベースが RHEL 7 以前で作成された場合は、データベースが DBM データベース形式から SQLite に変換されていることを確認します。詳細は、Updating NSS databases from DBM to SQLite を参照してください。
-
RHEL 9 は、RHEL 8 で廃止された従来の
network-scripts
パッケージをサポートしていません。アップグレードする前に、カスタムネットワークスクリプトを移動し、既存のカスタムスクリプトを実行する NetworkManager ディスパッチャースクリプトを記述します。詳細は、Red Hat ナレッジベースソリューション Migrating custom network scripts to NetworkManager dispatcher scripts を参照してください。 -
ISO イメージを使用してアップグレードする場合は、ISO イメージにターゲット OS バージョン (RHEL 9.4 など) が含まれていること、およびアップグレードプロセス全体を通じて
Leapp
ユーティリティーがイメージにアクセスできるように永続的なローカルマウントポイントに保存されていることを確認してください。 システム全体のバックアップまたは仮想マシンのスナップショットが存在することを確認してください。これにより、ご利用の環境で、以下の標準の災害復旧手順に従って、システムをアップグレード前と同じ状態に戻せるようになります。次のバックアップオプションを使用できます。
- Relax-and-Recover (ReaR) ユーティリティーを使用して、システムの完全バックアップを作成します。詳細は、ReaR のドキュメント および Red Hat ナレッジベースソリューション What is Relax and Recover (ReaR) and how can I use it for disaster recovery? を参照してください。
LVM スナップショット または RAID 分割 を使用して、システムのスナップショットを作成します。仮想マシンをアップグレードする場合は、仮想マシン全体のスナップショットを作成できます。Boom ユーティリティーを使用して、スナップショットとロールバックのブートエントリーを管理することもできます。詳細は、Red Hat ナレッジベースソリューション What is BOOM and how to install it? および Managing system upgrades with snapshots ガイドを参照してください。
注記LVM スナップショットではシステムの完全バックアップが作成されないため、特定のアップグレードの失敗後にシステムを復元できない可能性があります。したがって、ReaR ユーティリティーを使用して完全バックアップを作成する方が安全です。