2024年6月30日以降、Red Hat Enterprise Linux (RHEL) 7は、メンテナンスサポートフェーズから拡張ライフフェーズに移行しました。 Red Hatは、Extended Lifeフェーズで限定的な技術サポートを提供します。 Elastic Compute Service (ECS) インスタンスとアプリケーションがRHEL 7上にデプロイされている場合は、RHEL 7をRHEL 8にアップグレードして、新しいサービス機能を使用し、最新のハードウェアプラットフォームおよび独立系ソフトウェアベンダー (ISV) ソフトウェアとの互換性を維持することを推奨します。 このトピックでは、ECSインスタンスでRHEL 7をRHEL 8にアップグレードする方法について説明します。
現在のビジネスをRHEL 7で維持する必要がある場合は、Alibaba Cloud RHEL Extended Life Cycle Support (ELS) アドオンサブスクリプションを購入して、ELSフェーズで継続的なソフトウェアメンテナンスと技術サポートを受けることを推奨します。 詳細については、「Red Hat Enterprise Linux 7 ELSガイダンス」をご参照ください。
前提条件
アップグレードするECSインスタンスは、RHEL 8を実行するための要件を満たしています。 詳細については、「Red Hat Enterprise Linuxテクノロジーの機能と制限」をご参照ください。
ECSインスタンスは、Alibaba Cloud Marketplaceで購入されたRHEL 7サブスクリプションを含むRHEL 7イメージ、またはAlibaba Cloudにインポートされ、別途購入されたAlibaba Cloud RHEL 7サブスクリプションを含むRHEL 7イメージを使用します。
説明オペレーティングシステムにRHEL 7サブスクリプションがあるかどうかを確認するには、
rpm -q client-rhel7
コマンドを実行します。client-rhel7-3.0-1.el7_9.noarch
と同様のコマンド出力が返された場合、Alibaba Cloud RHEL 7サブスクリプションを購入しました。Red Hat RHEL 7サブスクリプションを購入した場合は、Red Hatの公式WebサイトでRHEL 7からRHEL 8へのアップグレードを参照してください。
手順
アップグレード操作はリスクを引き起こす可能性があります。 アップグレードを実行する前に、インスタンスにディスクのスナップショットを作成して重要なデータをバックアップし、アップグレードプロセスとプロセス中に発生する可能性のある問題に慣れることをお勧めします。 アップグレードを実行するときは注意してください。 ディスクのスナップショットの作成方法については、「ディスクのスナップショットの作成」をご参照ください。
ルートユーザーとしてRHEL 7オペレーティングシステムを実行しているECSインスタンスに接続します。
詳細については、「パスワードまたはキーを使用したLinuxインスタンスへの接続」をご参照ください。
アップグレードのためにRHEL 7オペレーティングシステムを準備します。
次のコマンドを実行してRHEL 7オペレーティングシステムを最新のマイナーバージョンに更新し、インスタンスを再起動して更新を有効にします。
yum -y update reboot
次のコマンドを実行して、RHEL 7オペレーティングシステムにLeappユーティリティをインストールします。
yum -y install leapp leapp-rhui-alibaba --enablerepo="*"
アップグレード前のチェックを実行します。
RHEL 7はRHEL 8と大きく異なるため、アップグレード前のチェックを実行するにはLeappユーティリティを使用する必要があります。 Leappチェック結果を表示し、提案に基づいて構成を変更してアップグレード要件を満たすことができます。
次のコマンドを実行して、アップグレード前のチェックを実行します。 デフォルトでは、RHEL 7はRHEL 8の最新バージョンにアップグレードされます。
leapp preupgrade --no-rhsm
説明RHEL 8バージョンを指定することもできます。 たとえば、RHEL 8.8にアップグレードするには、
leapp preupgrade -- no-rhsm -- target 8.8
コマンドを実行します。サポートされているRHEL 8のバージョンを表示するには、
leapp preupgrade -h
コマンドを実行します。
アップグレード前のチェック結果を表示します。
Leappアップグレード前チェックログは、次のログファイルに保存されます。
/var/log/leapp/leapp-preupgrade.log: Leappユーティリティのログを保存します。
/var/log/leapp/leapp-report.txt: アップグレード前のチェックレポートをテキスト形式で保存します。
/var/log/leapp/leapp-report.json: アップグレード前のチェックレポートをJSON形式で保存します。
アップグレード前のチェックが失敗した場合、次の図に示すように、特定の失敗した項目 (阻害剤) が表示されます。
アップグレード前レポートで報告される問題を解決します。
アップグレード前のチェックレポートを
/var/log/leapp/leapp-report.txt
ファイルで分析します。 Leappユーティリティが提供する修復の提案に従って、報告されたすべての問題を解決します。 次のセクションでは、アップグレード前のチェックレポートで報告されるいくつかの一般的な問題と、問題を解決する方法について説明します。
次のコマンドを実行してRHEL 7をアップグレードします。 デフォルトでは、RHEL 7はRHEL 8の最新バージョンにアップグレードされます。
leapp upgrade --no-rhsm
説明RHEL 8バージョンを指定することもできます。 たとえば、RHEL 8.8にアップグレードするには、
leapp upgrade -- no-rhsm -- target 8.8
コマンドを実行します。次のコマンド出力は、アップグレードが完了したことを示します。
次のコマンドを実行して、インスタンスを再起動します。
reboot
RHEL 8オペレーティングシステムのアップグレード後のステータスを確認します。
アップグレードログまたはレポートを確認します。
RHEL 8オペレーティングシステムでは、
/var/log/leapp/leapp-upgrade.txt
ファイルのアップグレードログ、または/var/log/leapp/leapp-report.txt
ファイルのアップグレードレポートを表示して、アップグレードプロセスの詳細を取得できます。次のログ情報は、特定のソフトウェアパッケージのインストールまたはアップグレードに失敗する可能性があることを示しています。 アップグレード後にソフトウェアパッケージを手動でインストールできます。
Risk Factor: high Title: Packages from unknown repositories may not be installed Summary: 3 packages may not be installed or upgraded due to repositories unknown to leapp: - python3-pyxattr (repoid: rhel8-CRB) - rpcgen (repoid: rhel8-CRB) - ustr (repoid: rhel8-CRB) Remediation: [hint] In case the listed repositories are mirrors of official repositories for RHEL (provided by Red Hat on CDN) and their repositories IDs has been customized, you can change the configuration to use the official IDs instead of fixing the problem. You can also review the projected DNF upgrade transaction result in the logs to see what is going to happen, as this does not necessarily mean that the listed packages will not be upgraded. You can also install any missing packages after the in-place upgrade manually.
次のログ情報は、特定のRHEL 7パッケージがアップグレードされていないことを示します。 パッケージを削除して、オペレーティングシステムをサポートされている状態に保持できます。
Risk Factor: high Title: Some RHEL 7 packages have not been upgraded Summary: Following RHEL 7 packages have not been upgraded: leapp-upgrade-el7toel8-0.18.0-1.el7_9 kernel-3.10.0-1160.92.1.el7 leapp-rhui-alibaba-1.0.0-1.el7_9 Please remove these packages to keep your system in supported state.
yum remove leapp-upgrade-el7toel8-0.18.0-1.el7_9 kernel-3.10.0-1160.92.1.el7 leapp-rhui-alibaba-1.0.0-1.el7_9
を実行して、パッケージを削除します。
RHEL 8でビジネスが期待どおりに実行されるかどうかを確認します。
(条件付きで必要) RHEL 8のソフトウェアリポジトリを設定するには、次のコマンドを実行します。
アップグレードを実行すると、
/etc/dnf/vars/releasever
ファイルがデフォルトで変更され、前の手順で使用したRHEL 8バージョンが指定されます。 たとえば、RHEL 8.8ソフトウェアリポジトリアドレスはhttps:// xxxx/8.8/xxx
に設定され、RHEL 8.8ソフトウェアパッケージにのみアクセスできます。 RHEL 8.10などのRHEL 8の最新のマイナーバージョンのパッケージに自動的にアクセスしたい場合は、リリース設定ファイルを削除してメタデータキャッシュを再構築できます。 これにより、最新のセキュリティパッチと機能の更新を取得できます。rm -f /etc/dnf/vars/releasever dnf clean all && dnf makecache
実行が完了すると、ソフトウェアリポジトリアドレスが
https:// xxxx/8/xxx
に更新され、RHEL 8パッケージの最新バージョンを入手できます。
関連ドキュメント
RHELの詳細については、「Red Hat Enterprise Linux」をご参照ください。
RHEL 7 ELSフェーズの詳細については、Red Hatがリリースした公式のFAQを参照してください。