5.2. 언더클라우드에서 Leapp 업그레이드 수행
Leapp 유틸리티를 설치하고 실행하여 운영 체제를 RHEL (Red Hat Enterprise Linux) 8로 업그레이드합니다.
사전 요구 사항
- Leapp을 설치하고 실행하기 전에 2.4절. “Red Hat OpenStack Platform의 LeApp 업그레이드 사용” 섹션을 숙지하십시오.
- Leapp 업그레이드를 수행하기 전에 4.3절. “언더클라우드 노드에 예측 가능한 NIC 이름 사용” 섹션을 완료해야 합니다. Leapp 업그레이드 프로세스를 수행하기 전에 네트워크 인터페이스 이름 이름을 변경하지 않으면 RHEL 8.2로 업그레이드한 후 인터페이스 이름이 변경될 수 있습니다.
절차
-
stack
사용자로 언더클라우드에 로그인합니다. Leapp 유틸리티 및 jq를 설치합니다.
$ sudo yum install leapp $ sudo yum install jq
-
Leapp 유틸리티에 필요한 추가 데이터 파일(RPM 패키지 변경 및 RPM 리포지토리 매핑)을 다운로드하여 RHEL 7에서 RHEL 8로의 인플레이스 유틸리티에 필요한 추가 데이터 파일(RPM 패키지 변경 및 RPM 리포지토리 매핑)을 다운로드하여 이러한 파일을
/etc/leapp/files/
디렉터리에 저장합니다. Red Hat 서브스크립션을 업데이트합니다.
언더클라우드에서 등록을 위해 Red Hat 고객 포털을 사용하는 경우 현재 서브스크립션을 업데이트하여 Red Hat Enterprise Linux 8.2 콘텐츠에 액세스할 수 있습니다.
$ sudo subscription-manager refresh
언더클라우드에서 등록에 Red Hat Satellite Server를 사용하는 경우 RHOSP(Red Hat OpenStack Platform)16.1 활성화 키와 관련된 콘텐츠 뷰에 언더클라우드를 다시 등록합니다.
$ sudo subscription-manager register --force --org ORG --activationkey ACTIVATION_KEY
참고Red Hat OpenStack Platform 16.1에 대해 생성한 콘텐츠 뷰에는 Red Hat Enterprise Linux 8.2의 콘텐츠가 포함되어야 합니다.
Red Hat OpenStack Platform 16.1은 최신 버전의 Open vSwitch를 사용합니다. Open vSwitch 버전을
to_remove 및
트랜잭션 파일을 통해 대체합니다.to_
install$ echo 'openvswitch2.11' | sudo tee -a /etc/leapp/transaction/to_remove $ echo 'openvswitch2.13' | sudo tee -a /etc/leapp/transaction/to_install
to_keep
트랜잭션 파일을 사용하여 업그레이드를 통해 Red Hat Ceph Storage 3 버전의ceph-anible
을 유지합니다.$ echo 'ceph-ansible' | sudo tee -a /etc/leapp/transaction/to_keep
RHEL 8에서 더 이상 지원되지 않는 커널 모듈을 조정합니다.
$ if [ -f /usr/share/leapp-repository/repositories/system_upgrade/el7toel8/actors/kernel/checkkerneldrivers/files/removed_drivers.txt ]; then for module in pata_acpi floppy; do sudo sed -i "/^${module}$/d" /usr/share/leapp-repository/repositories/system_upgrade/el7toel8/actors/kernel/checkkerneldrivers/files/removed_drivers.txt done else for module in pata_acpi floppy; do jq ". | del(.data[] | select(.driver_name == \"${module}\"))" /etc/leapp/files/device_driver_deprecation_data.json | sudo tee /etc/leapp/files/device_driver_deprecation_data.json_modified mv /etc/leapp/files/device_driver_deprecation_data.json_modified /etc/leapp/files/device_driver_deprecation_data.json done fi
leapp 응답
명령을 실행하고 Leapp 응답을 지정하여pam_pkcs11
모듈을 제거합니다.$ sudo leapp answer --add --section remove_pam_pkcs11_module_check.confirm=True
선택 사항: TLS-Everywhere 아키텍처와 함께 환경을 배포하고 더 이상 사용되지 않는
authconfig
유틸리티를 사용하여 시스템에서 인증을 구성하는 경우authselect
유틸리티를 사용하여 RHEL 8 시스템을 구성합니다.$ sudo leapp answer --add --section authselect_check.confirm=True
Leapp 업그레이드 프로세스 중에 인증 구성에 대한 자세한 내용은 RHEL 7에서 RHEL 8로의 업그레이드에서 알려진 문제를 참조하십시오.
LEAPP_DEVEL_TARGET_RELEASE
및LEAPP_UNSUPPORTED
환경 변수를 설정하여 업그레이드할 RHEL 8 부 버전을 지정합니다. RHOSP 16.1의 경우 RHEL 8 부 버전을8.2
로 설정해야 합니다.$ export LEAPP_UNSUPPORTED=1 $ export LEAPP_DEVEL_TARGET_RELEASE=8.2
LEAPP_
환경 변수를 사용해야 합니다.DEVEL 접두사가 있는 환경 변수를 사용할 때마다 LEAPP_
UNSUPPORTEDLeapp 프로세스에서 영구적인 네트워크 이름 행위자를 제거합니다.
참고Leapp 업그레이드 프로세스를 수행하기 전에 네트워크 인터페이스 이름 이름을 변경하지 않으면 RHEL 8.2로 업그레이드한 후 인터페이스 이름이 변경될 수 있습니다. 네트워크 인터페이스 이름 이름을 바꾸는 방법에 대한 자세한 내용은 4.3절. “언더클라우드 노드에 예측 가능한 NIC 이름 사용” 을 참조하십시오.
$ sudo rm -f /usr/share/leapp-repository/repositories/system_upgrade/el7toel8/actors/persistentnetnamesdisable/actor.py
Leapp 업그레이드 프로세스를 시작합니다.
$ sudo -E leapp upgrade --debug --enablerepo rhel-8-for-x86_64-baseos-eus-rpms --enablerepo rhel-8-for-x86_64-appstream-eus-rpms --enablerepo fast-datapath-for-rhel-8-x86_64-rpms --enablerepo ansible-2.9-for-rhel-8-x86_64-rpms
enable
repo
옵션을 사용하여 Leapp 업그레이드 프로세스 중에 활성화하려는 리포지토리를 설정합니다. 특히 최신 버전의 Open vSwitch에서 Red Hat OpenStack Platform 16.1 전환을 용이하게 하려면 이러한 리포지토리를 포함해야 합니다.-
leapp upgrade
명령이 성공적으로 완료될 때까지 기다립니다. root 디렉토리에 empty
.autorelabel
파일을 만듭니다.$ sudo touch /.autorelabel
재부팅 후 SELinux는 이 파일을 감지하고 파일 시스템의 레이블을 자동으로 다시 지정합니다.
언더클라우드를 재부팅합니다.
$ sudo reboot
DNF 구성에 정의된 트랜잭션 제외에서 Leapp 패키지를 제거합니다.
$ sudo dnf config-manager --save --setopt exclude=''