다음을 통해 공유


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 ELS(확장 수명 주기 지원) 추가 기능을 추가하는 것이 좋습니다.

업그레이드하기 전에 권장 사항

Leapp 사전 업그레이드 및 업그레이드 프로세스를 시작하기 전에 다음 작업을 수행해야 합니다.

  • VM(가상 머신) 또는 OS 디스크의 스냅샷을 백업합니다.

  • 업그레이드를 수용할 수 있는 /var/lib/leapp 충분한 공간을 확보합니다. 사용 가능한 공간이 2~5GB 이상인 것이 가장 좋습니다.

  • 직렬 콘솔에 대한 액세스를 설정합니다.

이러한 작업을 완료한 후 직렬 콘솔을 통해 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밀리초 후 연결 시간이 초과됨

RHUI(Red Hat Update Infrastructure) 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: 구독 관리자 도구 무시

Azure에서 PayGo 이미지를 사용하는 경우 시스템이 RHUI를 대신 사용하도록 설계되었기 때문에 도구를 실행할 subscription-manager 수 없습니다. 업그레이드하는 동안 바이패 subscription-manager 스할 플래그를 지정 --no-rhsm 해야 합니다.

사전 업그레이드 증상 4: Leapp 사전 업그레이드가 RHEL 8 사용자 영역 패키지를 설치하지 않음("execv() 실패: 이러한 파일 또는 디렉터리 없음")

Leapp 사전 업그레이드를 실행하는 경우 다음과 같은 "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: 종료 코드 1과 함께 /var/lib/leapp/el8userspace', '/bin/bash', '-c', 'su - -c update-ca-trust'] 실패

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 트러스트 업데이트

명령이 실패하는 기존 ca-certificates 패키지 update-ca-trust 내에서 문제가 발생했습니다. 이 문제를 해결하려면 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' 파일 또는 디렉터리가 없습니다.

도구 버전lapp-rhui-azure-sap-1.0.0-14.el8.noarch이 있거나 SAPApps 버전이 있는 leapp 기본 Red Hat 이미지leapp-rhui-azure-1.0.0-14.el8.noarch에 대해 SAP-HANA 8에서 실행 leapp preupgradeRHEL 하려고 하면 다음 오류 메시지가 생성됩니다.

====> * 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

이 문제의 해결 방법은 SAP 이미지의 leapp-rhui-azure-sapleapp-rhui-azure-sap-1.0.0-10.el8.noarch 버전과 Red Hat 기본 이미지의 leapp-rhui-azure 버전을 다운그레이드하는 것입니다 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가 package openssl11-libs-1:1.1.1k-7.el7.x86_64 파일과 충돌함

다음 원본의 라이브러리 간에 충돌이 발생합니다.

  • EPEL(Enterprise Linux용 추가 패키지) 리포지토리의 openssl11-libs 패키지
  • Red Hat에서 제공하는 RHEL 8용 opensslopenssl-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

경고

이전 출력에 표시된 종속성 문제로 인해 EPEL 리포지토리의 nodejsnodejs-libs와 같은 다른 패키지가 제거된 경우 관련 구성 파일을 백업하고 현재 위치 업그레이드 후에 동일한 패키지를 수동으로 다시 설치합니다.

업그레이드 증상 3: 설치된 패키지 ansible-2.9.27-1.el7ae.noarch 및 ansible-test-2.9.27-1.el7ae.noarch 문제

Leapp 업그레이드를 실행하는 경우 다음과 같은 "0이 아닌 종료 코드로 DNF 실행 실패" 오류 메시지가 표시될 수 있습니다.

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: 정의되지 않은 기호

다음 출력과 같이 libk5crypto에 필요한 OpenSSL 라이브러리에 불일치 또는 누락된 기호가 있습니다.

[ 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 명령은 symlinks를 업데이트하고 캐시를 다시 빌드하여 새로 설치된 라이브러리가 올바르게 연결되고 다른 그룹에서 사용할 수 있는지 확인합니다.

이 작업을 수행하면 시스템에서 올바른 버전의 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가 있는 경우 주석 처리하거나 /etc/fstab 파일에서 제거합니다.

    sudo blkid
    
    sudo cat /etc/fstab
    
  3. Leapp 업그레이드 명령을 다시 실행합니다.

업그레이드 증상 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'

제어 그룹의 버전 2(cgroup v2)가 RHEL 7에서 지원되지 않으므로 탑재 실패가 발생합니다. 자세한 내용은 [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의 첫 번째 메뉴 항목을 항상 부팅하도록 강제하기 때문에 GRUB_DEFAULT=0 Leapp 업그레이드 항목을 건너뛰고 기존 RHEL 8.10 환경으로 계속 부팅합니다.

업그레이드 솔루션 7: 저장된 항목을 사용하도록 GRUB 수정

  1. GRUB_DEFAULT=0GRUB_DEFAULT=saved로 변경합니다.

    참고

    이 예제에서는 GRUB_DEFAULT 설정 0되지만 사용자 환경에서는 다른 숫자일 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.

Important

명백한 이유 없이 Leapp 업그레이드가 여전히 실패하는 경우(예: 버전 7.9에서 버전 8.10으로 업그레이드하거나 버전 8.10에서 버전 9.5로 업그레이드하는 경우) 최신 버전으로 업그레이드하지 마세요. 대신 플래그를 지정 --target x.y 하여 중간 버전(예: 버전 7.9에서 버전 8.8 또는 버전 8.10에서 버전 9.4로)으로 업그레이드합니다. 중간 업그레이드가 성공하면 최신 릴리스로 업그레이드할 수 있습니다.

타사 정보 고지 사항

이 문서에 나와 있는 다른 공급업체 제품은 Microsoft와 무관한 회사에서 제조한 것입니다. Microsoft는 이들 제품의 성능이나 안정성에 관하여 명시적이든 묵시적이든 어떠한 보증도 하지 않습니다.

타사 연락처 고지

이 문서에 포함된 타사의 연락처 정보는 이 항목에 대한 추가 정보를 찾는 데 도움을 주기 위한 것입니다. 이 연락처 정보는 공지 없이 변경될 수 있습니다. Microsoft는 타사 연락처 정보의 정확성을 보증하지 않습니다.

도움을 요청하십시오.

질문이 있거나 도움이 필요한 경우 지원 요청을 생성하거나Azure 커뮤니티 지원에 문의하세요. Azure 피드백 커뮤니티에 제품 피드백을 제출할 수도 있습니다.