Menu Close
Settings Close

Language and Page Formatting Options

12.3. 커널에 대한 주요 변경 사항

RHEL 9에서 cgroup-v2 가 기본적으로 활성화되어 있습니다

제어 그룹 버전 2(cgroup-v2) 기능은 제어 그룹 관리를 간소화하는 단일 계층 구조 모델을 구현합니다. 또한 한 번에 단일 제어 그룹의 멤버만 프로세스가 될 수 있습니다. systemd 와의 심도 있는 통합으로 RHEL 시스템에서 리소스 제어를 구성할 때 최종 사용자 환경이 향상됩니다.

새로운 기능의 개발은 대부분 cgroup-v2 에 대해 수행되며, cgroup-v1 에서는 누락된 일부 기능이 있습니다. 마찬가지로 cgroup-v1 에는 cgroup-v2 에서 누락된 일부 레거시 기능이 포함되어 있습니다. 또한 제어 인터페이스는 다릅니다. 따라서 cgroup-v1에 직접 종속된 타사 소프트웨어가 cgroup-v 2 환경에서 제대로 실행되지 않을 수 있습니다.

cgroup-v1 을 사용하려면 커널 명령줄에 다음 매개변수를 추가해야 합니다.

systemd.unified_cgroup_hierarchy=0
systemd.legacy_systemd_cgroup_controller
참고

cgroup-v1cgroup-v2 는 커널에서 완전히 활성화됩니다. 커널 관점에서는 기본 제어 그룹 버전이 없으며 시작 시 마운트할 systemd 에 의해 결정됩니다.

커널 변경으로 인해 타사 커널 모듈에 영향을 줄 수 있음

5.9 이전 커널 버전의 Linux 배포판에서는 GPL 함수를 비GPL 기능으로 내보내기가 지원되었습니다. 결과적으로 shim 메커니즘을 통해 독점적인 기능을 GPL 커널 기능과 연결할 수 있었습니다. 이번 릴리스에서 RHEL 커널은 shim 을 다시 사용하여 GPL을 시행하는 RHEL의 기능을 향상시키는 업스트림 변경 사항을 통합합니다.

중요

파트너 및 ISV(독립 소프트웨어 벤더)는 GPL을 준수하기 위해 초기 버전의 RHEL 9에서 커널 모듈을 테스트해야 합니다.

RHEL 9에서 코어 예약이 지원됩니다.

코어 스케줄링 기능을 사용하면 서로 신뢰해서는 안 되는 작업이 동일한 CPU 코어를 공유하지 않도록 방지할 수 있습니다. 마찬가지로, 사용자는 CPU 코어를 공유할 수 있는 작업 그룹을 정의할 수 있습니다.

이러한 그룹을 지정할 수 있습니다.

  • 일부 SMT(Cross-Symmetric Multithreading) 공격을 완화하여 보안을 강화하기 위해
  • 전체 코어가 필요한 작업을 격리합니다. 예를 들어 실시간 환경의 작업 또는 단일 지침, 여러 데이터(SIMD) 처리와 같은 특정 프로세서 기능에 의존하는 작업의 경우

자세한 내용은 코어 스케줄링 을 참조하십시오.

RHEL 9에서 kernelopts 환경 변수가 제거됨

RHEL 8에서는 GRUB2 부트로더를 사용하는 시스템의 커널 명령줄 매개 변수가 kernelopts 환경 변수에 정의되어 있었습니다. 이 변수는 각 커널 부팅 항목에 대해 /boot/grub2/grubenv 파일에 저장되었습니다. 그러나 kernelopts 를 사용하여 커널 명령줄 매개 변수를 저장하는 것은 강력하지 않았습니다. 따라서 Red Hat에서 kernelopts 및 커널 명령줄 매개 변수가 이제 /boot/loader/entries/<KERNEL_BOOT_ENTRY>.conf 파일에 대신 LS(Boot Loader Specification) 스니펫에 저장됩니다.

Red Hat은 마이너 릴리스에서 커널 기호만 보호

Red Hat은 보호된 커널 기호를 사용하여 커널 모듈을 컴파일하는 경우에만 EUS (Extended Update Support) 릴리스 내에서 향후 모든 업데이트에서 커널 모듈이 계속 로드되도록 합니다. RHEL 9의 마이너 릴리스 간에 ABI(커널 애플리케이션 바이너리 인터페이스)는 보장되지 않습니다.