アップグレードの準備
アップグレード後に問題を回避し、システムを RHEL の次のメジャーバージョンにアップグレードできることを確認するには、アップグレード前に必要なすべての準備手順を完了してください。
すべてのシステムで、Preparing a RHEL 7 system for the upgrade で説明されている準備手順を実施する必要があります。さらに、Satellite Server に登録されているシステムでは、Satellite に登録されたシステムのアップグレードの準備 で説明されている準備手順も実行する必要があります。
3.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? を参照してください。
すべてのパッケージを最新の RHEL 7 バージョンに更新します。
# yum update
システムを再起動します。
# reboot
Leapp ユーティリティーをインストールします。
# yum install leapp-upgrade
現在、leapp パッケージのバージョン 0.16.0 以降と、leapp-upgrade-el7toel8 RPM パッケージを含むバージョン 0.19.0 以降の jumpp-repository パッケージが必要であることに注意してください。
注記
システムにインターネットアクセスがない場合は、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? を参照してください。詳細は、ナレッジベースの記事を参照してください。
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 を参照してください。
システムで、カーネル (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 ユーティリティーを使用して完全バックアップを作成する方が安全です。
3.2. アップグレードのための Satellite 登録システムの準備
この手順では、RHEL 8 へのアップグレード用に Satellite に登録されているシステムを準備するために必要な手順を説明します。
注記
注記 Satellite システム自体をアップグレードする場合は、Upgrading Satellite or Capsule to Red Hat Enterprise Linux 8 In-Place Using Leapp で説明されている手順に従います。
重要
Satellite システムのユーザーは、この手順と Preparing a RHEL 7 system for the upgrade で説明されている準備手順を完了する必要があります。
前提条件
Satellite Server の管理者権限がある。
手順
Satellite は、フルサポートまたはメンテナンスサポートがあるバージョンです。詳細は、Red Hat Satellite の製品ライフサイクル を参照してください。
RHEL 8 リポジトリーを使用したサブスクリプションマニフェストを Satellite Server にインポートします。詳細は、Red Hat Satellite の特定のバージョン (バージョン 6.12 など) のコンテンツ管理ガイドの Red Hat サブスクリプションの管理の章を参照してください。
Satellite Server で必要なすべての RHEL 7 および RHEL 8 リポジトリーを有効にし、RHEL 7.9 およびターゲット OS バージョン (RHEL 8.6 など) の最新の更新と同期します。必要なリポジトリーはコンテンツビューで利用可能であり、関連付けられたアクティベーションキーで有効になっている必要があります。
注記
RHEL 8 リポジトリーの場合は、各リポジトリーのターゲット OS バージョン (8.6 など) を有効にします。RHEL 8 バージョンのリポジトリーのみを有効にした場合は、インプレースアップグレードは行われません。
たとえば、延長更新サポート (EUS) サブスクリプションがない Intel アーキテクチャーの場合は、少なくとも以下のリポジトリーを有効にします。
Red Hat Enterprise Linux 7 Server (RPM)
rhel-7-server-rpms
x86_64 7Server
Red Hat Enterprise Linux 7 Server – Extras (RPM)
rhel-7-server-extras-rpms
x86_64
Red Hat Enterprise Linux 8 for x86_64 – AppStream (RPMs)
rhel-8-for-x86_64-appstream-rpms
x86_64 <target_os_version>
Red Hat Enterprise Linux 8 for x86_64 – BaseOS (RPMs)
rhel-8-for-x86_64-baseos-rpms
x86_64 <target_os_version>
target_os_version は、ターゲットの OS バージョン (例: 8.6) に置き換えます。
その他のアーキテクチャーは、RHEL 7 リポジトリー および RHEL 8 リポジトリー を参照してください。
詳細は、Red Hat Satellite の特定のバージョン (バージョン 6.12 など) の コンテンツ管理ガイド の コンテンツのインポート の章を参照してください。
必要な RHEL 7 リポジトリーおよび RHEL 8 リポジトリーを含むコンテンツビューにコンテンツホストを割り当てます。
詳細は、Red Hat Satellite の特定のバージョン (バージョン 6.12 など) の コンテンツ管理ガイド の コンテンツビューの管理 の章を参照してください。
検証
正しい RHEL 7 リポジトリーおよび RHEL 8 リポジトリーが Satellite Server の正しいコンテンツビューに追加されていることを確認します。
Satellite Web UI で、Content > Lifecycle > Content Views に移動して、コンテンツビューの名前をクリックします。
Repositories タブをクリックして、リポジトリーが正しく表示されることを確認します。
注記
以下のコマンドを使用して、リポジトリーがコンテンツビューに追加されていることを確認することもできます。
# hammer repository list –search ‘content_label ~ rhel-7’ –content-view <content_view_name> –organization <organization> –lifecycle-environment <lifecycle_environment>
# hammer repository list –search ‘content_label ~ rhel-8’ –content-view <content_view_name> –organization <organization> –lifecycle-environment <lifecycle_environment>
<content_view_name> をコンテンツビューの名前に、<organization> を組織に、<lifecycle_environment> をライフサイクル環境の名前に置き換えます。
コンテンツビューに関連付けられたアクティベーションキーで、正しい RHEL 8 リポジトリーが有効になっていることを確認します。
Satellite Web UI で、Content > Lifecycle > Activation Keys に移動し、アクティベーションキーの名前をクリックします。
Repository Sets タブをクリックし、必要なリポジトリーのステータスが Enabled であることを確認します。
予想されるすべての RHEL 7 リポジトリーがホストで有効になっていることを確認します。以下に例を示します。
# subscription-manager repos –list-enabled | grep “^Repo ID”
Repo ID: rhel-7-server-extras-rpms
Repo ID: rhel-7-server-rpm