第4章 アップグレードの準備
アップグレード後に問題を回避し、システムを RHEL の次のメジャーバージョンにアップグレードできることを確認するには、アップグレード前に必要なすべての準備手順を完了してください。
すべてのシステムで、Preparing a RHEL 7 system for the upgrade で説明されている準備手順を実施する必要があります。さらに、Satellite Server に登録されているシステムでは、Satellite に登録されたシステムのアップグレードの準備 で説明されている準備手順も実行する必要があります。
4.1. アップグレードに向けて RHEL 7 システムの準備
この手順では、Leapp
ユーティリティーを使用して、RHEL 8 へのインプレースアップグレードを実行する前に必要な手順を説明します。
アップグレードプロセス中に Red Hat Subscription Manager を使用する予定がない場合は、Upgrading to RHEL 8 without Red Hat Subscription Manager を参照してください。
前提条件
- システムは、アップグレードの計画 に記載されている条件を満たしている。
- 以前に RHEL 6 から RHEL 7 にアップグレードした場合は、アップグレード後の必要な手動手順がすべて完了しています。これには、RHEL 7 マシン上の GRUB2 ブートローダーへの手動移行が含まれます。詳細は、GRUB Legacy から GRUB 2 へのアップグレード を参照してください。
手順
- オプション: ナレッジベース記事 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 Server Product ID: 69 Version: 7.9 Arch: x86_64 Status: Subscribed
適切なリポジトリーが有効になっていることを確認します。次のコマンドは、64 ビット Intel アーキテクチャーのリポジトリーのリストを示します。他のアーキテクチャーについては、RHEL 7 リポジトリー を参照してください。
Base リポジトリーを有効にします。
# subscription-manager repos --enable rhel-7-server-rpms
Leapp
およびその依存関係が利用可能な Extras リポジトリーを有効にします。# subscription-manager repos --enable rhel-7-server-extras-rpms
注記必要に応じて、オプション (CodeReady Linux Builder とも呼ばれる) または補助リポジトリーを有効にすることができます。リポジトリー ID の詳細は、RHEL 7 リポジトリー のオプションおよび補足リポジトリーのリストを参照してください。これらのリポジトリーの内容の詳細は、CodeReady Linux Builder リポジトリー および 補足リポジトリー を参照してください。
最新の RHEL 7 コンテンツを使用するように Red Hat Subscription Manager を設定します。
# subscription-manager release --unset
- オプション: カスタムリポジトリーを使用するには、ナレッジベースの記事 Configuring custom repositories を参照してください。
指定したバージョンにパッケージをロックするために
yum-plugin-versionlock
プラグインを使用している場合は、次のコマンドを実行してロックを解除します。# yum versionlock clear
詳細は 指定したバージョンのパッケージ (または指定したバージョン以前のパッケージ) だけをインストールまたはアップグレードできるように yum の使用を制限する方法 を参照してください。
パブリッククラウドで Red Hat Update Infrastructure(RHUI) を使用してアップグレードする場合は、必要な RHUI リポジトリーを有効にして、必要な RHUI パッケージをインストールし、システムをアップグレードする準備ができていることを確認します。
AWS の場合:
# yum-config-manager --enable rhui-client-config-server-7 # yum-config-manager --enable rhel-7-server-rhui-extras-rpms # yum -y install rh-amazon-rhui-client leapp-rhui-aws
For Microsoft Azure:
# yum-config-manager --enable rhui-microsoft-azure-rhel7 # yum -y install rhui-azure-rhel7 # yum-config-manager --enable rhui-rhel-7-server-rhui-extras-rpms # yum -y install leapp-rhui-azure
注記Azure 仮想マシンをマイナーリリースにロックした場合は、バージョンロックを削除します。詳細は、Switch a RHEL 7.x VM back to non-EUS を参照してください。
- Google Cloud Platform の場合は、ナレッジベース記事 Leapp RHUI packages for Google Cloud Platform (GCP) に従います。
- Docker でコンテナーを管理する場合は、Podman を使用して適切なコンテナーイメージでコンテナーを再作成し、使用中のボリュームを割り当てます。詳細は、How do I migrate my Docker containers to Podman prior to moving from Red Hat Enterprise Linux 7 to Red Hat Enterprise Linux 8? を参照してください。
Leapp
ユーティリティーをインストールします。# yum install leapp-upgrade
現在、
leapp
パッケージのバージョン 0.17.0 以降と、leapp-upgrade-el7toel8
RPM パッケージを含むleapp-repository
パッケージのバージョン 0.20.0 以降が必要であることに注意してください。注記システムにインターネットアクセスがない場合は、Red Hat カスタマーポータル から以下のパッケージをダウンロードします。
-
leapp
-
leapp-deps
-
python2-leapp
-
leapp-upgrade-el7toel8
-
leapp-upgrade-el7toel8-deps
詳細は、How to install leapp packages on an offline system for RHEL 7.9 to RHEL 8.X upgrade? を参照してください。詳細は、ナレッジベースの記事を参照してください。
-
すべてのパッケージを最新の RHEL 8 バージョンに更新し、再起動します。
# yum update # reboot
-
leapp-upgrade-el7toel8
パッケージの最新リリースには、必要なデータファイルがすべて含まれています。これらのデータファイルを古いバージョンに置き換えた場合は、/etc/leapp/files
ディレクトリー内のすべての JSON ファイルを削除し、leapp-upgrade-el7toel8
パッケージを再インストールして、データファイルが最新であることを確認します。 - アップグレードの失敗を防ぐために一時的にウイルス対策ソフトウェアを無効にします。
設定管理システムがインプレースアップグレードプロセスに干渉しないことを確認します。
-
Puppet、Salt、Chef などのクライアントサーバーアーキテクチャーで設定管理システムを使用する場合は、
leapp preupgrade
コマンドを実行する前にシステムを無効にします。アップグレード時に問題が発生するのを防ぐために、アップグレードが完了するまで設定管理システムを有効にしないでください。 Ansible などのエージェントレスアーキテクチャーで設定管理システムを使用する場合は、Performing the upgrade from RHEL 7 to RHEL 8 で説明されているように、インプレースアップグレード中に 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 8 へのインプレースアップグレードの前に別の命名スキームに移行する方法は RHEL 7 でカーネルの NIC 名を使用している場合に RHEL 8 へのインプレースアップグレードを実行する方法 を参照してください。 -
ISO イメージを使用してアップグレードする場合は、ISO イメージにターゲット OS バージョン (RHEL 8.8 など) が含まれていること、およびアップグレードプロセス全体を通じて
Leapp
ユーティリティーがイメージにアクセスできるように永続的なローカルマウントポイントに保存されていることを確認してください。 システム全体のバックアップまたは仮想マシンのスナップショットが存在することを確認してください。これにより、ご利用の環境で、以下の標準の災害復旧手順に従って、システムをアップグレード前と同じ状態に戻せるようになります。次のバックアップオプションを使用できます。
- Relax-and-Recover (ReaR) ユーティリティーを使用して、システムの完全バックアップを作成します。詳細は、ReaR documentation および What is Relax and Recover (ReaR) and how can I use it for disaster recovery? を参照してください。
LVM スナップショット または RAID 分割 を使用して、システムのスナップショットを作成します。仮想マシンをアップグレードする場合は、仮想マシン全体のスナップショットを作成できます。Boom ユーティリティーを使用して、スナップショットとロールバックのブートエントリーを管理することもできます。詳細は、What is BOOM and how to install it? および スナップショットを使用したシステムアップグレードの管理 を参照してください。
注記LVM スナップショットではシステムの完全バックアップが作成されないため、特定のアップグレードの失敗後にシステムを復元できない可能性があります。したがって、ReaR ユーティリティーを使用して完全バックアップを作成する方が安全です。