適用対象: ✔️ Linux VM
Red Hat Enterprise Linux (RHEL) での大規模なアップグレードを行うには、メジャー バージョン間 (RHEL 7 から RHEL 8、RHEL 8 から RHEL 9) での切り替えが必要です。 大規模なアップグレードにより、新機能、機能強化、セキュリティとパフォーマンスの向上など、重要な変更が行われます。 プロセスは複雑になる可能性がありますが、Red Hat にはアップグレード プロセスを簡素化および合理化するためのツールとガイダンスが用意されています。
例として、Leapp ツールがあります。 Leapp ツールは、RHEL システムの次のメジャー バージョンへのアップグレード プロセスを自動化するように設計されています。 これは、チェックを実行し、推奨事項を提供し、アップグレード中に発生する問題を解決するのに役立ちます。 この記事では、Red Hat オペレーティング システムのメジャー アップグレード中に Leapp ツールを使用するときに発生する一般的な問題のトラブルシューティング方法について説明します。
注意事項
2024 年 6 月 30 日、Red Hat Enterprise Linux 7 はメンテナンス サポート 2 フェーズの終了に達しました。 メンテナンス フェーズの後に、延長ライフサイクル フェーズが続きます。 Red Hat Enterprise Linux 7 が完全およびメンテナンスフェーズから移行する場合は、Red Hat Enterprise Linux 8 または 9 にアップグレードする必要があります。 Red Hat Enterprise Linux 7 を使用する必要がある場合は、 Red Hat Enterprise Linux Extended Life Cycle Support (ELS) アドオンを追加することをお勧めします。
アップグレード前の推奨事項
Leapp のアップグレード前とアップグレードのプロセスを開始する前に、次のアクションを実行していることを確認してください。
仮想マシン (VM) または OS ディスクのスナップショットのバックアップを作成します。
アップグレードに対応するために、
/var/lib/leapp
の十分な領域をクリアします。 ベスト プラクティスは、少なくとも 2 ~ 5 GB の空き領域を使用することです。シリアル コンソールへのアクセスを設定します。
これらのタスクを完了したら、シリアル コンソールを使用して Leapp のアップグレードプロセスとアップグレード プロセスを開始できます。
インヒビターの問題とエラー
インヒビターの問題 アップグレードの続行を妨げる、アップグレード前の評価中に特定される特定の問題です。 これらの問題は重要であり、アップグレードに進む前に解決する必要があります。 アップグレード中およびアップグレード後にシステムの安定性と機能を維持するために、インヒビターの問題を排除する必要があります。
エラー は、中断や障害の原因となる可能性があるアップグレード プロセス中に発生する可能性がある問題を指します。 これらのエラーは、アップグレード前のチェック中と実際のアップグレード中の両方で、異なる段階で発生する可能性があります。
一般的な阻害剤の種類
インヒビターの種類 | 説明 |
---|---|
サポートされていないパッケージ | 現在のシステムにインストールされている、ターゲット バージョンで使用できないパッケージまたはサポートされていないパッケージ |
互換性のないハードウェア | ターゲット バージョンでサポートされていないハードウェア コンポーネント |
構成の問題 | 新しいバージョンと互換性のない、調整が必要なシステム構成 |
サード パーティ ソフトウェア | アップグレード プロセスに干渉する可能性がある Red Hat 以外のソフトウェア |
ファイル システムのレイアウト | ターゲット バージョンでサポートされていないパーティション分割スキームなど、OS ファイル システムのレイアウトに関連する問題 |
ネットワークの変更 | 新しいバージョンのネットワーク スタックに合わせて更新する必要があるネットワーク構成 |
カスタム スクリプト | 新しいバージョンと互換性がない可能性があるカスタム スクリプトまたは cron ジョブ |
一般的なエラーの種類
エラーの種類 | 説明 |
---|---|
インストール エラー | アップグレード中にパッケージをインストールするときに発生するエラー |
サービスの障害 | アップグレード プロセス中に正しく開始または停止しないサービス |
ファイル システムの問題 | ディスク領域、ファイルの破損、またはマウント ポイントに関する問題 |
ネットワークの問題。 | パッケージのダウンロードまたはインストールに影響するネットワーク接続の問題 |
Leapp レポートでインヒビターまたはエラーを見つける
Leapp レポートは、 /var/log/leapp/leapp-report.txt
にあります。 レポートを開き、インヒビターとしてマークされているセクションを探します。 これらのセクションでは、解決する必要がある問題の一覧を示します。
各インヒビターについて、レポートには通常、詳細な修復手順が示されます。 これらの手順には、実行するコマンド、インストールするパッケージ、または行う構成の変更を含めることができます。
次の一覧には、インヒビターとその修復について説明する出力の一般的な出現回数が含まれています。
インヒビター出力 1
Inhibitor: Missing package 'pkg_name' required for upgrade. Remediation: Install the missing package by running: [command] sudo yum install pkg_name
インヒビター出力 2
Risk Factor: high (inhibitor) Title: Possible problems with remote login using root account Summary: OpenSSH configuration file does not explicitly state the option PermitRootLogin in sshd_config file, which will default in RHEL8 to "prohibit-password". Remediation: [hint] If you depend on remote root logins using passwords, consider setting up a different user for remote administration or adding "PermitRootLogin yes" to sshd_config. If this change is ok for you, add explicit "PermitRootLogin prohibit-password" to your sshd_config to ignore this inhibitor
インヒビター出力 3
Risk Factor: high (inhibitor) Title: Missing required answers in the answer file Summary: One or more sections in answerfile are missing user choices: remove_pam_pkcs11_module_check.confirm For more information consult https://red.ht/leapp-dialogs. Remediation: [hint] Please register user choices with leapp answer cli command or by manually editing the answerfile. [command] leapp answer --section remove_pam_pkcs11_module_check.confirm=True
インヒビター出力 4
Risk Factor: high (inhibitor) Title: Use of CIFS detected. Upgrade can't proceed Summary: CIFS is currently not supported by the inplace upgrade. Remediation: [hint] Comment out CIFS entries to proceed with the upgrade.
インヒビター出力 5
Risk Factor: high (inhibitor) Title: Detected loaded kernel drivers which have been removed in RHEL 8. Upgrade cannot proceed. Summary: Support for the following RHEL 7 device drivers has been removed in RHEL 8: pata_acpi floppy Remediation: blocklist modules that are unsupported in RHEL 8 (floppy and pata_acpi) or unload the modules by running [command] sudo rmmod floppy pata_acpi
インヒビター出力 6
Risk Factor: high (inhibitor) Title: Btrfs has been removed from RHEL8 Summary: The Btrfs file system was introduced as Technology Preview with the initial release of Red Hat Enterprise Linux 6 and Red Hat Enterprise Linux 7. As of versions 6.6 and 7.4 this technology has been deprecated and removed in RHEL8. Remediation: If filesystem is currently mounted with BTRFS proceed with fresh reinstallation as it is no longer supported on Red Hat Enterprise Linux 8 If any btrfs is not currently in use by any filesystem, remove the btrfs module using the [command] modprobe -rv btrfs
インヒビター出力 7
Inhibitor: Newest installed kernel not in use Remediation: If the system is having the latest RHEL7 kernel installed, take a reboot and boot the system from the latest kernel. If the system is NOT having the latest RHEL7 kernel installed, install it using [command] yum install <latest kernel package>
インヒビター出力 8
Risk Factor: high (inhibitor) Title: Multiple devel kernels installed Summary: DNF cannot produce a valid upgrade transaction when multiple kernel-devel packages are installed. Remediation: [hint] Remove all but one kernel-devel packages before running Leapp again. [command] yum -y remove kernel-devel-X.XX.X-XXX.XXX kernel-devel-X.XX.X-XXXX.XXX.X.XXX
インヒビター出力 9
Risk Factor: medium (inhibitor) Title: A YUM/DNF repository defined multiple times Summary: The following repositories are defined multiple times inside the "upgrade" container: - repo-id Remediation: [hint] Remove the duplicate repository definitions or change repoids of conflicting repositories on the system to prevent the conflict
インヒビター出力 10
Risk Factor: high (inhibitor) Title: Firewalld Configuration AllowZoneDrifting Is Unsupported Summary: Firewalld has enabled configuration option "AllowZoneDrifiting" which has been removed in RHEL-9. New behavior is as if "AllowZoneDrifiting" was set to "no". Related links: - Changes in firewalld related to Zone Drifting: https://access.redhat.com/articles/4855631 Remediation: [hint] Set AllowZoneDrifting=no in /etc/firewalld/firewalld.conf [command] sed -i s/^AllowZoneDrifting=.*/AllowZoneDrifting=no/ /etc/firewalld/firewalld.conf
注:
インヒビターが一覧に含まれていない場合でも、アップグレード前のレポート全体を慎重に調べます。 このレポートには、アップグレード前に推奨されるアクションが表示され、後でシステムが正しく動作するようにします。
すべてのインヒビターを修正したら、アップグレード前のチェックをもう一度実行して、すべての問題が解決されていることを確認します。
Leapp Preupgrade の一般的な問題
アップグレード前の現象 1: urllib3 ライブラリが破損しているか、見つからない
Python の urllib3 ライブラリが破損しているか不足していると、次のエラー メッセージが生成されます。
Traceback (most recent call last):
File "/bin/leapp", line 9, in <module>
load_entry_point('leapp==0.16.0', 'console_scripts', 'leapp')()
File "/usr/lib/python2.7/site-packages/leapp/cli/__init__.py", line 43, in main
_load_commands(cli.command)
File "/usr/lib/python2.7/site-packages/leapp/cli/__init__.py", line 27, in _load_commands
package = pkgutil.get_loader(package_name).load_module(package_name)
File "/usr/lib64/python2.7/pkgutil.py", line 246, in load_module
mod = imp.load_module(fullname, self.file, self.filename, self.etc)
File "/usr/lib/python2.7/site-packages/leapp/cli/commands/list_runs/__init__.py", line 6, in <module>
from leapp.cli.commands.upgrade.util import fetch_all_upgrade_contexts
File "/usr/lib/python2.7/site-packages/leapp/cli/commands/upgrade/__init__.py", line 9, in <module>
from leapp.logger import configure_logger
File "/usr/lib/python2.7/site-packages/leapp/logger/__init__.py", line 10, in <module>
from leapp.utils.actorapi import get_actor_api, RequestException
File "/usr/lib/python2.7/site-packages/leapp/utils/actorapi.py", line 4, in <module>
import requests
File "/usr/lib/python2.7/site-packages/requests/__init__.py", line 58, in <module>
from . import utils
File "/usr/lib/python2.7/site-packages/requests/utils.py", line 32, in <module>
from .exceptions import InvalidURL
File "/usr/lib/python2.7/site-packages/requests/exceptions.py", line 10, in <module>
from urllib3.exceptions import HTTPError as BaseHTTPError
ImportError: No module named urllib3.exceptions
アップグレード前のソリューション 1: python-urllib3 パッケージを再インストールする
次のコマンドを実行して、 python-urllib3 パッケージを再インストールします。
sudo mv /usr/lib/python2.7/site-packages/urllib3 /tmp/
sudo yum reinstall python-urllib3
アップグレード前の現象 2: 30,001 ミリ秒後に接続がタイムアウトしました
Red Hat Update Infrastructure (RHUI) IP アドレスへの通信ブロックでは、次のエラー メッセージが生成されます。
Risk Factor: high (error)
Title: Actor rpm_scanner unexpectedly terminated with exit code: 1
Summary: Traceback (most recent call last):
File "/usr/lib/python2.7/site-packages/leapp/repository/actor_definition.py", line 74, in _do_run
actor_instance.run(*args, **kwargs)
File "/usr/lib/python2.7/site-packages/leapp/actors/__init__.py", line 289, in run
self.process(*args)
File "/usr/share/leapp-repository/repositories/system_upgrade/common/actors/rpmscanner/actor.py", line 20, in process
rpmscanner.process()
File "/usr/share/leapp-repository/repositories/system_upgrade/common/actors/rpmscanner/libraries/rpmscanner.py", line 110, in process
pkg_repos = get_package_repository_data()
File "/usr/share/leapp-repository/repositories/system_upgrade/common/actors/rpmscanner/libraries/rpmscanner.py", line 77, in get_package_repository_data
return _get_package_repository_data_yum()
File "/usr/share/leapp-repository/repositories/system_upgrade/common/actors/rpmscanner/libraries/rpmscanner.py", line 31, in _get_package_repository_data_yum
for pkg in yum_base.doPackageLists().installed:
File "/usr/lib/python2.7/site-packages/yum/__init__.py", line 2981, in doPackageLists
avail = self.pkgSack.returnNewestByNameArch(patterns=patterns,
File "/usr/lib/python2.7/site-packages/yum/__init__.py", line 1075, in <lambda>
pkgSack = property(fget=lambda self: self._getSacks(),
File "/usr/lib/python2.7/site-packages/yum/__init__.py", line 778, in _getSacks
self.repos.populateSack(which=repos)
File "/usr/lib/python2.7/site-packages/yum/repos.py", line 347, in populateSack
self.doSetup()
File "/usr/lib/python2.7/site-packages/yum/repos.py", line 157, in doSetup
self.retrieveAllMD()
File "/usr/lib/python2.7/site-packages/yum/repos.py", line 88, in retrieveAllMD
dl = repo._async and repo._commonLoadRepoXML(repo)
File "/usr/lib/python2.7/site-packages/yum/yumRepo.py", line 1482, in _commonLoadRepoXML
result = self._getFileRepoXML(local, text)
File "/usr/lib/python2.7/site-packages/yum/yumRepo.py", line 1259, in _getFileRepoXML
size=102400) # setting max size as 100K
File "/usr/lib/python2.7/site-packages/yum/yumRepo.py", line 1042, in _getFile
raise e
NoMoreMirrorsRepoError: failure: repodata/repomd.xml from rhel-7-server-ansible-2-rhui-rpms: [Errno 256] No more mirrors to try.
https://rhui4-1.microsoft.com/pulp/repos/content/dist/rhel/rhui/server/7/7Server/x86_64/ansible/2/os/repodata/repomd.xml: [Errno 12] Timeout on https://rhui4-1.microsoft.com/pulp/repos/content/dist/rhel/rhui/server/7/7Server/x86_64/ansible/2/os/repodata/repomd.xml: (28, 'Connection timed out after 30001 milliseconds')
https://rhui4-1.microsoft.com/pulp/repos/content/dist/rhel/rhui/server/7/7Server/x86_64/ansible/2/os/repodata/repomd.xml: [Errno 12] Timeout on https://rhui4-1.microsoft.com/pulp/repos/content/dist/rhel/rhui/server/7/7Server/x86_64/ansible/2/os/repodata/repomd.xml: (28, 'Connection timed out after 30001 milliseconds')
https://rhui4-1.microsoft.com/pulp/repos/content/dist/rhel/rhui/server/7/7Server/x86_64/ansible/2/os/repodata/repomd.xml: [Errno 12] Timeout on https://rhui4-1.microsoft.com/pulp/repos/content/dist/rhel/rhui/server/7/7Server/x86_64/ansible/2/os/repodata/repomd.xml: (28, 'Connection timed out after 30001 milliseconds')
https://rhui4-1.microsoft.com/pulp/repos/content/dist/rhel/rhui/server/7/7Server/x86_64/ansible/2/os/repodata/repomd.xml: [Errno 12] Timeout on https://rhui4-1.microsoft.com/pulp/repos/content/dist/rhel/rhui/server/7/7Server/x86_64/ansible/2/os/repodata/repomd.xml: (28, 'Connection timed out after 30001 milliseconds')
https://rhui4-1.microsoft.com/pulp/repos/content/dist/rhel/rhui/server/7/7Server/x86_64/ansible/2/os/repodata/repomd.xml: [Errno 12] Timeout on https://rhui4-1.microsoft.com/pulp/repos/content/dist/rhel/rhui/server/7/7Server/x86_64/ansible/2/os/repodata/repomd.xml: (28, 'Connection timed out after 30001 milliseconds')
アップグレード前のソリューション 2: RHUI 接続を許可する
RHUI への接続を許可します。 詳細については、「 Linux RHUI 接続の問題を参照してください。
アップグレード前の現象 3: subscription-manager コマンドが実行されませんでした
従量課金制 (PayGo) イメージで Red Hat サブスクリプション マネージャーを持つ Leapp アップグレードを実行すると、次のエラー メッセージが表示されることがあります。
[ERROR] Actor: scan_subscription_manager_info
Message:
Summary:
Details: Command ['subscription-manager', 'release'] failed with exit code 1.
Stderr: This system is not yet registered. Try 'subscription-manager register --help' for more information.
Hint: Please ensure you have a valid RHEL subscription and your network is up. If you are using proxy for Red Hat subscription-manager, please make sure it is specified inside the /etc/rhsm/rhsm.conf file. Or use the --no-rhsm option when running leapp, if you do not want to use subscription-manager for the in-place upgrade and you want to deliver all target repositories by yourself or using RHUI on public cloud.
アップグレード前のソリューション 3: subscription-manager ツールをバイパスする
Azure で PayGo イメージを使用する場合、システムは代わりに RHUI を使用するように設計されているため、 subscription-manager
ツールを実行できません。 アップグレード中にsubscription-manager
をバイパスするには、--no-rhsm
フラグを指定する必要があります。
アップグレード前の現象 4: Leapp のアップグレード前に RHEL 8 ユーザースペース パッケージがインストールされない ("execv() failed: No such file or directory")
Leapp のアップグレード前を実行すると、次の "Unable to install RHEL 8 userspace packages" (RHEL 8 ユーザースペース パッケージをインストールできません) というエラー メッセージが表示されることがあります。
Risk Factor: high
Title: Unable to install RHEL 8 userspace packages.
Summary: {"details": "DNF failed to install userspace packages, likely due to the proxy config
uration detected in a repository configuration file.", "stderr": "Failed to create directory /
var/lib/leapp/scratch/mounts/root_/system_overlay//sys/fs/selinux: Read-only file system
Failed to create directory /var/lib/leapp/scratch/mounts/root_/system_overlay//sys/fs/selinux:
Read-only file system
Host and machine ids are equal (35e06890bn8g56f798g8904356fsd5f8): refusing to link journals
execv() failed: No such file or directory
次の "DNF 構成に関するデータを取得できません" というエラー メッセージが表示される場合もあります。
Risk Factor: high
Title: Cannot obtain data about the DNF configuration
Summary: {"stderr": "Failed to retrieve machine ID: No such file or directory\n", "stdout": ""}
Key: b41a40f4129e340f05c6b14d1a850b626c4185d1
アップグレード前のソリューション 4: dnf パッケージをインストールする
dnf パッケージがインストールされていること、および問題や破損したファイルがそのパッケージに関連付けられていないことを確認します。
sudo package-cleanup --problems
Package leapp-upgrade-el7toel8-deps-0.18.0-1.el7_9.noarch has missing requires of dnf >= ('0', '4', None)
sudo yum reinstall leapp\*
sudo rpm -Va dnf\* leapp\*
.M....... g /var/log/dnf.librepo.log
.M....... g /var/log/dnf.log
.M....... g /var/log/dnf.rpm.log
.M....... g /var/log/hawkey.log
アップグレード前の現象 5: /var/lib/leapp/el8userspace'、'/bin/bash'、'-c'、'su - -c update-ca-trust'] が終了コード 1 で失敗しました
Leapp のアップグレード前を実行すると、次の "アクター target_userspace_creator予期せず終了しました" というエラー メッセージが表示されることがあります。
Factor: high error
Title: Actor target_userspace_creator unexpectedly terminated with exit code: 1
Summary: Traceback most recent call last: File '/usr/lib/python2.7/site-packages/leapp/repository/actor_definition.py',
line 74, in _do_run actor_instance.run*args, **kwargs File '/usr/lib/python2.7/site-packages/leapp/actors/__init__.py', line 289, in run
self.process*args File '/usr/share/leapp-repository/repositories/system_upgrade/common/actors/targetuserspacecreator/actor.py', line 58, in process userspacegen.perform File '/usr/lib/python2.7/site-packages/leapp/utils/deprecation.py', line 42, in process_wrapper return target_item*args, **kwargs File '/usr/share/leapp-repository/repositories/system_upgrade/common/actors/targetuserspacecreator/libraries/userspacegen.py',
line 1246, in perform _create_target_userspacecontext, indata, indata.packages, indata.files, target_repoids File '/usr/share/leapp-repository/repositories/system_upgrade/common/actors/targetuserspacecreator/libraries/userspacegen.py',
line 1108, in _create_target_userspace _prep_repository_accesscontext, target_path File '/usr/share/leapp-repository/repositories/system_upgrade/common/actors/targetuserspacecreator/libraries/userspacegen.py',
line 629, in _prep_repository_access run['chroot', target_userspace, '/bin/bash', '-c', 'su - -c update-ca-trust'] File '/usr/lib/python2.7/site-packages/leapp/libraries/stdlib/__init__.py', line 192, in run result=resultCalledProcessError: Command ['chroot', '/var/lib/leapp/el8userspace', '/bin/bash', '-c', 'su - -c update-ca-trust'] failed with exit code 1
アップグレード前のソリューション 5: CA 証明書を再インストールし、CA 信頼を更新する
update-ca-trust
コマンドが失敗する原因となった既存の ca-certificates パッケージ内で問題が発生しました。 この問題を解決するには、 ca-certificates パッケージを再インストールし、 update-ca-trust
コマンドを実行します。
sudo yum reinstall ca-certificates
sudo update-ca-trust
アップグレード前の現象 6: FileNotFoundError: [Errno 2] そのようなファイルまたはディレクトリがありません: '/etc/leapp/repos.d/system_upgrade/common/files/rhui/azure-XX/content-XX.crt'
leapp
ツールバージョンがlapp-rhui-azure-sap-1.0.0-14.el8.noarch
されているSAP-HANA
またはSAPApps
、またはバージョンがleapp-rhui-azure-1.0.0-14.el8.noarch
された基本 Red Hat イメージに対して、RHEL
8 でleapp preupgrade
を実行しようとすると、次のエラー メッセージが生成されます。
====> * target_userspace_creator
Initializes a directory to be populated as a minimal environment to run binaries from the target system.
Process Process-408:
Traceback (most recent call last):
File "/usr/lib64/python3.6/multiprocessing/process.py", line 258, in _bootstrap
self.run()
File "/usr/lib64/python3.6/multiprocessing/process.py", line 93, in run
self._target(*self._args, **self._kwargs)
File "/usr/lib/python3.6/site-packages/leapp/repository/actor_definition.py", line 74, in _do_run
actor_instance.run(*args, **kwargs)
File "/usr/lib/python3.6/site-packages/leapp/actors/__init__.py", line 289, in run
self.process(*args)
File "/etc/leapp/repos.d/system_upgrade/common/actors/targetuserspacecreator/actor.py", line 58, in process
userspacegen.perform()
File "/usr/lib/python3.6/site-packages/leapp/utils/deprecation.py", line 42, in process_wrapper
return target_item(*args, **kwargs)
File "/etc/leapp/repos.d/system_upgrade/common/actors/targetuserspacecreator/libraries/userspacegen.py", line 774, in perform
target_repoids = _gather_target_repositories(context, indata, prod_cert_path)
File "/etc/leapp/repos.d/system_upgrade/common/actors/targetuserspacecreator/libraries/userspacegen.py", line 714, in _gather_target_repositories
rhui.copy_rhui_data(context, indata.rhui_info.provider)
File "/etc/leapp/repos.d/system_upgrade/common/libraries/rhui.py", line 259, in copy_rhui_data
context.copy_to(os.path.join(data_dir, path_[0]), path_[1])
File "/etc/leapp/repos.d/system_upgrade/common/libraries/mounting.py", line 232, in copy_to
shutil.copy2(src, self.full_path(dst))
File "/usr/lib64/python3.6/shutil.py", line 263, in copy2
copyfile(src, dst, follow_symlinks=follow_symlinks)
File "/usr/lib64/python3.6/shutil.py", line 120, in copyfile
with open(src, 'rb') as fsrc:
FileNotFoundError: [Errno 2] No such file or directory: '/etc/leapp/repos.d/system_upgrade/common/files/rhui/azure-sap-ha/content-sap-ha.crt'
SAP-HA イメージは次を生成します。
FileNotFoundError: [Errno 2] No such file or directory:'/etc/leapp/repos.d/system_upgrade/common/files/rhui/azure-sap-ha/content-sap-ha.crt'
SAPApps イメージでは、次の情報が生成されます。
FileNotFoundError: [Errno 2] No such file or directory:'/etc/leapp/repos.d/system_upgrade/common/files/rhui/azure-sap-apps/content-sapapps.crt'
基本イメージの生成:
FileNotFoundError: [Errno 2] No such file or directory: '/etc/leapp/repos.d/system_upgrade/common/files/rhui/azure/content.crt'
アップグレード前のソリューション 6
この問題の回避策は、 leapp-rhui-azure-sap
のバージョンを SAP イメージの leapp-rhui-azure-sap-1.0.0-10.el8.noarch
にダウングレードし、 leapp-rhui-azure
のバージョンを Red Hat 基本イメージの leapp-rhui-azure-1.0.0-10.el8.noarch
にダウングレードすることです。
SAP イメージ:
sudo dnf downgrade leapp-rhui-azure-sap
基本イメージ:
sudo dnf downgrade leapp-rhui-azure
すべてのインヒビターを解決したら、アップグレード前をもう一度実行し、すべての問題が解決されていることを確認します。
Leapp アップグレードの一般的な問題
アップグレード前のレポートにエラーやインヒビターが表示されておらず、すべてが解決済みとしてマークされたら、Leapp のアップグレードに進みます。 このレポートでは、通常、出力は緑または黄色で表示され、Leapp アップグレードを実行しても安全であることを示します。
次の現象は、Leapp アップグレード プロセス中に報告される一般的なエラーを示しています。
アップグレードの現象 1: /var/lib/leapp/scratch に十分な空き領域がありません
Leapp アップグレードを実行すると、次の "空き領域が不足しています" というエラー メッセージが表示されることがあります。
2024-06-14 19:31:45.552155 [ERROR] Actor: dnf_dry_run
Message: Not enough space available on /var/lib/leapp/scratch: Needed at least 1224 MiB.
Summary:
Detail: The file system hosting the /var/lib/leapp/scratch directory does not contain enough free space to proceed all parts of the in-place upgrade. Note the calculated required free space is the minimum derived from upgrades of minimal systems and the actual needed free space could be higher.
Needed at least: 1224 MiB.
Suggested free space: 2224 MiB (or more).
アップグレード ソリューション 1: ファイル システムを拡張する
/var/lib/leapp
がマウントされているファイル システムを拡張します。 通常、マウントは /dev/mapper/rootvg-varlv にあります。
通常、出力は緑または黄色で表示され、Leapp アップグレードを安全に実行できることを示します。
アップグレードの現象 2: openssl-libs-1:1.1.1k-12.el8_9.x86_64 がパッケージ openssl11-libs-1:1.1.1k-7.el7.x86_64 からのファイルと競合しています
次のソースのライブラリ間に競合が存在します。
- Enterprise Linux 用追加パッケージ (EPEL) リポジトリの openssl11-libs パッケージ
- Red Hat によって提供される RHEL 8 用の openssl および openssl-libs パッケージ (インプレース アップグレードに必要)
この状況では、次のエラー メッセージが表示されます。
Error: Transaction test error:
file /usr/lib64/.libcrypto.so.1.1.1k.hmac from install of openssl-libs-1:1.1.1k-12.el8_9.x86_64 conflicts with file from package openssl11-libs-1:1.1.1k-7.el7.x86_64
file /usr/lib64/.libssl.so.1.1.1k.hmac from install of openssl-libs-1:1.1.1k-12.el8_9.x86_64 conflicts with file from package openssl11-libs-1:1.1.1k-7.el7.x86_64
file /usr/lib64/engines-1.1/afalg.so from install of openssl-libs-1:1.1.1k-12.el8_9.x86_64 conflicts with file from package openssl11-libs-1:1.1.1k-7.el7.x86_64
file /usr/lib64/engines-1.1/capi.so from install of openssl-libs-1:1.1.1k-12.el8_9.x86_64 conflicts with file from package openssl11-libs-1:1.1.1k-7.el7.x86_64
file /usr/lib64/engines-1.1/padlock.so from install of openssl-libs-1:1.1.1k-12.el8_9.x86_64 conflicts with file from package openssl11-libs-1:1.1.1k-7.el7.x86_64
file /usr/lib64/libcrypto.so.1.1.1k from install of openssl-libs-1:1.1.1k-12.el8_9.x86_64 conflicts with file from package openssl11-libs-1:1.1.1k-7.el7.x86_64
file /usr/lib64/libssl.so.1.1.1k from install of openssl-libs-1:1.1.1k-12.el8_9.x86_64 conflicts with file from package openssl11-libs-1:1.1.1k-7.el7.x86_64
Hint: If there was a problem reaching remote content (see stderr output) and proxy is configured in the YUM/DNF configuration file, the proxy configuration is likely causing this error. Make sure the proxy is properly configured in /etc/dnf/dnf.conf. It's also possible the proxy settings in the DNF configuration file are incompatible with the target system. A compatible configuration can be placed in /etc/leapp/files/dnf.conf which, if present, it will be used during some parts of the upgrade instead of original /etc/dnf/dnf.conf. In such case the configuration will also be applied to the target system. Note that /etc/dnf/dnf.conf needs to be still configured correctly for your current system to pass the early phases of the upgrade process.
アップグレード ソリューション 2: openssl11-* パッケージを削除する
サード パーティベンダー用に openssl11-* パッケージがインストールされていることを確認します。 そのパッケージがサード パーティベンダーから提供されている場合は、次のコマンドに示すように、パッケージを削除します。
注:
この競合エラー メッセージは、他のサード パーティ製パッケージ マネージャーを使用している場合に生成される可能性があります。 この例では、競合は openssl11 でした。
sudo yum list installed | grep -i openssl11
sudo yum remove openssl11 openssl11-libs
openssl11.x86_64 1:1.1.1k-7.el7 @epel
openssl11-libs.x86_64 1:1.1.1k-7.el7 @epel
===============================================================================
Package Arch Version Repository Size
================================================================================
Removing:
openssl11 x86_64 1:1.1.1k-7.el7 @epel 1.0 M
openssl11-libs x86_64 1:1.1.1k-7.el7 @epel 3.6 M
Removing for dependencies:
nodejs x86_64 1:16.20.2-1.el7 @epel 290 k
nodejs-libs x86_64 1:16.20.2-1.el7 @epel 50 M
警告: レジストリ エディターまたは別の方法でレジストリを誤って変更すると、重大な問題が発生することがあります。
前の出力に示されている依存関係の問題により、nodejsnodejs-libsなどの他のパッケージが削除された場合は、関連する構成ファイルをバックアップし、インプレース アップグレード後に同じパッケージを手動で再インストールします。
アップグレードの現象 3: インストールされているパッケージ ansible-2.9.27-1.el7ae.noarch と ansible-test-2.9.27-1.el7ae.noarch に関する問題
Leapp アップグレードを実行すると、次の "DNF の実行が 0 以外の終了コードで失敗しました" というエラー メッセージが表示されることがあります。
Risk Factor: high (error)
Title: DNF execution failed with non zero exit code.
Summary: {"hint": "If there was a problem reaching remote content (see stderr output) and proxy is configured in the YUM/DNF configuration file, the proxy configuration is likely causing this error. Make sure the proxy is properly configured in /etc/dnf/dnf.conf. It's also possible the proxy settings in the DNF configuration file are incompatible with the target system. A compatible configuration can be placed in /etc/leapp/files/dnf.conf which, if present, it will be used during some parts of the upgrade instead of original /etc/dnf/dnf.conf. In such case the configuration will also be applied to the target system. Note that /etc/dnf/dnf.conf needs to be still configured correctly for your current system to pass the early phases of the upgrade process.", "STDERR": "No matches found for the following disable plugin patterns: subscription-manager\nFailed loading plugin \"dnf_rhui_plugin\": No module named 'requests'\nWarning: Package marked by Leapp to upgrade not found in repositories metadata: gpg-pubkey leapp-upgrade-el7toel8 leapp python2-leapp\nTransaction check: \n\n Problem: problem with installed package ansible-2.9.27-1.el7ae.noarch\n - cannot install the best update candidate for package ansible-2.9.27-1.el7ae.noarch\n - problem with installed package ansible-test-2.9.27-1.el7ae.noarch\n - cannot install the best update candidate for package ansible-test-2.9.27-1.el7ae.noarch\n - package ansible-test-2.9.0-2.el8.noarch from ansible-2-for-rhel-8-x86_64-rhui-rpms requires ansible = 2.9.0-2.el8, but none of the providers can be installed\n - package ansible-test-2.9.1-1.el8.noarch from ansible-2-for-rhel-8-x86_64-rhui-rpms requires ansible = 2.9.1-1.el8, but none of the providers can be installed\n - package ansible-test-2.9.2-1.el8ae.noarch from ansible-2-for-rhel-8-x86_64-rhui-rpms requires ansible = 2.9.2-1.el8ae, but none of the providers can be installed\n - package ansible-test-2.9.4-1.el8ae.noarch from ansible-2-for-rhel-8-x86_64-rhui-rpms requires ansible = 2.9.4-1.el8ae, but none of the providers can be installed\n - package ansible-test-2.9.5-1.el8ae.noarch from ansible-2-for-rhel-8-x86_64-rhui-rpms requires ansible = 2.9.5-1.el8ae, but none of the providers can be installed\n - package ansible-test-2.9.6-1.el8ae.noarch from ansible-2-for-rhel-8-x86_64-rhui-rpms requires ansible = 2.9.6-1.el8ae, but none of the providers can be installed\n - package ansible-test-2.9.7-1.el8ae.noarch from ansible-2-for-rhel-8-x86_64-rhui-rpms requires ansible = 2.9.7-1.el8ae, but none of the providers can be installed\n - package ansible-test-2.9.9-1.el8ae.noarch from ansible-2-for-rhel-8-x86_64-rhui-rpms requires ansible = 2.9.9-1.el8ae, but none of the providers can be installed\n - package ansible-test-2.9.10-1.el8ae.noarch from ansible-2-for-rhel-8-x86_64-rhui-rpms requires ansible = 2.9.10-1.el8ae, but none of the providers can be installed\n - package ansible-test-2.9.11-1.el8ae.noarch from ansible-2-for-rhel-8-x86_64-rhui-rpms requires ansible = 2.9.11-1.el8ae, but none of the providers can be installed\n - package ansible-test-2.9.13-1.el8ae.noarch from ansible-2-for-rhel-8-x86_64-rhui-rpms requires ansible = 2.9.13-1.el8ae, but none of the providers can be installed\n - package ansible-test-2.9.14-1.el8ae.noarch from ansible-2-for-rhel-8-x86_64-rhui-rpms requires ansible = 2.9.14-1.el8ae, but none of the providers can be installed\n - package ansible-test-2.9.15-1.el8ae.noarch from ansible-2-for-rhel-8-x86_64-rhui-rpms requires ansible = 2.9.15-1.el8ae, but none of the providers can be installed\n - package ansible-test-2.9.16-1.el8ae.noarch from ansible-2-for-rhel-8-x86_64-rhui-rpms requires ansible = 2.9.16-1.el8ae, but none of the providers can be installed\n - package ansible-test-2.9.17-1.el8ae.noarch from ansible-2-for-rhel-8-x86_64-rhui-rpms requires ansible = 2.9.17-1.el8ae, but none of the providers can be installed\n - package ansible-test-2.9.18-1.el8ae.noarch from ansible-2-for-rhel-8-x86_64-rhui-rpms requires ansible = 2.9.18-1.el8ae, but none of the providers can be installed\n - package ansible-test-2.9.19-1.el8ae.noarch from ansible-2-for-rhel-8-x86_64-rhui-rpms requires ansible = 2.9.19-1.el8ae, but none of the providers can be installed\n - package ansible-test-2.9.20-1.el8ae.noarch from ansible-2-for-rhel-8-x86_64-rhui-rpms requires ansible = 2.9.20-1.el8ae, but none of the providers can be installed\n - package ansible-test-2.9.21-1.el8ae.noarch from ansible-2-for-rhel-8-x86_64-rhui-rpms requires ansible = 2.9.21-1.el8ae, but none of the providers can be installed\n - package ansible-test-2.9.22-1.el8ae.noarch from ansible-2-for-rhel-8-x86_64-rhui-rpms requires ansible = 2.9.22-1.el8ae, but none of the providers can be installed\n - package ansible-test-2.9.23-1.el8ae.noarch from ansible-2-for-rhel-8-x86_64-rhui-rpms requires ansible = 2.9.23-1.el8ae, but none of the providers can be installed\n - package ansible-test-2.9.24-1.el8ae.noarch from ansible-2-for-rhel-8-x86_64-rhui-rpms requires ansible = 2.9.24-1.el8ae, but none of the providers can be installed\n - package ansible-test-2.9.25-1.el8ae.noarch from ansible-2-for-rhel-8-x86_64-rhui-rpms requires ansible = 2.9.25-1.el8ae, but none of the providers can be installed\n - package ansible-test-2.9.26-1.el8ae.noarch from ansible-2-for-rhel-8-x86_64-rhui-rpms requires ansible = 2.9.26-1.el8ae, but none of the providers can be installed\n - package ansible-test-2.12.2-3.1.el8.x86_64 from rhel-8-for-x86_64-appstream-rhui-rpms requires ansible-core = 2.12.2-3.1.el8, but none of the providers can be installed\n - package ansible-test-2.12.2-4.el8_6.x86_64 from rhel-8-for-x86_64-appstream-rhui-rpms requires ansible-core = 2.12.2-4.el8_6, but none of the providers can be installed\n - package ansible-test-2.13.3-1.el8.x86_64 from rhel-8-for-x86_64-appstream-rhui-rpms requires ansible-core = 2.13.3-1.el8, but none of the providers can be installed\n - package ansible-test-2.13.3-2.el8_7.x86_64 from rhel-8-for-x86_64-appstream-rhui-rpms requires ansible-core = 2.13.3-2.el8_7, but none of the providers can be installed\n - package ansible-test-2.14.2-3.el8.x86_64 from rhel-8-for-x86_64-appstream-rhui-rpms requires ansible-core = 2.14.2-3.el8, but none of the providers can be installed\n - package ansible-test-2.14.2-4.el8_8.x86_64 from rhel-8-for-x86_64-appstream-rhui-rpms requires ansible-core = 2.14.2-4.el8_8, but none of the providers can be installed\n - package ansible-test-2.15.3-1.el8.x86_64 from rhel-8-for-x86_64-appstream-rhui-rpms requires ansible-core = 2.15.3-1.el8, but none of the providers can be installed\n - package ansible-test-2.16.3-2.el8.x86_64 from rhel-8-for-x86_64-appstream-rhui-rpms requires ansible-core = 2.16.3-2.el8, but none of the providers can be installed\n - cannot install both ansible-2.9.27-1.el8ae.noarch from ansible-2-for-rhel-8-x86_64-rhui-rpms and ansible-2.9.0-2.el8.noarch from ansible-2-for-rhel-8-x86_64-rhui-rpms\n - cannot install both ansible-2.9.27-1.el8ae.noarch from ansible-2-for-rhel-8-x86_64-rhui-rpms and ansible-2.9.1-1.el8.noarch from ansible-2-for-rhel-8-x86_64-rhui-rpms\n - cannot install both ansible-2.9.27-1.el8ae.noarch from ansible-2-for-rhel-8-x86_64-rhui-rpms and ansible-2.9.2-1.el8ae.noarch from ansible-2-for-rhel-8-x86_64-rhui-rpms\n - cannot install both ansible-2.9.27-1.el8ae.noarch from ansible-2-for-rhel-8-x86_64-rhui-rpms and ansible-2.9.4-1.el8ae.noarch from ansible-2-for-rhel-8-x86_64-rhui-rpms\n - cannot install both ansible-2.9.27-1.el8ae.noarch from ansible-2-for-rhel-8-x86_64-rhui-rpms and ansible-2.9.5-1.el8ae.noarch from ansible-2-for-rhel-8-x86_64-rhui-rpms\n - cannot install both ansible-2.9.27-1.el8ae.noarch from ansible-2-for-rhel-8-x86_64-rhui-rpms and ansible-2.9.6-1.el8ae.noarch from ansible-2-for-rhel-8-x86_64-rhui-rpms\n - cannot install both ansible-2.9.27-1.el8ae.noarch from ansible-2-for-rhel-8-x86_64-rhui-rpms and ansible-2.9.7-1.el8ae.noarch from ansible-2-for-rhel-8-x86_64-rhui-rpms\n - cannot install both ansible-2.9.27-1.el8ae.noarch from ansible-2-for-rhel-8-x86_64-rhui-rpms and ansible-2.9.9-1.el8ae.noarch from ansible-2-for-rhel-8-x86_64-rhui-rpms\n - cannot install both ansible-2.9.27-1.el8ae.noarch from ansible-2-for-rhel-8-x86_64-rhui-rpms and ansible-2.9.10-1.el8ae.noarch from ansible-2-for-rhel-8-x86_64-rhui-rpms\n - cannot install both ansible-2.9.27-1.el8ae.noarch from ansible-2-for-rhel-8-x86_64-rhui-rpms and ansible-2.9.11-1.el8ae.noarch from ansible-2-for-rhel-8-x86_64-rhui-rpms\n - cannot install both ansible-2.9.27-1.el8ae.noarch from ansible-2-for-rhel-8-x86_64-rhui-rpms and ansible-2.9.13-1.el8ae.noarch from ansible-2-for-rhel-8-x86_64-rhui-rpms\n - cannot install both ansible-2.9.27-1.el8ae.noarch from ansible-2-for-rhel-8-x86_64-rhui-rpms and ansible-2.9.14-1.el8ae.noarch from ansible-2-for-rhel-8-x86_64-rhui-rpms\n - cannot install both ansible-2.9.27-1.el8ae.noarch from ansible-2-for-rhel-8-x86_64-rhui-rpms and ansible-2.9.15-1.el8ae.noarch from ansible-2-for-rhel-8-x86_64-rhui-rpms\n - cannot install both ansible-2.9.27-1.el8ae.noarch from ansible-2-for-rhel-8-x86_64-rhui-rpms and ansible-2.9.16-1.el8ae.noarch from ansible-2-for-rhel-8-x86_64-rhui-rpms\n - cannot install both ansible-2.9.27-1.el8ae.noarch from ansible-2-for-rhel-8-x86_64-rhui-rpms and ansible-2.9.17-1.el8ae.noarch from ansible-2-for-rhel-8-x86_64-rhui-rpms\n - cannot install both ansible-2.9.27-1.el8ae.noarch from ansible-2-for-rhel-8-x86_64-rhui-rpms and ansible-2.9.18-1.el8ae.noarch from ansible-2-for-rhel-8-x86_64-rhui-rpms\n - cannot install both ansible-2.9.27-1.el8ae.noarch from ansible-2-for-rhel-8-x86_64-rhui-rpms and ansible-2.9.19-1.el8ae.noarch from ansible-2-for-rhel-8-x86_64-rhui-rpms\n - cannot install both ansible-2.9.27-1.el8ae.noarch from ansible-2-for-rhel-8-x86_64-rhui-rpms and ansible-2.9.20-1.el8ae.noarch from ansible-2-for-rhel-8-x86_64-rhui-rpms\n - cannot install both ansible-2.9.27-1.el8ae.noarch from ansible-2-for-rhel-8-x86_64-rhui-rpms and ansible-2.9.21-1.el8ae.noarch from ansible-2-for-rhel-8-x86_64-rhui-rpms\n - cannot install both ansible-2.9.27-1.el8ae.noarch from ansible-2-for-rhel-8-x86_64-rhui-rpms and ansible-2.9.22-1.el8ae.noarch from ansible-2-for-rhel-8-x86_64-rhui-rpms\n - cannot install both ansible-2.9.27-1.el8ae.noarch from ansible-2-for-rhel-8-x86_64-rhui-rpms and ansible-2.9.23-1.el8ae.noarch from ansible-2-for-rhel-8-x86_64-rhui-rpms\n - cannot install both ansible-2.9.27-1.el8ae.noarch from ansible-2-for-rhel-8-x86_64-rhui-rpms and ansible-2.9.24-1.el8ae.noarch from ansible-2-for-rhel-8-x86_64-rhui-rpms\n - cannot install both ansible-2.9.27-1.el8ae.noarch from ansible-2-for-rhel-8-x86_64-rhui-rpms and ansible-2.9.25-1.el8ae.noarch from ansible-2-for-rhel-8-x86_64-rhui-rpms\n - cannot install both ansible-2.9.27-1.el8ae.noarch from ansible-2-for-rhel-8-x86_64-rhui-rpms and ansible-2.9.26-1.el8ae.noarch from ansible-2-for-rhel-8-x86_64-rhui-rpms\n - package ansible-core-2.12.2-3.1.el8.x86_64 from rhel-8-for-x86_64-appstream-rhui-rpms conflicts with ansible < 2.10.0 provided by ansible-2.9.27-1.el8ae.noarch from ansible-2-for-rhel-8-x86_64-rhui-rpms\n - package ansible-core-2.12.2-4.el8_6.x86_64 from rhel-8-for-x86_64-appstream-rhui-rpms conflicts with ansible < 2.10.0 provided by ansible-2.9.27-1.el8ae.noarch from ansible-2-for-rhel-8-x86_64-rhui-rpms\n - package ansible-core-2.13.3-1.el8.x86_64 from rhel-8-for-x86_64-appstream-rhui-rpms conflicts with ansible < 2.10.0 provided by ansible-2.9.27-1.el8ae.noarch from ansible-2-for-rhel-8-x86_64-rhui-rpms\n - package ansible-core-2.13.3-2.el8_7.x86_64 from rhel-8-for-x86_64-appstream-rhui-rpms conflicts with ansible < 2.10.0 provided by ansible-2.9.27-1.el8ae.noarch from ansible-2-for-rhel-8-x86_64-rhui-rpms\n - package ansible-core-2.14.2-3.el8.x86_64 from rhel-8-for-x86_64-appstream-rhui-rpms conflicts with ansible < 2.10.0 provided by ansible-2.9.27-1.el8ae.noarch from ansible-2-for-rhel-8-x86_64-rhui-rpms\n - package ansible-core-2.14.2-4.el8_8.x86_64 from rhel-8-for-x86_64-appstream-rhui-rpms conflicts with ansible < 2.10.0 provided by ansible-2.9.27-1.el8ae.noarch from ansible-2-for-rhel-8-x86_64-rhui-rpms\n - package ansible-core-2.15.3-1.el8.x86_64 from rhel-8-for-x86_64-appstream-rhui-rpms conflicts with ansible < 2.10.0 provided by ansible-2.9.27-1.el8ae.noarch from ansible-2-for-rhel-8-x86_64-rhui-rpms\n - package ansible-core-2.16.3-2.el8.x86_64 from rhel-8-for-x86_64-appstream-rhui-rpms conflicts with ansible < 2.10.0 provided by ansible-2.9.27-1.el8ae.noarch from ansible-2-for-rhel-8-x86_64-rhui-rpms\n - ansible-test-2.9.27-1.el7ae.noarch from @System does not belong to a distupgrade repository\n - ansible-2.9.27-1.el7ae.noarch from @System does not belong to a distupgrade repository\n", "STDOUT": "Last metadata expiration check: 0:02:18 ago on Fri Jun 14 18:01:34 2024.\n"}
アップグレード ソリューション 3: Ansible パッケージを削除する
インプレース アップグレードは、Ansible 製品があるシステムではサポートされていません。 詳細については、「 Upgrading_from_rhel_7_to_rhel_8」を参照してください。 Ansible パッケージを削除するには、次のコマンドを実行します。
sudo yum remove ansible ansible-test
アップグレードの現象 4: ImportError: /lib64/libk5crypto.so.3: 未定義のシンボル
OpenSSL ライブラリには、次の出力に示すように、 libk5crypto に必要なシンボルが一致していません。
[ 1895.402427] upgrade[557]: ImportError: /lib64/libk5crypto.so.3: undefined symbol: EVP_KDF_ctrl, version OPENSSL_1_1_1b
アップグレード ソリューション 4: 競合しているファイルを削除または名前変更し、動的リンカーを更新する
/etc/ld.so.conf.d/openssl-1.1.1d.conf のカスタム OpenSSL ライブラリ パスが原因で問題が発生します。
sudo cat /etc/ld.so.conf.d/openssl-1.1.1d.conf
/usr/local/ssl/lib
競合を解決するには、このファイルを削除するか、名前を変更します。 次に、 ldconfig
を実行して、動的リンカーのランタイム バインドを更新します。
sudo mv /etc/ld.so.conf.d/openssl-1.1.1d.conf /tmp
sudo ldconfig
ldconfig
コマンドは、シンボリック リンクを更新し、キャッシュを再構築して、新しくインストールされたライブラリが正しくリンクされ、他のグループで使用できることを確認します。
このアクションにより、システムで正しいバージョンの OpenSSL および libk5crypto ライブラリが使用されます。 さらに、このアクションでは、未定義のシンボル EVP_KDF_ctrl
に関連する ImportError を修正する必要があります。
アップグレードの現象 5: アップグレード中に Leapp アップグレードでデバイスがマウントされない
Leapp アップグレードを実行すると、次のデバイスマウントエラーメッセージが表示されることがあります。
[ 4.509104] upgrade[569]: Mounting /usr with -o defaults,ro
[ 4.590197] upgrade[596]: Spawning container sysroot on /sysroot.
[ 4.608522] upgrade[596]: Press ^] three times within 1s to kill container.
[ 4.909441] upgrade[599]: mount: can't find UUID=c044351a-93a0-45f5-afs3-d361181215b8
[ 44.830831] upgrade[638]: ==> Processing phase `InitRamStart`
[ 44.843736] upgrade[638]: ====> * remove_upgrade_boot_entry
[ 44.863656] upgrade[638]: Remove boot entry for Leapp provided initramfs.
[ 47.734944] upgrade[1155]: Process Process-230:
[ 47.745684] upgrade[1155]: Traceback (most recent call last):
[ 47.756230] upgrade[1155]: File "/usr/lib64/python2.7/multiprocessing/process.py", line 258, in _bootstrap
[ 47.764584] upgrade[1155]: self.run()
アップグレード ソリューション 5: VM を復元して UUID を削除する
スナップショットまたはバックアップから仮想マシン (VM) を復元します。
エラー メッセージの UUID が VM に存在するかどうかを確認します。 UUID が存在する場合は、その UUID をコメント アウトするか、 /etc/fstab ファイルから削除します。
sudo blkid
sudo cat /etc/fstab
Leapp upgrade コマンドをもう一度実行します。
アップグレードの現象 6: RHEL 7.9 の /sys/fs/cgroup に n/a をマウントできませんでした
Leapp アップグレードを実行すると、次の "マウントに失敗しました" というエラー メッセージが表示されることがあります。
[ 4.815758] upgrade[599]: Failed to mount n/a on /sys/fs/cgroup (MS_RDONLY|MS_NOSUID|MS_NODEV|MS_NOEXEC|MS_REMOUNT|MS_STRICTATIME "mode=755"): Invalid argument
[ 4.812413] kernel: cgroup2: Unknown parameter 'mode'
マウント エラーは、RHEL 7 でコントロール グループ (cgroup v2) のバージョン 2 がサポートされていないために発生します。 詳細については、「 [IPU 7>8] サポートされていない cgroup v2 で Leapp が失敗するを参照してください。
アップグレード ソリューション 6: systemd.unified_cgroup_hierarchy パラメーターを削除する
スナップショットまたはバックアップから VM を復元します。
Leapp アップグレードを実行する前に、パラメーター
systemd.unified_cgroup_hierarchy=1
が /proc/cmdline または /etc/default/grub に配置されているかどうかを確認します。そのパラメーターがいずれかのファイルにある場合は、ファイルからパラメーターを削除し、Leapp アップグレード プロセスをもう一度実行します。
アップグレードの現象 7: 再起動後に Leapp アップグレードが続行せず、代わりに VM が RHEL 8.10 に起動する
RHEL 8.10 から 9.4 または 9.5 への Leapp アップグレードを実行すると、必要な再起動後にアップグレード プロセスが続行されないことがあります。 代わりに、VM は特別なアップグレード initramfs を読み込まずに RHEL 8.10 に戻って起動します。
/etc/default/grub
で次の設定を行うと、この問題が発生する可能性があります。
GRUB_DEFAULT=0
GRUB_DEFAULT=0
は常に GRUB で最初のメニュー エントリを起動するように強制するため、Leapp アップグレード エントリをスキップし、既存の RHEL 8.10 環境への起動を続行します。
アップグレード ソリューション 7: 保存されたエントリを使用するように GRUB を変更する
以下のように [
GRUB_DEFAULT=0
] \(SSL 有効) をGRUB_DEFAULT=saved
に変えます。注:
この例では、
GRUB_DEFAULT
は0
に設定されていますが、環境内では、1
または別の数値である可能性があります。sed
コマンドで適宜置き換えてください。sudo sed -i 's/^GRUB_DEFAULT=0/GRUB_DEFAULT=saved/' /etc/default/grub
GRUB 構成を再生成します。
GEN 1:
sudo grub2-mkconfig -o /boot/grub2/grub.cfg
GEN 2:
grub2-mkconfig -o /boot/efi/EFI/redhat/grub.cfg
シリアル コンソールを使用して VM を再起動します。
sudo reboot
再起動後、修正プログラムが正しく適用されると、VM は Leapp アップグレード initramfs で起動し、シリアル コンソールに次のような出力が表示されます。
[ OK ] Reached target Remote File Systems. Starting dracut pre-mount hook... [ OK ] Finished dracut pre-mount hook. Starting File System Check on /dev/mapper/rootvg-rootlv... [ OK ] Finished File System Check on /dev/mapper/rootvg-rootlv. Mounting /sysroot... [ OK ] Mounted /sysroot. [ OK ] Reached target Initrd Root File System. [ OK ] Reached target System Upgrade. Starting dracut pre-pivot and cleanup hook... Starting System Upgrade... [ 6.507621] upgrade[677]: starting upgrade hook [ 6.531079] upgrade[677]: /bin/upgrade: line 20: /sysroot/var/tmp/system-upgrade.state: No such file or directory [ 6.543603] upgrade[677]: Storage initialisation: Attempt 0 of 11. Wait 15 seconds. [ 6.608365] dracut-pre-pivot[703]: 6.605850 | /etc/multipath.conf does not exist, blocklisting all devices. [ 6.620246] dracut-pre-pivot[703]: 6.608599 | You can run "/sbin/mpathconf --enable" to create [ 6.630208] dracut-pre-pivot[703]: 6.608921 | /etc/multipath.conf. See man mpathconf(8) for more details [ OK ] Finished dracut pre-pivot and cleanup hook. [ 21.555427] upgrade[714]: 5 logical volume(s) in volume group "rootvg" now active [ 21.581296] upgrade[677]: Mounting /usr with -o defaults,ro
この出力は、Leapp アップグレード プロセスが正常に続行されたことを示します。 完了後、VM は RHEL 9. で起動しますx。
重要
Leapp のアップグレードが明らかな理由なしで失敗する場合 (バージョン 7.9 からバージョン 8.10 にアップグレードする場合やバージョン 8.10 からバージョン 9.5 にアップグレードする場合など)、最新バージョンにアップグレードしないでください。 代わりに、 --target x.y
フラグを指定して中間バージョン (バージョン 7.9 からバージョン 8.8、バージョン 8.10 からバージョン 9.4) にアップグレードしてみてください。 中間アップグレードが成功したら、最新リリースへのアップグレードを試みることができます。
関連コンテンツ
サードパーティの情報に関する免責事項
この資料に記載されているサードパーティ製品は、マイクロソフトと関連のない他社の製品です。 明示的か黙示的かにかかわらず、これらの製品のパフォーマンスや信頼性についてマイクロソフトはいかなる責任も負わないものとします。
サードパーティのお問い合わせ窓口に関する免責事項
サードパーティのお問い合わせ窓口に関する情報は、ユーザーの便宜のために提供されているものであり、 将来予告なしに変更されることがあります。 マイクロソフトは、掲載されている情報に対して、いかなる責任も負わないものとします。
お問い合わせはこちらから
質問がある場合やヘルプが必要な場合は、サポート要求を作成するか、Azure コミュニティ サポートにお問い合わせください。 Azure フィードバック コミュニティに製品フィードバックを送信することもできます。