次の方法で共有


Red Hat OS のアップグレードに関する問題のトラブルシューティング

適用対象: ✔️ 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 を削除する

  1. スナップショットまたはバックアップから仮想マシン (VM) を復元します。

  2. エラー メッセージの UUID が VM に存在するかどうかを確認します。 UUID が存在する場合は、その UUID をコメント アウトするか、 /etc/fstab ファイルから削除します。

    sudo blkid
    
    sudo cat /etc/fstab
    
  3. 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 パラメーターを削除する

  1. スナップショットまたはバックアップから VM を復元します。

  2. Leapp アップグレードを実行する前に、パラメーター systemd.unified_cgroup_hierarchy=1/proc/cmdline または /etc/default/grub に配置されているかどうかを確認します。

  3. そのパラメーターがいずれかのファイルにある場合は、ファイルからパラメーターを削除し、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 を変更する

  1. 以下のように [GRUB_DEFAULT=0] \(SSL 有効) を GRUB_DEFAULT=saved に変えます。

    注:

    この例では、 GRUB_DEFAULT0 に設定されていますが、環境内では、 1 または別の数値である可能性があります。 sed コマンドで適宜置き換えてください。

    sudo sed -i 's/^GRUB_DEFAULT=0/GRUB_DEFAULT=saved/' /etc/default/grub
    
  2. GRUB 構成を再生成します。

    • GEN 1:

      sudo grub2-mkconfig -o /boot/grub2/grub.cfg
      
    • GEN 2:

      grub2-mkconfig -o /boot/efi/EFI/redhat/grub.cfg
      
  3. シリアル コンソールを使用して 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 フィードバック コミュニティに製品フィードバックを送信することもできます。