11.8. 커널
IBM Power Systems에서 보안 부팅은 마이그레이션을 지원하지 않습니다.
현재 IBM Power Systems에서 LPAR(Logical partition)은 PV(물리적 볼륨) 마이그레이션에 성공한 후 부팅되지 않습니다. 결과적으로 파티션에 보안 부팅이 활성화된 모든 유형의 자동 마이그레이션이 실패합니다.
(BZ#2126777)
page_poison=1
을 사용하면 커널이 충돌할 수 있습니다.
page_poison=1
을 잘못된 EFI 구현의 펌웨어에서 커널 매개변수로 사용하면 운영 체제가 충돌할 수 있습니다. 기본적으로 이 옵션은 비활성화되어 있으며, 특히 프로덕션 시스템에서 이 옵션을 활성화하는 것은 권장되지 않습니다.
(BZ#2050411)
kmod
의 약한 모듈이
모듈 상호 종속성으로 작동하지 않음
kmod
패키지에서 제공하는 약한 모듈
스크립트는 설치된 커널과 kABI와 호환되는 모듈을 결정합니다. 그러나 모듈의 커널 호환성을 확인하는 동안 약한 모듈은 모듈
기호의 종속성을 더 높은에서 더 낮은 버전의 커널 릴리스까지 제공합니다. 결과적으로 다른 커널 릴리스에 대해 빌드된 상호 의존 관계가 있는 모듈이 호환되지 않는 것으로 해석될 수 있으므로 약한 모듈
스크립트가 이 시나리오에서 작동하지 않습니다.
이 문제를 해결하려면 새 커널을 설치하기 전에 최신 스포지 커널에 대해 추가 모듈을 빌드하거나 배치합니다.
(BZ#2103605)
동일한 충돌 확장을 다시 로드하면 세그먼트 오류가 발생할 수 있습니다.
이미 로드된 크래시 확장 파일의 사본을 로드하면 세그먼트 오류가 발생할 수 있습니다. 현재 크래시 유틸리티는 원래 파일이 로드되었는지 여부를 감지합니다. 결과적으로 크래시 유틸리티에 동일한 두 개의 동일한 파일이 있기 때문에 네임스페이스 충돌이 발생하여 크래시 유틸리티가 트리거되어 세그먼트 오류가 발생합니다.
크래시 확장 파일을 한 번만 로드하여 문제를 해결할 수 있습니다. 결과적으로 설명된 시나리오에서는 세그먼트 오류가 더 이상 발생하지 않습니다.
메모리 핫플러그 또는 연결 해제 작업 후 vmcore 캡처 실패
메모리 핫플러그 또는 핫플러그 작업을 수행한 후에는 메모리 레이아웃 정보가 포함된 장치 트리를 업데이트한 후 발생합니다. 따라서 makedumpfile
유틸리티는 존재하지 않는 물리적 주소에 액세스하려고 합니다. 다음 조건이 모두 충족되는 경우 문제가 발생합니다.
- IBM Power System의 little-endian 변형은 RHEL 8을 실행합니다.
-
시스템에서
kdump
또는fadump
서비스가 활성화되어 있습니다.
결과적으로 메모리 핫플러그 또는 핫플러그 작업 후 커널 충돌이 트리거되면 캡처 커널이 vmcore
를 저장하지 못합니다.
이 문제를 해결하려면 핫플러그 또는 핫 플러그 후 kdump
서비스를 다시 시작하십시오.
# systemctl restart kdump.service
결과적으로 vmcore
가 설명된 시나리오에 성공적으로 저장됩니다.
(BZ#1793389)
debug kernel이 RHEL 8에서 크래시 캡처 환경에서 부팅되지 않음
디버그 커널의 메모리 집약적 특성으로 인해 디버그 커널이 사용 중이고 커널 패닉이 트리거될 때 문제가 발생합니다. 결과적으로 디버그 커널은 캡처 커널로 부팅할 수 없으며 대신 스택 추적이 생성됩니다. 이 문제를 해결하려면 필요에 따라 크래시 커널 메모리를 늘립니다. 결과적으로 디버그 커널이 크래시 캡처 환경에서 성공적으로 부팅됩니다.
(BZ#1659609)
부팅 시 크래시 커널 메모리 할당이 실패합니다.
일부 ampere Altra 시스템에서는 BIOS 설정에서 32비트 영역을 비활성화하면 부팅 중에 크래시 커널 메모리를 할당하는 데 실패합니다. 결과적으로 kdump
서비스가 시작되지 않습니다. 이는 4GB 미만의 리전의 메모리 조각화로 인해 충돌 커널 메모리를 포함할 수 있을 만큼 큰 조각이 없습니다.
이 문제를 해결하려면 BIOS에서 32 비트 메모리 영역을 다음과 같이 활성화하십시오.
- 시스템에서 BIOS 설정을 엽니다.
- Chipset 메뉴를 엽니다.
-
메모리 구성에서
Slave 32비트
옵션을 활성화합니다.
결과적으로 32비트 영역 내에서 커널 메모리 할당이 중단되고 kdump
서비스가 예상대로 작동합니다.
(BZ#1940674)
QAT 관리자는 LKCF를 위한 예비 장치를 남겨 두지 않습니다.
Intel® QuickAssist Technology (QAT) 관리자 (ECDHEtmgr
)는 사용자 공간 프로세스로, 기본적으로 시스템의 모든 QAT 장치를 사용합니다. 결과적으로 Linux Kernel Cryptographic Framework (LKCF)에 대한 QAT 장치가 남아 있지 않습니다. 이 상황이 발생할 필요는 없습니다.이 동작이 예상되고 대부분의 사용자는 사용자 공간의 가속을 사용합니다.
(BZ#1920086)
커널 ACPI 드라이버는 PCIe ECAM 메모리 영역에 대한 액세스 권한이 없음을 보고합니다.
펌웨어에서 제공하는 ACPI(Advanced Configuration and Power Interface) 테이블은 PCI 버스의 현재 리소스 설정(_CRS) 방법의 메모리 영역을 정의하지 않습니다. 결과적으로 시스템 부팅 중에 다음 경고 메시지가 표시됩니다.
[ 2.817152] acpi PNP0A08:00: [Firmware Bug]: ECAM area [mem 0x30000000-0x31ffffff] not reserved in ACPI namespace [ 2.827911] acpi PNP0A08:00: ECAM at [mem 0x30000000-0x31ffffff] for [bus 00-1f]
그러나 커널은 여전히 0x30000000-0x31
ffff 메모리 영역에 액세스할 수 있으며 해당 메모리 영역을 PCI Enhanced Configuration Mechanism (ECAM)에 적절하게 할당할 수 있습니다. 다음 출력을 사용하여 256바이트 오프셋을 통해 PCIe 구성 공간에 액세스하여 PCI ECAM이 제대로 작동하는지 확인할 수 있습니다.
03:00.0 Non-Volatile memory controller: Sandisk Corp WD Black 2018/PC SN720 NVMe SSD (prog-if 02 [NVM Express]) ... Capabilities: [900 v1] L1 PM Substates L1SubCap: PCI-PM_L1.2- PCI-PM_L1.1- ASPM_L1.2+ ASPM_L1.1- L1_PM_Substates+ PortCommonModeRestoreTime=255us PortTPowerOnTime=10us L1SubCtl1: PCI-PM_L1.2- PCI-PM_L1.1- ASPM_L1.2- ASPM_L1.1- T_CommonMode=0us LTR1.2_Threshold=0ns L1SubCtl2: T_PwrOn=10us
따라서 경고 메시지를 무시할 수 있습니다.
문제에 대한 자세한 내용은 시스템 부팅 솔루션 중에 "Firmware Bug: ECAM area mem 0x30000000-0x31ffffffffffff
not reserved in ACPI namespace" 를 참조하십시오.
(BZ#1868526)
tuned-adm profile powersave
명령을 사용하면 시스템이 응답하지 않습니다.
tuned-adm profile powersave
명령을 실행하면 이전 Thunderx(CN88xx) 프로세서가 포함된 Penguin Valkyrie 2000 2-socket 시스템의 응답하지 않는 상태가 됩니다. 결과적으로 시스템을 재부팅하여 작동을 다시 시작합니다. 이 문제를 해결하려면 시스템이 언급된 사양과 일치하는 경우 powersave
프로필을 사용하지 마십시오.
(BZ#1609288)
HP NMI 워치독이 항상 크래시 덤프를 생성하지는 않습니다.
경우에 따라 HP NMI 워치독의 hpwdt
드라이버는 NMI가 perfmon
드라이버에서 대신 소비되었기 때문에 HPE 워치독 타이머에서 생성된 NMI(Non-마스크가 불가능한 인터럽트)를 요청할 수 없습니다.
누락된 NMI는 다음 두 가지 조건 중 하나로 시작됩니다.
- iLO(Integrated Lights-Out) 서버 관리 소프트웨어의 생성 NMI 버튼 이 버튼은 사용자가 트리거합니다.
-
hpwdt
watchdog입니다. 기본적으로 만료는 서버에서 NMI를 보냅니다.
두 시퀀스 모두 일반적으로 시스템이 응답하지 않을 때 발생합니다. 정상적인 상황에서는 이러한 두 상황의 NMI 처리기가 커널 panic()
기능을 호출하고 구성되는 경우 kdump
서비스에서 vmcore
파일을 생성합니다.
그러나 누락된 NMI로 인해 커널 panic()
은 호출되지 않고 vmcore
가 수집되지 않습니다.
첫 번째 경우(1.) 시스템이 응답하지 않는 경우 그대로 유지됩니다. 이 시나리오를 해결하려면 가상 전원 버튼을 사용하여 서버를 재설정하거나 전원을 켜십시오.
두 번째 경우(2.)의 누락된 NMI가 9초 후에 Automated SystemRemediation(ASR)에서 재설정됩니다.
HPEECDHE9 Server 라인에서는 이 문제를 한 자리 비율로 경험합니다. 더 작은 빈도로, group10은 더 작은 경우입니다.
(BZ#1602962)
irqpoll
을 사용하면 vmcore
생성 오류가 발생합니다.
Amazon Web Services Graviton 1 프로세서에서 실행되는 64비트 ARM 아키텍처의 nvme
드라이버에 대한 기존 문제로 인해 첫 번째 커널에 irqpoll
커널 명령줄 매개변수를 제공할 때 vmcore
생성이 실패합니다. 결과적으로 커널 충돌 시 /var/crash/
디렉토리에 vmcore
파일이 덤프되지 않습니다. 이 문제를 해결하려면 다음을 수행합니다.
/etc/sysconfig/kdump
파일의KDUMP_COMMANDLINE_REMOVE
변수에irqpoll
을 추가합니다.# KDUMP_COMMANDLINE_REMOVE="hugepages hugepagesz slub_debug quiet log_buf_len swiotlb"
/etc/sysconfig/kdump
파일의KDUMP_COMMANDLINE_APPEND
변수에서irqpoll
을 제거합니다.# KDUMP_COMMANDLINE_APPEND="irqpoll nr_cpus=1 reset_devices cgroup_disable=memory udev.children-max=2 panic=10 swiotlb=noforce novmcoredd"
kdump
서비스를 다시 시작하십시오.# systemctl restart kdump
결과적으로 첫 번째 커널이 올바르게 부팅되고 vmcore
파일이 커널 충돌 시 캡처됩니다.
Amazon Web Services Graviton 2 및 Amazon Web Services Graviton 3 프로세서는 /etc/sysconfig/kdump
파일에서 irqpoll
매개변수를 수동으로 제거할 필요가 없습니다.
kdump
서비스는 상당한 양의 크래시 커널 메모리를 사용하여 vmcore
파일을 덤프할 수 있습니다. 캡처 커널에 kdump
서비스에 사용 가능한 메모리가 충분한지 확인합니다.
이 알려진 문제에 대한 자세한 내용은 irqpoll 커널 명령줄 매개변수로 인해 vmcore 생성 실패가 발생할 수 있습니다.
(BZ#1654962)
가상 머신에 가상 기능을 연결할 때 연결 실패
ionic
장치 드라이버를 사용하는 Pensando 네트워크 카드는 VLAN 태그 구성 요청을 자동으로 수락하고 네트워크 가상 기능(VF
)을 가상 머신(VM
)에 연결하는 동안 네트워크 연결 구성을 시도합니다. 이 기능은 카드 펌웨어에서 아직 지원되지 않으므로 이러한 네트워크 연결이 실패합니다.
(BZ#1930576)
OPEN MPI 라이브러리는 기본 PML을 사용하여 런타임 오류를 트리거할 수 있습니다.
OPEN Message Passing Interface (OPEN MPI) 구현 4.0.x 시리즈에서 UCSX(Unified Communication X)는 기본 PML(point-to-point communicator)입니다. OPEN MPI 4.0.x 시리즈의 최신 버전은 더 이상 사용되지 않는 openib
Byte Transfer Layer (BTL)입니다.
그러나 OPEN MPI는 동종 클러스터 (동일한 하드웨어 및 소프트웨어 구성)를 통해 실행할 때 UCX는 여전히 MPI 일방 작업에 대해 openib
BTL을 사용합니다. 이로 인해 실행 오류가 트리거될 수 있습니다. 이 문제를 해결하려면 다음을 수행합니다.
-
다음 매개변수를 사용하여ECDHEi
run 명령을 실행합니다
.
-mca btl openib -mca pml ucx -x UCX_NET_DEVICES=mlx5_ib0
여기서,
-
-mca btl openib
매개변수는openib
BTL을 비활성화합니다. -
-mca pml ucx
매개변수는ucx
PML을 사용하도록 OPEN MPI를 구성합니다. -
x UCX_NET_DEVICES=
매개변수는 지정된 장치를 사용하도록 UCX를 제한합니다.
OPEN MPI는 이기종 클러스터(하이퍼된 하드웨어 및 소프트웨어 구성)를 통해 실행할 때 기본 PML으로 UCX를 사용합니다. 결과적으로 OPEN MPI 작업이 잘못된 성능, 응답하지 않는 동작 또는 충돌 실패로 실행될 수 있습니다. 이 문제를 해결하려면 UCX 우선 순위를 다음과 같이 설정합니다.
-
다음 매개변수를 사용하여ECDHEi
run 명령을 실행합니다
.
-mca pml_ucx_priority 5
결과적으로 OPEN MPI 라이브러리는 UCX를 통해 사용 가능한 다른 전송 계층을 선택할 수 있습니다.
(BZ#1866402)
Solarflare에서 최대 가상 기능 수(VF)를 생성하지 못했습니다.
Solarflare NIC는 리소스가 부족하여 최대 VF 수를 생성하지 못합니다. PCIe 장치가 /sys/bus/pci/devices/PCI_ID/sriov_totalvfs
파일에서 생성할 수 있는 최대 VF 수를 확인할 수 있습니다. 이 문제를 해결하려면 시작 시 Solarflare Boot Manager
에서 VF 또는 VFECDHE 인터럽트 값을 더 낮은 값으로 조정하거나 Solarflare sfboot
유틸리티를 사용할 수 있습니다. 기본 VFECDHE 인터럽트 값은 8
입니다.
-
sfboot
를 사용하여 VFECDHE 인터럽트 값을 조정하려면 다음을 수행합니다.
# sfboot vf-msix-limit=2
VFECDHE 인터럽트 값을 조정하면 VF 성능에 영향을 미칩니다.
그에 따라 조정할 매개변수에 대한 자세한 내용은 Solarflare Server Adapter 사용자 가이드를 참조하십시오
.
(BZ#1971506)
iwl7260-firmware
는 IntelSync-Fi 6 AX200, AX210 및ECDHE P1ad P1ECDHE 4에서 Tang-Fi를 교체합니다.
iwl7260-firmware
또는 iwl7260-wifi
드라이버를 RHEL 8.7 및/또는 RHEL 9.1 (및 이후)에서 제공하는 버전으로 업데이트한 후 하드웨어는 잘못된 내부 상태가 됩니다. 따라서 IntelSyncfi 6 카드가 작동하지 않고 오류 메시지가 표시될 수 있습니다.
kernel: iwlwifi 0000:09:00.0: Failed to start RT ucode: -110 kernel: iwlwifi 0000:09:00.0: WRT: Collecting data: ini trigger 13 fired (delay=0ms) kernel: iwlwifi 0000:09:00.0: Failed to run INIT ucode: -110
확인되지 않은 작업은 시스템의 전원을 끄고 다시 켜는 것입니다. 재부팅하지 마십시오.
(BZ#2106341)
64비트 ARM 아키텍처에서 kdump
의 메모리 할당이 실패합니다.
특정 64비트 ARM 기반 시스템에서 펌웨어는 비연속 메모리 할당 방법을 사용하여 서로 다른 디스퍼스 위치에 메모리를 무작위로 예약합니다. 결과적으로 메모리 블록을 연속으로 사용할 수 없기 때문에 크래시 커널은 kdump
메커니즘의 메모리 공간을 예약할 수 없습니다.
이 문제를 해결하려면 RHEL 8.8 이상에서 제공하는 커널 버전을 설치하십시오. RHEL의 최신 버전은 설명된 시나리오에서 적절한 메모리 영역을 찾는 데 도움이 되는 대체
덤프 캡처 메커니즘을 지원합니다.
코어가 큰 시스템에서 실시간 커널의 하드웨어 인증을 사용하려면 잠금 경합을 방지하기 위해 skew-tick=1
부팅 매개변수를 전달해야 할 수 있습니다.
다수의 소켓과 대규모 코어 개수가 있는 대규모 또는 중간 규모의 시스템은 시간 보관 시스템에 사용되는 xtime_lock
의 잠금 경합으로 인해 대기 시간이 급증할 수 있습니다. 결과적으로 멀티프로세싱 시스템에서 대기 시간이 급증하고 하드웨어 인증 지연이 발생할 수 있습니다. 이 문제를 해결하려면 skew_tick=1
부팅 매개변수를 추가하여 CPU당 타이머 눈금을 다른 시간에 시작할 수 있습니다.
잠금 충돌을 방지하려면 skew_tick=1
을 활성화합니다.
grubby
를 사용하여skew_tick=1
매개변수를 활성화합니다.# grubby --update-kernel=ALL --args="skew_tick=1"
- 변경 사항을 적용하려면 재부팅하십시오.
-
cat /proc/cmdline
명령을 실행하여 새 설정을 확인합니다.
skew_tick=1
을 활성화하면 전력 소비가 크게 증가하므로 대기 시간에 민감한 실시간 워크로드를 실행하는 경우에만 활성화해야 합니다.
(BZ#2214508)