검색

10.6. 커널

download PDF

특정 BCC 유틸리티는 무해한 경고를 표시합니다.

일부 컴파일러 특정 커널 헤더의 매크로 재정의로 인해. 일부 BCC(BPF Compiler Collection) 유틸리티는 다음 경고를 표시합니다.

warning: __no_sanitize_address' macro redefined [-Wmacro-redefined]

경고는 무해하며 무시해도 됩니다.

(BZ#1907271)

메모리 핫플러그 또는 언플러그 작업 후 vmcore 캡처가 실패합니다.

메모리 핫플러그 또는 핫 플러그 해제 작업을 수행한 후에는 메모리 레이아웃 정보가 포함된 장치 트리를 업데이트한 후 이벤트가 제공됩니다. 따라서 makedumpfile 유틸리티는 존재하지 않는 실제 주소에 액세스를 시도합니다. 다음 모든 조건이 충족되면 문제가 표시됩니다.

  • RHEL 8을 실행하는 IBM Power System의 little-endian 변형.
  • kdump 또는 fadump 서비스가 시스템에서 활성화됩니다.

결과적으로 메모리 핫플러그 또는 핫 플러그 작업 후에 커널 충돌이 트리거되면 캡처 커널이 vmcore 를 저장하지 못합니다.

이 문제를 해결하려면 핫 플러그 또는 핫 플러그 후 kdump 서비스를 다시 시작하십시오.

# systemctl restart kdump.service

결과적으로 설명된 시나리오에 vmcore 가 성공적으로 저장됩니다.

(BZ#1793389)

Kdump는 SSH 또는 NFS 덤프 대상에서 vmcore 덤프에 실패했습니다.

새 버전의 dracut-networkipcalc 가 필요한 dhcp-client 에 종속 항목을 삭제합니다. 결과적으로 NIC 포트가 고정 IP로 구성되고 SSH 또는 NFS 덤프 대상에서 덤프하도록 kdump 가 구성되면 다음 오류 메시지가 표시되고 kdump 가 실패합니다.

ipcalc: command not found

이 문제를 해결하려면 다음을 수행합니다.

  1. ipcalc 패키지를 수동으로 설치합니다.

    dnf install ipcalc
  2. kdump 에 사용할 initramfs 를 다시 빌드합니다.

    kdumpctrl rebuild
  3. kdump 서비스를 다시 시작합니다.

    systemctl restart kdump

따라서 설명된 시나리오에서 kdump 가 성공합니다.

(BZ#1931266)

RHEL 8의 크래시 캡처 환경에서 커널을 부팅하지 못했습니다.

디버그 커널의 메모리 수요 특성으로 인해 디버그 커널이 사용 중이고 커널 패닉이 트리거되면 문제가 발생합니다. 결과적으로 디버그 커널은 캡처 커널로 부팅할 수 없으며 대신 스택 추적이 생성됩니다. 이 문제를 해결하려면 크래시 커널 메모리를 적절하게 늘립니다. 결과적으로 디버그 커널이 크래시 캡처 환경에서 성공적으로 부팅됩니다.

(BZ#1659609)

부팅 시 크래시 커널의 메모리 할당이 실패합니다

일부 Ampere Altra 시스템에서 BIOS 설정에서 32비트 지역이 비활성화되면 메모리 할당이 실패합니다. 결과적으로 기존 메모리는 메모리 할당을 예약할 만큼 크지 않으므로 kdump 서비스가 시작되지 않습니다.

이 문제를 해결하려면 다음과 같이 BIOS에서 32비트 CPU를 활성화합니다.

  1. 시스템에서 BIOS 설정을 엽니다.
  2. 설정 메뉴 엽니다.
  3. Memory Configuration(메모리 구성) 에서 Slave 32비트 옵션을 활성화합니다.

결과적으로 크래시 커널이 32비트 지역 내의 메모리를 할당하고 kdump 서비스가 예상대로 작동합니다.

(BZ#1940674)

특정 커널 드라이버가 버전을 표시하지 않음

RHEL 8.4에서는 많은 네트워킹 커널 드라이버의 모듈 버전 지정에 대한 동작이 변경되었습니다. 결과적으로 이러한 드라이버는 이제 버전을 표시하지 않습니다. 또는 ethtool -i 명령을 실행한 후 드라이버는 드라이버 버전 대신 커널 버전을 표시합니다. 이 문제를 해결하기 위해 사용자는 다음 명령을 실행할 수 있습니다.

# modinfo <AFFECTED_DRIVER> | grep rhelversion

결과적으로 사용자는 필요한 시나리오에서 영향을 받는 커널 드라이버 버전을 확인할 수 있습니다.

드라이버 버전 문자열의 변경 양은 드라이버 자체의 변화량에 대한 실제 고려 사항이 없다는 점에 유의하십시오.

(BZ#1944639)

irqpoll을 사용하면 vmcore 생성에 실패합니다.

AWS(Amazon Web Services) 클라우드 플랫폼에서 실행되는 64비트 ARM 아키텍처의 nvme 드라이버에 대한 기존 문제로 인해 첫 번째 커널에 irqpoll 커널 명령줄 매개변수를 제공할 때 vmcore 생성이 실패합니다. 결과적으로 커널 충돌 후 /var/crash/ 디렉토리에 vmcore 파일이 덤프되지 않습니다. 이 문제를 해결하려면 다음을 수행합니다.

  1. /etc/sysconfig/kdump 파일에 irqpollKDUMP_COMMANDLINE_REMOVE 에 추가합니다.

    KDUMP_COMMANDLINE_REMOVE="hugepages hugepagesz slub_debug quiet log_buf_len swiotlb"
  2. /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"
  3. systemctl restart kdump 명령을 실행하여 kdump 서비스를 다시 시작합니다.

결과적으로 첫 번째 커널이 올바르게 부팅되고 vmcore 파일이 커널 충돌 시 캡처될 것으로 예상됩니다.

kdump 서비스는 상당한 양의 크래시 커널 메모리를 사용하여 vmcore 파일을 덤프할 수 있습니다. 캡처 커널에 kdump 서비스에 사용할 수 있는 메모리가 충분한지 확인합니다.

(BZ#1654962)

HP NMI 워치독이 항상 크래시 덤프를 생성하지는 않음

경우에 따라 HP NMI 워치독의 hpwdt 드라이버는 perfmon 드라이버에서 NMI(maskable interrupt)를 사용했기 때문에 HPE 워치독 타이머에서 생성한 NMI(NMI)를 요청할 수 없습니다.

누락된 NMI는 다음 두 가지 조건 중 하나로 시작됩니다.

  1. iLO(Integrated Lights-Out) 서버 관리 소프트웨어에서 Generate NMI 버튼. 이 버튼은 사용자가 트리거합니다.
  2. hpwdt watchdog. 만료는 기본적으로 서버로 NMI를 보냅니다.

두 시퀀스 모두 시스템이 응답하지 않는 경우 일반적으로 발생합니다. 정상적인 상황에서 이러한 두 상황에 대한 NMI 핸들러는 커널 panic() 함수를 호출하고 구성된 경우 kdump 서비스에서 vmcore 파일을 생성합니다.

그러나 누락된 NMI로 인해 kernel panic() 은 호출되지 않으며 vmcore 는 수집되지 않습니다.

첫 번째 사례(1.)에서 시스템이 응답하지 않은 경우 그대로 유지됩니다. 이 시나리오를 수행하려면 virtual Power(가상 전원 ) 버튼을 사용하여 서버를 재설정하거나 전원을 켭니다.

두 번째 경우(2.) 누락된 NMI는 AAS(Automated System Recovery)에서 9초 후에 재설정됩니다.

HPE Gen9 Server 라인은 이 문제를 한 자리 숫자 비율로 경험합니다. Gen10은 훨씬 더 작은 빈도입니다.

(BZ#1602962)

tuned-adm profile powersave 명령을 사용하면 시스템이 응답하지 않습니다.

tuned-adm profile powersave 명령을 실행하면 이전 Thunderx(CN88x) 프로세서가 있는 Penguin Valkymaster 2000 2소켓 시스템이 응답하지 않는 상태가 됩니다. 그 결과 시스템을 재부팅하여 작동을 재개합니다. 이 문제를 해결하려면 시스템에서 언급된 사양과 일치하는 경우 powersave 프로필을 사용하지 마십시오.

(BZ#1609288)

커널 ACPI 드라이버는 PCIe ECAM 메모리 리전에 액세스할 수 없음을 보고합니다.

펌웨어에서 제공하는 ACPI(Advanced Configuration and Power Interface) 표는 PCI 버스 장치의 현재 리소스 설정(_CRS) 방법의 PCI 버스에서 메모리 영역을 정의하지 않습니다. 결과적으로 시스템 부팅 중에 다음 경고 메시지가 발생합니다.

[    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-0x31ffff 메모리 영역에 계속 액세스할 수 있으며 해당 메모리 지역을 PCI ECAM(Enhanced Configuration Access Mechanism)에 올바르게 할당할 수 있습니다. 다음 출력으로 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 영역 mem 0x30000000-0x31ffffffffffff ff in ACPI namespace"는 시스템 부팅 솔루션 중에 표시됩니다.

(BZ#1868526)

기본 설정의 hwloc 명령은 단일 CPU Power9 및 Power10 LPAR에서 작동하지 않습니다.

버전 2.2.0의 hwloc 패키지를 사용하면 Power9 / Power10 CPU를 실행하는 단일 노드 NUMA(Non-Uniform Memory Access) 시스템은 "비허용"으로 간주됩니다. 결과적으로 모든 hwloc 명령이 작동하지 않고 다음 오류 메시지가 표시됩니다.

Topology does not contain any NUMA node, aborting!

이 두 가지 옵션 중 하나를 사용하여 이 문제를 해결할 수 있습니다.

  • 환경 변수 HWLOC_ALLOW=all설정
  • 다양한 hwloc 명령과 함께 비활성화된 플래그 사용

결과적으로 hwloc 명령은 설명된 시나리오에 오류를 반환하지 않습니다.

(BZ#1917560)

OPEN MPI 라이브러리는 기본 PML을 사용하여 런타임 오류를 트리거할 수 있습니다.

OPEN MPI(Open Message Passing Interface) 구현 4.0.x 시리즈에서 UKX(Unified Communication X)는 기본 PML(Point-to-Point Communicator)입니다. 최신 버전의 OPEN MPI 4.0.x 시리즈의 경우 openib Byte Transfer Layer(BTL)가 더 이상 사용되지 않습니다.

그러나 동일 하드웨어 및 소프트웨어 구성 ( 동일한 하드웨어 및 소프트웨어 구성)을 통해 실행되는 경우, UCX는 여전히 MPI 단면 작업에 openib BTL을 사용합니다. 결과적으로 실행 오류가 발생할 수 있습니다. 이 문제를 해결하려면 다음을 수행합니다.

  • 다음 매개변수를 사용하여 mpirun 명령을 실행합니다.
-mca btl openib -mca pml ucx -x UCX_NET_DEVICES=mlx5_ib0

다음과 같습니다.

  • m ca btl openib 매개 변수는 openib BTL을 비활성화합니다.
  • m ca pml ucx 매개 변수는 OPEN MPI를 구성하여 PM L을 사용합니다.
  • x UCX_NET_DEVICES= 매개변수는 지정된 장치를 사용하도록 UCX를 제한합니다.

OPEN MPI는 이기종 클러스터(다양한 하드웨어 및 소프트웨어 구성)를 통해 실행할 때 UCX를 기본 PML으로 사용합니다. 결과적으로 OPEN MPI 작업이 잘못된 성능, 응답 없는 동작 또는 크래시 오류로 실행될 수 있습니다. 이 문제를 해결하려면 UCX 우선 순위를 다음과 같이 설정합니다.

  • 다음 매개변수를 사용하여 mpirun 명령을 실행합니다.
-mca pml_ucx_priority 5

결과적으로 OPEN MPI 라이브러리는 UCX를 통해 사용 가능한 대체 전송 계층을 선택할 수 있습니다.

(BZ#1866402)

가상 머신에 가상 기능을 연결할 때 연결이 실패합니다

an ionic 장치 드라이버를 사용하는 Pensando 네트워크 카드는 VLAN 태그 구성 요청을 자동으로 수락하고VF(네트워크 가상 기능)를VM(가상 시스템)에 연결하는 동안 네트워크 연결을 구성합니다. 이 기능은 카드 펌웨어에서 아직 지원하지 않으므로 이러한 네트워크 연결이 실패합니다.

(BZ#1930576)

Red Hat logoGithubRedditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

Red Hat을 사용하는 고객은 신뢰할 수 있는 콘텐츠가 포함된 제품과 서비스를 통해 혁신하고 목표를 달성할 수 있습니다.

보다 포괄적 수용을 위한 오픈 소스 용어 교체

Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 언어를 교체하기 위해 최선을 다하고 있습니다. 자세한 내용은 다음을 참조하세요.Red Hat 블로그.

Red Hat 소개

Red Hat은 기업이 핵심 데이터 센터에서 네트워크 에지에 이르기까지 플랫폼과 환경 전반에서 더 쉽게 작업할 수 있도록 강화된 솔루션을 제공합니다.

© 2024 Red Hat, Inc.