Redhat Enterprise Linux 9.7 Release Note 요약 및 정리

 

[Prolog]

Redhat Enterprise Linux 9.7 버전에서 구현된 새로운 기능 및 Bug fix, Known Issues 등을 설명합니다.
Redhat Documentation 에서 제공하는 내용 중 선별하여 작성하였습니다.

 

 

  1. 새로운 기능

1.1. 보안

 

  • SELinux 정책은 qgs 데몬에 대한 규칙 및 유형을 추가합니다.

TDX 기밀 가상화를 지원하는 linux-sgx 패키지를 사용하여 qgs 데몬이 RHEL에 추가되었습니다.

TDX 란 TD(신뢰 도메인)라는 하드웨어 격리 VM(가상 머신)을 배포하는 기밀 컴퓨팅 기술입니다.

게스트 OS가 VM(가상 머신) 인증을 요청할 때 qgs 데몬은 UNIX 도메인 소켓을 통해 QEMU와 통신합니다. 이를 위해 SELinux 정책은 새 qgs_t 유형, 액세스 규칙 및 권한을 추가합니다.

 

  • SELinux Permissive 모드에서 제거된 서비스
  • powerprofiles_t
  • samba_bgqd_t
  • switcheroo_control_t

이전 버전에서는 최근 RHEL 10에 추가된 패키지의 이러한 서비스가 SELinux Permissive 모드로 임시로 설정되어 나머지 시스템이 SELinux Enforcing 모드에 있는 동안 추가 거부에 대한 정보를 수집할 수 있었습니다.
이 임시 설정이 제거되어 이러한 서비스가 이제 SELinux Enforcing 모드에서 실행됩니다.

 

 

  • SELinux 정책에서 tuned-ppd 제한

tuned-ppd 서비스를 제한하는 SELinux 정책에 규칙을 추가합니다.

tuned-ppd 서비스는 어플리케이션이 power-profiles-daemon(PPD) 에서 tuned 로 쉽게 전환할 수 있도록 지원하는 API 변환 데몬입니다.

이번 업데이트 이전에는 CIS 서버 수준 2 벤치마크를 위반하는 unconfined_service_t SELinux 레이블로 서비스가 실행되었습니다. “SELinux 에 의해 데몬이 제한되지 않음” 규칙을 위반했습니다. 이번 업데이트를 통해 서비스가 더 이상 제한되지 않고 SELinux Enforcing 모드에서 성공적으로 실행됩니다.

 

  • SELinux 는 특정 유형을 /dev/diag 에 할당합니다.

이번 업데이트를 통해 diagnostic_device_t 유형이 SELinux 정책의 /dev/diag 장치에 할당됩니다. 결과적으로 SELinux 는 장치에 대한 액세스를 적절하게 제어할 수 있습니다.

 

 

1.2. 소프트웨어 관리
  • createrepo_c 에서 zstd 지원

Createrepo_c 명령에 대한 Zstandard(zstd) 압축 알고리즘 지원이 추가되었습니다.
Zstandard 는 Facebook 에서 개발한 고속 무손실 압축 알고리즘입니다.

결과적으로 createrepo_c 는 zstd 로 압축된 메타데이터를 읽고 생성할 수 있습니다.

 

  • Dnf 는 DNF history 의 일시적인 트랜잭션 표시

Dnf history info 명령은 트랜잭션이 지속적인지 또는 일시적인지 여부를 표시합니다. 따라서 특히 일시적인 패키지가 많은 시스템에서 패키지 변경 사항을 더 쉽게 추적할 수 있습니다.

 

  • RPM 은 설치 중에 원래 패키지의 체크섬을 기록합니다.

RPM 은 설치 중에 전체 .rpm 패키지의 SHA256 및 SHA512 다이제스트를 기록합니다. RPM DB 에서 다이제스트를 검색해 설치된 패키지가 특정 .rpm 파일에 해당하는지 확인할 수 있습니다. 설치된 패키지 세트가 DNF 레포지토리에서 사용할 수 있는 것과 같은 알려진 .rpm 패키지 세트와 일치하는지 다시 검사하여 RHEL 시스템의 무결성을 개선할 수 있습니다.

 

 

1.3. 네트워킹

 

  • nmtui 에서 루프백 인터페이스 구성 지원

NetworkManager 는 이미 nmcli 유틸리티를 사용하여 루프백 인터페이스 구성을 지원합니다. 이번 개선된 기능에는 nmtui 어플리케이션에 동일한 기능이 추가되었습니다. 결과적으로 루프백 인터페이스에서 IP 주소와 경로를 구성할 수 있습니다.

 

  • 새로운 네트워크 패킷 드롭 이유 및 MIB 카운터

이제 커널의 네트워킹 스택에서 네트워크 패킷을 삭제할 때 더 자세한 이유를 제공합니다. 이번 개선된 기능에는 LINUX_MIB_PAWS_TW_REJECTED 및 LINUX_MIB_PAWS_OLD_ACK 이라는 두 개의 새로운 관리 정보 베이스(MIB) 카운터가 추가되었습니다. 결과적으로 네트워크 문제를 디버깅하고 진단하는 것이 더 쉬워졌습니다.

 

 

1.4. 커널

 

  • KVM 모듈은 Realtime Kernel 패키지에 통합되어 있습니다.

이번 업데이트에서는 RHEL 에서 Realtime 커널용 KVM 모듈 패키지가 제거되어 Realtime Kernel 을 기본 RHEL을 위한 배포 옵션으로 만드는 결정에 맞게 조정되었습니다. 이러한 변경으로 인해 배포 프로세스가 간소화되어 KVM 모듈을 Realtime Kernel 패키지에 직정 통합하고 별도의 kernel-rt-kvm 패키지를 제거합니다. 결과적으로 RHEL에 Realtime Kernel 을 배포할 때 보다 원활하고 효율적인 설정을 통해 전반적인 사용자 환경을 개선할 수 있습니다.

 

  • IBM Power 에서 NVMf-FC kdump 지원

NVMf-FC kdump 는 kexec-tools 를 실행하기 위한 IBM Power 시스템을 지원합니다. 이를 통해 NVMe 스토리지 장치를 사용하여 파이버 채널 네트워크를 통해 시스템 메모리 덤프를 캡처할 수 있으며, 이는 크래시 덤프 데이터에 대한 고속 및 저지연 스토리지 액세스를 가능하게 합니다.

 

 

1.5. 파일 시스템 및 스토리지

 

  • multipathd 에서 파일 기반 소켓 지원

이번 업데이트를 통해 multipathd 데몬은 추상 네임스페이스 소켓 외에도 파일 기반 소켓 /run/multipathd.socket 에서 명령을 수신 대기합니다. 새 소켓 파일에 바인드 마운트를 사용하여 컨테이너 내에서 호스트의 multipathd 데몬과 통신할 수 있습니다.

 

  • 자동 RAID 검사는 기본적으로 활성화되어 있습니다.

이번 업데이트를 통해 raid-check 서비스가 기본적으로 활성화됩니다. 이렇게 하면 시스템이 부팅된 후 예약된 간격으로 raid-check.service 가 자동으로 실행되고 수동 조작 없이도 주기적인 RAID 일관성 검사를 수행할 수 있습니다.

 

  • 다중 동시 장치 실패 후 LVM RAID 복구

# lvconvert –repair /dev/VG-name/LV-name

명령을 사용하여 누락된 RAID 장치를 스트라이핑된 RAID(raid4,5,6) 로 다시 통합할 수 있습니다. 이 복구 프로세스는 일시적으로 누락된 장치의 수가 RAID 수준의 내결함성을 초과하면 장치를 다시 적용할 수 있는 경우에도 작동합니다. 복구하기 전에 볼륨 및 파일 시스템을 마운트 해제하고 비활성화해야 합니다.

 

 

1.6. High Availability 및 클러스터

 

  • Filesystem 리소스 에이전트는 aznfs 파일 시스템 유형 지원

이전에는 Azure Network File System 파일 공유를 관리하려면 fstype=nfs 를 사용하였습니다. 이 방법은 Transit 의 암호화와 같은 Azure 관련 기능을 지원하지 않았습니다.

이번 업데이트를 통해 aznfs 를 파일 시스템 유형으로 지원하여 Filesystem 리소르 생성 시 fstype=aznfs 를 설정하여 관리할 수 있습니다. 모든 클러스터 노드에 Microsoft 레포지토리의 aznfs 클라이언트 패키지가 설치되어 있으면 Azure 관련 기능을 지원할 수 있습니다.

 

  • Oracle Database 23ai 가 클러스터 리소스로 지원됨

Pacemaker 는 Oracle Database 23ai 인스턴스 관리를 지원하므로 이 버전에 대해 완전히 테스트된 HA 구성이 활성화됩니다.

 

  • fence_sbd 에이전트는 SBD 장치를 자동으로 감지할 수 있습니다.

이번 업데이트 이전에는 fence_sbd 리소스 구성 시 devices 매개변수를 사용하여 SBD 장치 경로를 명시적으로 지정해야 했습니다. 이번 업데이트를 통해 fence_sbd 에이전트가 시스템에서 장치 구성을 검색할 수 있습니다. devices 매개변수를 설정하지 않으면 /etc/sysconfig/sbd 파일 내의 SBD_DEVICE 변수에 지정된 장치를 자동으로 사용합니다.

 

  • 클러스터 이름 변경 명령어

이전에는 pcs 명령어를 통해 기존 클러스터의 이름을 변경할 수 없었지만 이번 개선된 기능을 통해

# pcs cluster rename <new-name>

명령을 실행하여 기존 클러스터 이름을 쉽게 변경할 수 있습니다.

 

  • IPaddr2 리소스 에이전트에서 네트워크 링크 실패 감지

이번 업데이트 이전에는 IPaddr2 리소스 에이전트가 네트워크 인터페이스의 링크 상태를 모니터링하지 않았습니다. IPaddr 리소스는 기본 인터페이스가 DOWN 또는 LOWERLAYERDOWN 상태여도 노드에서 성공을 보고하여 클러스터가 다른 노드에서 리소스를 복구하지 못하게 했습니다.

이번 릴리스에서 인터페이스 링크 상태를 확인하도록 개선되어 네트워크 인터페이스가 중단되면 IPaddr2 리소스가 올바르게 적절한 페일오버를 수행할 수 있습니다.  리소스 구성에서 check_link_status=false 매개변수를 설정하여 비활성화 할 수 있습니다.

 

  • fence_aws 에이전트에서 즉각적인 Power-off 지원

이전  버전에서는 fence_aws 에이전트가 off 또는 reboot 작업을 수행할 때 인스턴스의 정상 종료가 트리거되어서 노드의 전원이 즉시 꺼지지 않아 펜싱 프로세스에 지연이 발생했습니다.

이번 업데이트를 통해 skip_os_shutdown 매개변수가 fence_aws 에이전트에 추가되었습니다.(Y-stream 릴리스 기본 활성화, Z-stream 릴리스 기본 비활성화)

Skip_os_shutdown 이 true 로 설정되면 fence_aws 에이전트는 정상 종료를 무시하고 인스턴스의 즉각적인 Power-off 를 수행합니다.

 

 

1.7. Lightspeed

 

  • 명령줄 도우미 컨텍스트 제한이 32KB 입력으로 증가했습니다.

이번 업데이트 이전에는 2KB 입력으로 제한되어 있어 입력이 제한을 초과하면 실패했습니다. 이번 릴리스에서는 2KB에서 32KB 로 증가하여 명령줄 도우미에서 더 큰 입력 컨텍스트를 지원하여 더 나은 로그 분석 및 잠재적인 문제 탐지를 가능하게 합니다.

 

  • 명령줄 도우미 -w 옵션은 현재 출력을 표시

이번 업데이트 이전에는 현재 enable-capture 모드 없이 -w 옵션을 사용하려는 경우 명령줄 도우미가 이전 세션의 출력을 잘못 표시했습니다. 이번 업데이트를 통해 -w 옵션에서 출력하기 전에 터미널 캡처 로그 파일을 적극적으로 확인합니다. 결과적으로 언급된 문제가 해결되어 표시된 출력이 정확합니다.

 

 

  1. Bug fix

2.1. 보안
  • SSH 연결 실패 상세 정보 도움말 메시지 미표시

이번 업데이트 이전에는 SSH 연결 실패 시 일반적인 SSH 오류 메시지와 Redhat 도움말 링크가 표시되었습니다. 결과적으로 오류 출력의 도움말 메시지에 사용자 스크립트 및 자동화가 중단되었습니다.

이번 업데이트를 통해 로그 수준 debug1 이상에서 실행되는 경우에만 도움말 메시지가 표시됩니다. 오류 출력에는 기본적으로 예기치 않은 메시지가 포함되지 않습니다.

 

 

2.2. 소프트웨어 관리
  • dnf download –url 명령어가 패키지 URL을 올바르게 보고합니다

이번 업데이트 이전에는 dnf download –url 명령어로 패키지 URL을 조회할 때, DNF가 xml:base 속성 대신 저장소 메타데이터 위치에 상대적인 패키지 주소를 잘못 보고했습니다.

이번 업데이트로 DNF는 패키지 URL 계산 시 xml:base 속성을 고려합니다. 그 결과 dnf download –url 명령어가 올바른 패키지 URL을 보고합니다.


redhat

 

 

2.3. 쉘 및 명령줄 도구
  • top -u <사용자> 명령어의 메모리 기준 프로세스 정렬

이전에는 top -u <사용자> 명령어 이 후 Shift + m 키를 눌러 메모리 기준으로 프로세스를 정렬하면 모든 프로세스가 사라졌습니다. 이번 업데이트로 최소한 한 개의 프로세스를 표시합니다.

 

 

2.4. 네트워크
  • /etc/iproute2/에 있는 사용자 지정 iproute2 설정은 예상대로 작동합니다.

이전에는 RHEL 9.6으로 업데이트할 경우 iproute2 패키지가 기본 구성을 /usr/share/iproute2/ 디렉터리에 저장했습니다. 또한 /etc/iproute2/에 사용자 지정 구성이 있는 경우 업데이트 시 해당 파일 이름을 변경하고 .rpmsave 접미사를 추가했습니다. 그 결과 사용자 정의 설정이 더 이상 적용되지 않았습니다. RHEL 9.7 버전의 iproute2 패키지로 업데이트할 경우, 패키지의 설치 스크립트가 더 이상 사용자 정의 구성 파일의 이름을 변경하지 않으며, /etc/iproute2/ 디렉터리에 .rpmsave 접미사가 붙은 파일을 발견하면 이 접미사를 제거합니다. 그 결과 사용자 정의 설정이 다시 예상대로 작동합니다.

iproute2 기본 설정은 /usr/share/iproute2/에 그대로 유지된다는 점에 유의해야 합니다.

 

 

2.5. 파일 시스템 및 스토리지
  • multipathd는 오프라인 상태인 경로를 가진 장치를 모니터링할 수 있습니다

이 업데이트 이전에는 사용자가 일부 경로가 오프라인 상태인 상태에서 멀티패스 장치를 생성할 경우, multipathd 데몬이 해당 장치나 경로를 모니터링하지 않았습니다. 결과적으로 경로가 실패해도 다시 사용 가능해져도 복구되지 않았습니다. 이번 업데이트로 multipathd 데몬은 멀티패스 장치와 그 오프라인 경로를 모니터링합니다. 또한 경로가 온라인 상태가 되면 multipathd가 해당 경로를 멀티패스 장치에 추가합니다.

 

  • 시스템이 /etc/fstab에 NVMe-FC 장치를 마운트 포인트로 추가할 때 정상적으로 부팅됩니다.

이전에는 nvme-cli nvmf-autoconnect systemd 서비스의 known issue 로 인해, NVMe-FC(Non-volatile Memory Express over Fibre Channel) 장치를 /etc/fstab 파일의 마운트 포인트로 추가할 때 시스템이 부팅에 실패했습니다. 그 결과 시스템이 비상 모드로 진입했습니다. 이번 업데이트를 통해 NVMe-FC 장치를 마운트할 때 시스템이 문제없이 부팅됩니다.

 

 

2.5. High availability and clusters
  • pcs 명령어가 대소문자가 잘못된 target-role 값으로 인해 더 이상 실패하지 않습니다.

이 업데이트 이전에는 리소스의 target-role 메타 속성이 Stopped 대신 stopped처럼 대문자가 아닌 값으로 설정된 경우, pcs가 클러스터 상태를 파싱하지 못했습니다. 이 파싱 오류로 인해 pcs status query resource 명령어 및 pcs resource delete를 포함한 리소스 삭제 명령어가 실패했습니다.

이번 업데이트로 pcs의 클러스터 상태 파싱 로직이 더 유연해졌습니다.

결과적으로 리소스의 target-role 메타 속성 값이 대소문자가 올바르지 않게 설정된 경우에도 pcs 명령어가 정상적으로 작동합니다.

 

  • 시작 또는 중지 시간이 긴 systemd 리소스가 올바르게 처리됩니다.

이번 업데이트 이전에는 Pacemaker가 systemd 리소스에 대한 시작 및 중지 작업 결과를 고정된 시간 제한으로 폴링했습니다. 리소스의 시작 또는 중지 시간이 이 시간 제한보다 길 경우 Pacemaker는 해당 리소스를 실패로 잘못 표시했습니다.

이번 업데이트를 통해 Pacemaker는 시작 또는 중지 작업 완료 시 systemd로부터 DBus 메시지를 수신하여 알림을 받습니다.

그 결과, Pacemaker는 실행 시간이 긴 systemd 서비스의 상태를 정확히 감지하며, 리소스가 더 이상 시간 초과로 인해 실패로 표시되지 않습니다.

 

  • 쿼럼 손실 시 Pacemaker 원격 노드가 불필요하게 격리되지 않음

이번 업데이트 이전에는 특정 클러스터 구성에서, 해당 노드를 관리하는 리소스를 쿼럼을 유지하는 다른 노드에서 안전하게 재시작할 수 있음에도 불구하고, Pacemaker 원격 노드의 파티션이 쿼럼을 잃으면 해당 노드가 격리될 수 있었습니다. 이로 인해 Pacemaker 원격 노드에서 실행 중인 서비스에 불필요한 다운타임이 발생했습니다.

이번 업데이트를 통해 이 동작을 제어하기 위한 새로운 클러스터 속성인 `fence-remote-without-quorum`이 도입되었습니다.

결과적으로 `fence-remote-without-quorum=false` 설정(기본값은 true)을 구성하면, 관리 리소스를 쿼럼 상태 노드에서 복구할 수 있는 경우 Pacemaker가 더 이상 원격 노드를 격리하지 않아 서비스 가용성이 향상됩니다.

 

  • fence_kubevirt는 노드를 즉시 전원 차단합니다

이번 업데이트 이전에는 fence_kubevirt 에이전트가 노드를 정상 종료(graceful shutdown)했습니다. 이로 인해 노드가 즉시 전원 차단되지 않아 펜싱 프로세스에 지연이 발생했습니다.

이번 릴리스에서는 에이전트가 즉시 비정상 종료(non-graceful shutdown)를 요청하도록 수정되었습니다.

결과적으로 fence_kubevirt 에이전트를 사용할 경우 노드가 즉시 전원 차단됩니다.

 

  • fence_sbd는 이제 개별 SBD 장치 장애에 대해 더 높은 내구성을 갖습니다.

이전에는 구성된 SBD 장치 중 하나 이상이 초기 점검에 실패하면 fence_sbd 에이전트가 종료되고 작업이 실패했습니다. 이로 인해 다른 SBD 장치가 정상 상태라도 펜싱 작업이 완료되지 못했습니다.

이번 업데이트로 에이전트의 오류 처리 기능이 개선되었습니다.

그 결과, fence_sbd 에이전트는 고장난 SBD 장치에 대해 오류를 기록하고 남은 정상 장치로 펜싱 작업을 계속 진행합니다. 이로 인해 SBD 펜싱의 신뢰성이 향상되었습니다.

 

 

2.6. Red Hat Enterprise Linux System Role
  • RAID 이제 유효하지 않거나 지원되지 않는 구성에 대해 명확한 오류를 보고합니다.

이번 업데이트 이전에는 유효하지 않은 RAID 레벨이나 불충분한 디스크를 지정해도 명확한 오류가 발생하지 않았습니다.
이로 인해 어레이 생성이 실패하거나 일관성이 없어졌습니다.
결과적으로 오류 메시지가 불분명했고 RAID 설정의 신뢰성이 떨어졌습니다.
이번 릴리스에서는 어레이 생성 전에 RAID 매개변수를 검증하고 최소 디스크 수를 강제 적용합니다.
이로 인해 명확한 오류가 발생하며, 불충분한 디스크로 RAID를 생성하려는 시도는 차단됩니다.

이 수정 사항에서는 더 이상 사용되지 않는 `process_device_numbers` 헬퍼 함수를 제거하고 대신 `unify_raid_level`을 사용합니다. 또한 잘못된 RAID 레벨 및 디스크 부족 시나리오에 대한 실패 테스트도 추가되었습니다.

 

  • selinux 역할은 커널 SELinux 매개변수를 영구적으로 설정합니다

이 업데이트 이전에는 SELinux 상태를 비활성화로 변경하거나 비활성화 상태에서 변경할 때 SELinux RHEL 시스템 역할이 커널 SELinux 매개변수를 설정하지 않았습니다. 그 결과, 재부팅 시 SELinux 상태 변경이 지속되지 않았습니다. 이 업데이트는 역할이 SELinux 상태를 비활성화로 변경하거나 비활성화 상태에서 변경할 때 커널 SELinux 매개변수가 올바르게 설정되도록 보장합니다. 그 결과, 재부팅 시 비활성화 상태로의 변경 및 비활성화 상태에서의 변경이 지속됩니다.

 

  • 네트워크 RHEL 시스템 역할에서 강력한 인터페이스 식별 방법을 사용합니다

이번 업데이트 이전에는 네트워크 인터페이스에 대해 인터페이스 이름과 MAC 주소가 모두 제공될 경우, 검증 프로세스가 두 가지 별도의 조회 작업을 수행했습니다: 하나는 인터페이스 이름을 사용하고 다른 하나는 MAC 주소를 사용했습니다. 이로 인해 MAC 주소 조회 결과가 인터페이스의 영구 하드웨어 MAC 주소가 아닌 현재 MAC 주소와 일치할 수 있어 검증 실패가 발생할 수 있었습니다.

이번 업데이트로 검증 로직이 개선되었습니다. 네트워크 역할은 이제 네트워크 장치를 조회할 때 인터페이스 이름만을 유일한 식별자로 사용합니다. 이후 해당 인터페이스에 연결된 MAC 주소를 가져와 사용자가 제공한 MAC 주소와 비교하여 검증합니다. 인터페이스 이름은 커널 내 고유 식별자이므로 일시적인 MAC 주소 변경으로 인한 불일치를 방지하여 이 접근 방식이 더 안정적입니다.

 

 

  1. Known Issues

     

3.1. 설치 및 이미지 생성
  • 타사 도구를 사용하여 생성된 USB로 설치 시 로컬 미디어 설치 소스가 감지되지 않음

타사 도구를 사용하여 생성된 USB로 RHEL 설치를 부팅할 때 설치 프로그램이 로컬 미디어 설치 소스를 감지하지 못합니다(Red Hat CDN만 감지됨).

이 문제는 기본 부팅 옵션 int.stage2=가 iso9660 이미지 형식을 검색하려고 시도하기 때문에 발생합니다. 그러나 타사 도구는 다른 형식의 ISO 이미지를 생성할 수 있습니다.

다음 해결책 중 하나를 사용하여 해결합니다.

  1. 설치 시 부팅하면 Tab 키를 눌러 커널 명령줄을 편집하고 부팅 옵션stage2=를 inst.repo=로 변경합니다.
  2. Windows에서 부팅 가능한 USB 장치를 생성하려면 Fedora Media Writer를 사용합니다.
  3. Rufus와 같은 타사 도구를 사용하여 부팅 가능한 USB 장치를 생성할 경우, 먼저 Linux 시스템에서 RHEL ISO 이미지를 재생성한 후 타사 도구를 사용하여 부팅 가능한 USB 장치를 생성합니다.

 

  • 새로운 XFS 기능으로 인해 펌웨어 버전10보다 오래된 PowerNV IBM POWER 시스템의 부팅이 차단됩니다.

PowerNV IBM POWER 시스템은 펌웨어로 리눅스 커널을 사용하며, GRUB 대신 Petitboot를 사용합니다. 이로 인해 펌웨어 커널이 /boot를 마운트하고 Petitboot가 GRUB 구성을 읽어 RHEL을 부팅합니다.

RHEL 9 커널은 XFS 파일 시스템에 bigtime=1 및 inobtcount=1 기능을 도입했는데, 펌웨어 버전 5.10보다 오래된 커널은 이를 인식하지 못합니다.

/boot에 다른 파일 시스템(예: ext4)을 사용하여 해결합니다.

selinuxuser_execstack off 명령어를 입력하여 로컬 정책에서 이 부울 값을 비활성화할 수 있습니다.

 

  • 설치 후 네트워크에 연결되었으나 DHCP 또는 정적 IP 주소가 구성되지 않은 상태에서 NetworkManager가 시작되지 않음

RHEL 9.0부터 Anaconda는 특정 ip= 또는 Kickstart 네트워크 구성이 설정되지 않은 경우 네트워크 장치를 자동으로 활성화합니다. Anaconda는 각 이더넷 장치에 대해 기본 영구 구성 파일을 생성합니다. 연결 프로필에는 ONBOOT 및 autoconnect 값이 true로 설정됩니다. 결과적으로 설치된 시스템 시작 시 RHEL이 네트워크 장치를 활성화하면 networkManager-wait-online 서비스가 실패합니다.

다음 중 하나를 수행하여 해결합니다.

  1. 사용하려는 하나의 연결을 제외한 모든 연결을 nmcli 유틸리티를 사용하여 삭제합니다.

# nmcli con show

# nmcli con del <connection name>

  1. 특정 ip= 또는 Kickstart 네트워크 구성이 설정되지 않은 경우 Anaconda에서 자동 연결 네트워크 기능을 비활성화합니다.
  • Anaconda GUI에서 네트워크 및 호스트 이름으로 이동합니다.
  • 비활성화할 네트워크 장치를 선택합니다.
  • 구성을 클릭합니다.
  • 일반 탭에서 우선순위로 자동 연결 확인란을 선택 해제합니다.
  • 저장을 클릭합니다.

 

 

3.2. 보안
  • 특정 구문에서 scp는 동일한 위치로 복사된 파일 내용을 지웁니다

scp 유틸리티가 보안 복사 프로토콜(SCP)에서 더 안전한 SSH 파일 전송 프로토콜(SFTP)로 변경되었습니다. 이로 인해 동일한 위치에서 파일을 복사하면 파일 내용이 삭제됩니다. 이 문제는 다음 구문에 영향을 미칩니다:

#scp localhost:/myfile localhost:/myfile

이 구문을 사용하여 소스 위치와 동일한 대상 위치로 파일을 복사하지 않습니다..

다음 구문에서는 문제가 수정되었습니다:

# scp /myfile localhost:/myfile

# scp localhost:~/myfile ~/myfile

 

 

3.3. 소프트웨어 관리
  • 로컬 저장소에서 createrepo_c 실행 시 중복된 repodata 파일 생성

로컬 저장소에서 createrepo_c 명령어를 실행하면 repodata 파일의 중복 사본이 생성됩니다. 이 중 하나는 압축된 사본이고 다른 하나는 압축되지 않은 사본입니다.

해결 방법은 없으나 중복 파일을 안전하게 무시할 수 있습니다. createrepo_c 명령어가 중복 사본을 생성하는 것은 createrepo_c로 생성된 저장소에 의존하는 다른 도구들의 요구사항과 차이점 때문입니다.

 

 

3.4. 쉘 및 명령줄 도구
  • sysstat 패키지의 %vmeff 메트릭이 잘못된 값을 표시합니다

sysstat 패키지는 페이지 회수 효율을 측정하기 위해 %vmeff 메트릭을 제공합니다. sar -B 명령어가 반환하는 %vmeff 열의 값은 sysstat이 최신 커널 버전에서 제공하는 모든 관련 /proc/vmstat 값을 파싱하지 않기 때문에 잘못되었습니다.

 

  • sar 및 iostat 유틸리티에서 생성된 %util 열은 유효하지 않습니다

sar 또는 iostat 유틸리티를 사용하여 시스템 사용량 통계를 수집할 때, sar 또는 iostat에서 생성된 %util 열에 유효하지 않은 데이터가 포함될 수 있습니다.

※sar 는 CPU, 메모리, 디스크, 네트워크 등 시스템 자원의 사용 현황을 실시간 또는 주기적으로 기록하여 보여주는 역할을 합니다.

 

  • RHEL 9에서는 lsb-release 바이너리를 사용할 수 없습니다

/etc/os-release 파일에 포함된 정보는 이전에는 lsb-release 바이너리를 호출하여 확인할 수 있었습니다. 이 바이너리는 redhat-lsb 패키지에 포함되어 있었으나, RHEL 9에서 제거되었습니다. 이제 운영 체제에 대한 정보(배포판, 버전, 코드명 및 관련 메타데이터 등)는 /etc/os-release 파일을 읽어서 확인할 수 있습니다. 이 파일은 Red Hat에서 제공하며, redhat-release 패키지 업데이트 시 변경된 내용이 덮어쓰기됩니다. 파일 형식은 KEY=VALUE이며, 셸 스크립트에서 안전하게 데이터를 소스 처리할 수 있습니다.

 

 

3.5. 네트워킹
  • ifcfg 파일을 사용한 네트워크 인터페이스 이름 변경 실패

RHEL 9에서는 initscripts 패키지가 기본적으로 설치되지 않습니다. 따라서 ifcfg 파일을 사용한 네트워크 인터페이스 이름 변경이 실패합니다.

이 문제를 해결하려면 Red Hat은 udev 규칙이나 링크 파일을 사용하여 인터페이스 이름을 변경할 것을 권장합니다.

권장되는 해결 방법 중 하나를 사용할 수 없는 경우, initscripts 패키지를 설치합니다.

 

  • initscripts 패키지는 기본적으로 설치되지 않습니다.

기본적으로 initscripts 패키지는 설치되지 않습니다. 따라서 ifup 및 ifdown 유틸리티를 사용할 수 없습니다.

대신 nmcli connection up 및 nmcli connection down 명령어를 사용하여 연결을 활성화 및 비활성화합니다. 제안된 대안이 작동하지 않는 경우 문제를 보고하고 NetworkManager-initscripts-updown 패키지를 설치합니다. 이 패키지는 ifup 및 ifdown 유틸리티를 위한 NetworkManager 솔루션을 제공합니다.

 

 

3.6. 커널
  • dnf를 사용한 최신 실시간 커널 업그레이드는 여러 커널 버전을 병렬로 설치하지 않습니다

dnf 패키지 관리자를 사용해 최신 실시간 커널을 설치하려면 새 커널 버전과 현재 커널 버전을 동시에 유지하기 위해 패키지 종속성을 해결해야 합니다. 기본적으로 dnf는 업그레이드 과정에서 이전 kernel-rt 패키지를 제거합니다.

/etc/yum.conf 구성 파일의 installonlypkgs 옵션에 현재 kernel-rt 패키지를 추가하여 해결합니다다. 예: installonlypkgs=kernel-rt.

installonlypkgs 옵션은 dnf가 사용하는 기본 목록에 kernel-rt를 추가합니다. installonlypkgs 지시문에 나열된 패키지는 자동으로 제거되지 않으므로 여러 커널 버전을 동시에 설치할 수 있습니다.

여러 커널을 설치하는 것은 새로운 커널 버전 작업 시 대체 옵션을 확보하는 방법임을 유의합니다.

 

  • LUKS 암호화 대상에서 kdump 메커니즘이 vmcore 파일 캡처에 실패합니다

Linux 통합 키 설정(LUKS)으로 암호화된 파티션이 있는 시스템에서 kdump를 실행할 때 시스템은 일정량의 사용 가능한 메모리가 필요합니다. 사용 가능한 메모리가 필요한 양보다 적을 경우 systemd-cryptsetup 서비스가 파티션 마운트에 실패합니다. 결과적으로 두 번째 커널이 LUKS 암호화 대상에서 크래시 덤프 파일을 캡처하지 못합니다.

해결 방법: 권장 crashkernel 값을 조회하고 메모리 크기를 점진적으로 적절한 값으로 증가시킵니다. 권장 crashkernel 값은 필요한 메모리 크기를 설정하는 데 참고 자료로 활용할 수 있습니다.

추정 크래시 커널 값을 출력합니다.

# kdumpctl estimate

crashkernel 값을 증가시켜 필요한 메모리 양을 구성합니다.

# grubby –args=crashkernel=652M –update-kernel=ALL

변경 사항을 적용하려면 시스템을 재부팅합니다.

# reboot

결과적으로 LUKS 암호화 파티션이 있는 시스템에서 kdump가 정상적으로 작동합니다.

 

  • IBM Power 시스템(ppc64le)에서 io_uring이 활성화된 경우 커널 패닉 발생

ppc64le 시스템은 집중적인 입출력 작업으로 인해 io_uring 커널 매개변수를 사용할 때 커널 패닉이 발생하는 경우가 있습니다. 이로 인해 ppc64le 시스템이 작동 중단되며 시스템 재시작이 필요합니다. 시스템 중단 시 데이터가 손실될 수 있습니다.

해결 방법: 부팅 시 다음 커널 매개변수를 추가하여 io_uring 기능을 비활성화합니다:

module.builtin=io_uring=0

 

 

3.6. 파일 시스템 및 스토리지
  • Device Mapper Multipath는 NVMe/TCP에서 지원되지 않습니다

nvme-tcp 드라이버와 함께 Device Mapper Multipath를 사용하면 호출 추적 경고 및 시스템 불안정성이 발생할 수 있습니다. 이 문제를 해결하려면 NVMe/TCP 사용자는 네이티브 NVMe 멀티패스 기능을 활성화하고 NVMe와 함께 device-mapper-multipath 도구를 사용하지 않아야 합니다.

기본적으로 네이티브 NVMe 멀티패스 기능은 RHEL 9에서 활성화되어 있습니다.

 

  • NVMe 장치용 udev 규칙 변경

일부 벤더의 경우 장치 일련번호 앞에 공백이 있는 경우 디스크 ID 기반 명명 규칙이 변경됩니다. 이는 OPTIONS=”string_escape=replace” 매개변수를 추가하는 NVMe 장치용 udev 규칙 변경 때문입니다.

 

  • qedi 드라이버 사용 중 커널 패닉 발생

qedi iSCSI 드라이버 사용 시 OS 부팅 후 커널 패닉이 발생합니다.

qedi 는 Marvell 사의 FastLinQ  41000/45000 시리즈 컨버저 네트워크 어댑터(CNA)를 위한 하드웨어 iSCSI 오프로드 드라이버입니다.

이 문제를 해결하려면 커널 부팅 명령줄에 kfence.sample_interval=0을 추가하여 kfence 런타임 메모리 오류 감지 기능을 비활성화합니다.

 

  • IOMMU 활성화 시스템 부팅 실패

BNX2I 어댑터 사용 중 AMD 플랫폼에서 입출력 메모리 관리 장치(IOMMU)를 활성화하면, 시스템이 직접 메모리 접근 재매핑(DMAR) 타임아웃 오류로 부팅에 실패합니다.

BNX2I 는 Broadcom 사의 NIC에서 iSCSI Offload 기능을 지원하기 위해 사용하는 커널 모듈이자 드라이버 소프트웨어 스택을 의미합니다.

커널 명령줄 옵션 iommu=off를 사용하여 부팅 전에 IOMMU를 비활성화하여 해결합니다. 그 결과 시스템은 오류 없이 부팅됩니다.

 

 

  1. 의견

Redhat Enterprise Linux 9.7 은 지난 릴리스와 비교해 기술적인 큰 변화보다는 운영 안정성 부분의 개선이 주로 된 릴리스라고 생각합니다. 계속해서 문제가 발생할 수 있겠지만 대체로 안정화되었고 시스템에 해당 버전을 사용하는 것이 무리가 없어 보입니다.

아직 시스템 내에서 AI 활용(Lightspeed) 기능이 추가된 지 얼마되지 않아 적극적으로 사용하지는 않지만 이번 릴리스에서와 같이 기능이 개선이 되다보면 필요한 정보를 시스템 내에서 얻을 수 있는 것이 보편화될 것 같습니다.  어떻게 사용하냐에 따라 더욱 쉽고 편리하게 시스템을 운영할 수 있을 것 같습니다.

 

 

자유롭게 댓글을 달아주세요! 언제나 환영합니다.
기타 문의:  info@neoclova.co.kr
네오클로바 기술블로그 홈 바로가기: https://neoclova.net
네오클로바 홈페이지: http://neoclova.co.kr

Similar Posts

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다