실시간 RHEL 설치
짧은 대기 시간을 위해 RHEL에 실시간 용량 추가
초록
Red Hat 문서에 관한 피드백 제공 링크 복사링크가 클립보드에 복사되었습니다!
문서 개선을 위한 의견에 감사드립니다. 어떻게 개선할 수 있는지 알려주십시오.
Jira를 통해 피드백 제출 (계정 필요)
- Jira 웹 사이트에 로그인합니다.
- 상단 탐색 바에서 생성을 클릭합니다.
- 요약 필드에 설명 제목을 입력합니다.
- 설명 필드에 개선을 위한 제안을 입력합니다. 문서의 관련 부분에 대한 링크를 포함합니다.
- 대화 상자 하단에서 생성 을 클릭합니다.
1장. 실시간 RHEL 설치 링크 복사링크가 클립보드에 복사되었습니다!
많은 산업과 조직은 성능 컴퓨팅을 필요로 하며 특히 금융 및 통신 업계에서는 짧고 예측 가능한 대기 시간이 필요할 수 있습니다. 대기 시간 또는 응답 시간은 이벤트와 시스템 응답 사이의 시간으로 정의되며 일반적으로 마이크로초(microseconds)로 측정됩니다.
Linux 환경에서 실행되는 대부분의 애플리케이션의 경우 기본 성능 튜닝을 통해 대기 시간을 충분히 향상시킬 수 있습니다. Red Hat은 대기 시간이 낮고 예측 가능해야 할 뿐만 아니라 의미 있고 예측 가능한 산업을 위해 이를 제공하는 '드라이버인' 커널 교체를 개발했습니다. RHEL for Real Time은 RHEL 10의 일부로 배포되며 RHEL 10 for Real Time과의 원활한 통합을 통해 고객에게 조직 내에서 대기 시간 측정, 구성 및 기록 시간을 측정할 수 있습니다.
RHEL for Real Time을 설치하기 전에 기본 플랫폼이 올바르게 조정되고 시스템 BIOS 매개변수가 조정되었는지 확인합니다. 이러한 작업을 수행하지 못하면 RHEL Real Time 배포에서 일관된 성능을 얻지 못할 수 있습니다.
1.1. 대기 시간을 최적화하기 위한 RHEL for Real Time 링크 복사링크가 클립보드에 복사되었습니다!
RHEL for Real Time은 매우 높은 결정성 요구 사항이 있는 애플리케이션에 맞게 잘 조정된 시스템에서 사용하도록 설계되었습니다. 커널은 결정성이 개선되는 대다수를 제공합니다.
예를 들어 많은 워크로드에서 철저하게 시스템 튜닝을 통해 결과의 일관성을 최적의 백분율로 향상시킵니다. 따라서 RHEL for Real Time을 사용하기 전에 먼저 표준 RHEL의 시스템 튜닝을 수행하여 목표를 충족하는지 확인하는 것이 좋습니다.
시스템 튜닝은 표준 커널만큼 실시간 커널을 사용할 때와 마찬가지로 중요합니다. 조정되지 않은 시스템에 Real-time 커널을 설치하면 눈에 띄는 이점이 없습니다. 표준 커널 튜닝은 좋은 대기 시간 번호를 달성하는 데 도움이 되지만 일관되게 유지되지는 않습니다. 실시간 커널은 원하는 대기 시간 감소 및 결정성/차단성을 제공합니다.
실시간 커널 시스템을 튜닝하기 전에 기본 플랫폼이 올바르게 튜닝되고 시스템 BIOS 매개 변수가 조정되었는지 확인합니다. 이러한 작업을 수행하지 않으면 RHEL 실시간 배포에서 일관된 성능을 얻지 못할 수 있습니다.
Real-time 커널의 목표는 일관되고 짧은 대기 시간 및 결정성을 제공하여 예측 가능한 응답 시간을 제공하는 것입니다. 실시간 커널과 관련된 추가 커널 오버헤드가 있습니다. 대기 시간을 줄이기 위해 환경을 제공하고 시스템의 가장 높은 우선 순위의 작업이 더 많은 처리 시간을 받을 수 있도록 하려면 추가 인프라가 필요했으며 오버헤드가 추가되는 경향이 있었습니다. 오버헤드가 증가하면 전체 처리량이 저하될 수 있습니다. 정확한 양은 워크로드에 따라 달라지며 0%에서 30% 사이입니다.
밀리초(ms) 범위의 커널 대기 시간 요구 사항이 있는 일반적인 워크로드의 경우 표준 RHEL 커널만으로도 충분합니다. 그러나 워크로드에 마이크로초(마이크로초) 범위의 인터럽트 처리 및 프로세스 스케줄링과 같은 핵심 커널 기능에 대한 엄격한 대기 시간 결정 요구 사항이 있는 경우 Real Time 커널은 사용자를 위한 것입니다.
1.2. dnf를 사용하여 RHEL for Real Time 설치 링크 복사링크가 클립보드에 복사되었습니다!
dnf 를 사용하여 실시간 커널을 설치하는 것 외에도 Red Hat Enterprise Linux 다운로드 포털에서 Red Hat Enterprise Linux의 다른 모든 다운로드 구성 요소와 함께 다운로드할 수 있습니다. 버전 메뉴에서 적절한 버전을 선택합니다.
사전 요구 사항
- RHEL 10의 최신 버전은 AMD64 또는 Intel64 시스템에 설치됩니다. 실시간 커널은 Red Hat Enterprise Linux 실행을 위해 인증된 AMD64 및 Intel 64(x86_64라고도 함) 서버 플랫폼에서 실행됩니다.
- 시스템이 등록되고 RHEL이 RHEL for Real Time 서브스크립션에 연결되어 있습니다.
기본 플랫폼이 올바르게 조정되고 시스템 BIOS 매개 변수가 조정되었는지 확인합니다.
주의실시간 커널을 설치하기 전에 사전 요구 사항 작업을 수행하지 못하면 RHEL for Real Time 커널 배포의 일관된 성능을 방지할 수 있습니다.
프로세스
RHEL for Real Time 리포지토리를 활성화합니다.
# subscription-manager repos --enable rhel-10-for-x86_64-rt-rpmsRHEL for Real Time 패키지 그룹을 설치합니다.
# dnf groupinstall RT이 그룹은 여러 패키지를 설치합니다.
-
kernel-rt에는 기능적인 kernel-rt를 설치하기 위해 패키지 종속 항목 목록을 전달하는 meta-package가 포함되어 있습니다. -
kernel-rt-core에는 코어 RHEL for Real Time 커널 패키지가 포함되어 있습니다. -
kernel-rt-devel에는PREEMPT_RT로 컴파일된 적절한 커널 바이너리가 포함되어 있으며 패키지에는 커널 설치를 구동하는 구성 및 스크립트도 포함되어 있습니다. -
kernel-rt-modules-core에는 기능 커널에 필요한 필수 커널 모듈이 포함되어 있습니다. kernel-rt-modules는 일반적으로 사용되는 커널 모듈을 제공하며 kernel-modules-core로 보완됩니다. -
kernel-rt-modules-extra에는 RHEL for Real Time 커널 추가 모듈 패키지가 포함되어 있습니다. -
realtime-setup은 RHEL for Real Time에 필요한 기본 환경을 설정합니다. -
RHEL의 실시간 시스템 적합성을 평가합니다.
-
rteval-loads는rteval로드에 대한 소스 코드를 제공합니다. -
tuned-profiles-realtime에는 실시간을 대상으로 하는 추가TuneD프로필이 포함되어 있습니다.
-
선택 사항:
tuna패키지에는 실시간 커널 워크로드를 조정하는 데 도움이 되는 툴이 포함되어 있으므로 명령줄 또는 GUI에서 CPU 격리 및 스레드 선호도 작업을 크게 자동화할 수 있습니다. 이 패키지는 기본 RHEL 10 리포지토리에서 사용할 수 있습니다.# dnf install tuna
RHEL for Real Time 커널이 설치되면 자동으로 기본 커널로 설정되며 다음 부팅 시 사용됩니다. 커널 ,kernel-debug 또는 와 같은 다른 기존 커널 변형을 기본 부팅 커널로 구성할 수도 있습니다. 자세한 내용은 다음을 참조하십시오.
kernel -rt-debug
검증
설치 위치를 확인하고 구성 요소가 성공적으로 설치되었는지 확인합니다.
# rpm -ql realtime-setup /etc/security/limits.d/realtime.conf /etc/sysconfig/realtime-setup /etc/udev/rules.d/99-rhel-rt.rules /usr/bin/realtime-setup /usr/bin/rt-setup-kdump /usr/bin/slub_cpu_partial_off /usr/lib/.build-id /usr/lib/.build-id/a4 /usr/lib/.build-id/a4/da77908aa4c6f048939f3267f1c552c456d117 /usr/lib/systemd/system/rt-entsk.service /usr/lib/systemd/system/rt-setup.service /usr/sbin/kernel-is-rt /usr/sbin/rt-entsk
1.3. RHEL for Real Time 리포지토리에서 사용 가능한 RPM 패키지 링크 복사링크가 클립보드에 복사되었습니다!
RHEL for Real Time 리포지토리용 RPM(Red Hat Package Manager)에는 다음과 같은 패키지가 포함되어 있습니다.
-
kernel-rt패키지 - RHEL for Real Time 커널 패키지입니다. - RHEL for Real Time 커널 테스트 패키지에는 실시간 커널용 테스트 프로그램이 포함되어 있습니다.
- RHEL for Real Time debuginfo 패키지 - 디버깅 및 코드 추적을 위한 패키지입니다.
| RPM 패키지 이름 | 설명 | RT-specific | 필수 항목 |
|---|---|---|---|
|
| 짧은 대기 시간 및 선점 기능 | 제공됨 | 제공됨 |
| RPM 패키지 이름 | 설명 | RT-specific | 필수 항목 |
|---|---|---|---|
|
| 커널 개발을 위한 헤더 및 라이브러리 | 제공됨 | 없음 |
|
| (낮은) 디버깅 기능이 포함된 RHEL for Real Time 커널 | 제공됨 | 없음 |
|
| 디버그 커널에서 개발을 위한 헤더 및 라이브러리 | 제공됨 | 없음 |
|
| 시스템 대기 시간을 측정하고 우선 순위 상속 뮤지션이 제대로 작동하는 것을 증명하기 위한 유틸리티 | 없음 | 없음 |
debuginfo 패키지는 perf,trace-cmd 및 크래시 유틸리티와 함께 커널 크래시 덤프를 분석하도록 제공됩니다. debuginfo 패키지에는 기호 테이블이 포함되어 있으며 매우 큽니다. 따라서 debuginfo 패키지는 다른 RHEL for Real Time 패키지와 별도로 제공됩니다. RHEL-RT를 사용하여 RHEL 오퍼링의 디버깅 패키지를 다운로드할 수 있습니다.
| RPM 패키지 이름 | 설명 | RT-specific | 필수 항목 |
|---|---|---|---|
|
|
| 제공됨 | 없음 |
|
| 프로파일링 및 추적을 위한 기호 | 제공됨 | 없음 |
1.4. 설치 지침 게시 링크 복사링크가 클립보드에 복사되었습니다!
실시간 커널을 설치한 후 다음을 확인하십시오.
- 대기 시간이 짧은 최적의 결정성을 달성하기 위해 제공된 tuned 프로필을 사용하거나 시스템에 필요한 특정 튜닝의 캔버스로 RHEL을 실시간 특정 시스템 튜닝을 수행합니다.
- 실시간 커널 및 표준 커널의 모듈 호환성에 대한 세부 정보입니다.
-
kdump를 활성화하려면kexec/kdump를 활성화하여 크래시 덤프 정보를 제공하도록 RHEL for Real Time을 구성해야 합니다. - 실시간 커널이 기본 커널인지 확인합니다.
실시간 커널 및 표준 커널의 모듈 호환성
커널 모듈은 기본적으로 빌드된 커널에 고유합니다. 실시간 및 RHEL의 RHEL에는 공통 코드 기반이 있지만 실시간 RHEL에는 실시간 기능과 기능이 활성화되어 있습니다. 따라서 실시간으로 RHEL과 함께 사용하려면 모듈을 다시 빌드해야 합니다.
타사 모듈을 사용해야 하는 경우 RHEL for Real Time 개발 및 테스트 패키지에서 사용할 수 있는 RHEL for Real Time 헤더 파일과 다시 컴파일해야 합니다.
표준 Red Hat Enterprise Linux 10용 타사 드라이버이지만 현재 RHEL for Real Time에 대한 사용자 지정 빌드는 없습니다.
- EMC Powerpath
- NVIDIA 그래픽
- Qlogic의 고급 스토리지 어댑터 구성 유틸리티
주 커널을 위해 Red Hat Enterprise Linux 10용으로 빌드된 사용자 공간 툴은 RHEL과 실시간으로 호환됩니다. 일부 애플리케이션은 설계되었기 때문에 실시간 최적화를 선호하지 않는 방식으로 작동할 수 있습니다.
2장. 실행할 RHEL 커널 지정 링크 복사링크가 클립보드에 복사되었습니다!
부팅 중에 GRUB 메뉴에서 필요한 커널을 수동으로 선택하여 설치된 커널, 표준 또는 실시간을 부팅할 수 있습니다. 기본적으로 부팅하도록 커널을 구성할 수도 있습니다.
RHEL for Real Time 커널이 설치되면 자동으로 기본 커널로 설정되며 다음 부팅 시 사용됩니다.
2.1. 기본 커널 표시 링크 복사링크가 클립보드에 복사되었습니다!
기본적으로 부팅하도록 구성된 커널을 표시할 수 있습니다.
프로세스
기본 커널을 보려면 다음을 수행합니다.
# grubby --default-kernel /boot/vmlinuz-6.12.0-89.el10_0.x86_64+rt명령 출력의
+rt는 기본 커널이 실시간 커널임을 보여줍니다.
2.2. 실행 중인 커널 표시 링크 복사링크가 클립보드에 복사되었습니다!
현재 실행 중인 커널을 표시할 수 있습니다.
프로세스
시스템이 현재 실행 중인 커널을 표시합니다.
# uname -a Linux rt-server.example.com 6.12.0-89.el10_0.x86_64 …참고시스템에서 마이너 업데이트를 수신하면(예: 8.3에서 8.4로) 기본 커널이 Real Time 커널에서 표준 커널로 자동으로 변경될 수 있습니다.
2.3. kernel-rt를 기본 부팅 커널로 구성 링크 복사링크가 클립보드에 복사되었습니다!
새로 설치된 시스템에서 주식 RHEL 커널 은 기본 부팅 커널로 설정되며 다음 부팅 및 후속 시스템 업데이트에서 기본 커널로 사용됩니다. 이 구성을 변경하고 커널-rt 를 부팅하기 위해 기본 커널로 설정하고 시스템 업데이트 시 이 구성을 영구적으로 설정할 수 있습니다. kernel-rt 구성은 일회성 절차로, 필요한 경우 다른 커널로 변경하거나 되돌릴 수 있습니다. 커널 ,kernel-debug 또는 와 같은 다른 기존 커널 변형을 기본 부팅 커널로 구성할 수도 있습니다.
kernel -rt-debug
프로세스
kernel-rt를 기본 부팅 커널로 구성하려면 다음 명령을 입력합니다.# grubby --set-default=<RT_VMLINUZ>RT_VMLINUZ는 kernel-rt 커널과 연결된vmlinux파일의 이름입니다. 예를 들면 다음과 같습니다.# grubby --set-default=/boot/vmlinuz-6.12.0-284.11.1.rt14.296.el0_0_2.x86_64+rt시스템 업데이트에서
kernel-rt를 기본 부팅 커널로 구성하려면 다음 명령을 입력합니다.# sed -i 's/UPDATEDEFAULT=.*/UPDATEDEFAULT=yes/g' /etc/sysconfig/kernel # sed -i 's/DEFAULTKERNEL=.*/DEFAULTKERNEL=kernel-rt-core/g' /etc/sysconfig/kernelUPDATEDEFAULT변수를yes로 지정하면 시스템 업데이트와 함께 기본 커널이 변경되도록 설정합니다.예제 출력에서 기본 커널의 경로는 설치된
kernel-rt-core패키지에 따라 다릅니다.rpm -q kernel-rt-core명령을 사용하여 패키지에서 커널의 경로를 확인할 수 있습니다.선택 사항: 패키지에서 커널의 경로를 확인해야 하는 경우 먼저 설치된 패키지를 나열하십시오.
# rpm -q kernel-rt-core kernel-rt-core-6.12.0-55.14.1.el10_0.x86_64 kernel-rt-core-6.12.0-55.13.1.el10_0.x86_64 kernel-rt-core-6.12.0-55.12.1.el10_0.x86_64최신 설치된 패키지를 기본값으로 사용하려면 다음 명령을 입력하여 패키지에서 부팅 이미지의 경로를 찾습니다.
# rpm -ql kernel-rt-core-6.12.0-55.14.1.el10_0.x86_64 | grep '^/boot/vmlinu' /boot/vmlinuz-6.12.0-55.14.1.el10_0.x86_64+rtkernel-rt를 기본 부팅 커널로 구성하려면 다음 명령을 입력합니다.# grubby --set-default=/boot/vmlinuz-6.12.0-55.14.1.el10_0.x86_64+rt
검증
kernel-rt가 기본 커널인지 확인하려면 다음 명령을 입력합니다.# grubby --default-kernel /boot/vmlinuz-6.12.0-55.14.1.el10_0.x86_64+rt
3장. kdump 설치 링크 복사링크가 클립보드에 복사되었습니다!
RHEL 10 설치의 새 버전에서 kdump 서비스가 기본적으로 설치 및 활성화됩니다.
3.1. kdump란 무엇입니까? 링크 복사링크가 클립보드에 복사되었습니다!
kdump 는 크래시 덤프 메커니즘을 제공하고 크래시 덤프 또는 vmcore 덤프 파일을 생성하는 서비스입니다. vmcore 에는 분석 및 문제 해결을 위한 시스템 메모리 내용이 포함됩니다. kdump 는 kexec 시스템 호출을 사용하여 두 번째 커널로 부팅하고 재부팅하지 않고 커널을 캡처합니다. 이 커널은 충돌한 커널 메모리의 내용을 캡처하여 파일에 저장합니다. 두 번째 커널은 시스템 메모리의 예약된 부분에서 사용할 수 있습니다.
커널 크래시 덤프는 시스템 오류가 발생한 경우 사용 가능한 유일한 정보일 수 있습니다. 따라서 작업 kdump 는 미션 크리티컬 환경에서 중요합니다. 일반 커널 업데이트 주기에서 kexec-tools,kdump-utils, dumpfile 패키지를 정기적으로 업데이트하고 테스트해야 합니다. 이는 새 커널 기능을 설치할 때 중요합니다.
머신에 여러 커널이 있는 경우 설치된 모든 커널 또는 지정된 커널에 대해 kdump 를 활성화할 수 있습니다. kdump 를 설치할 때 시스템은 기본 /etc/kdump.conf 파일을 생성합니다. /etc/kdump.conf 에는 kdump 구성을 사용자 지정하기 위해 편집할 수 있는 기본 최소 kdump 구성이 포함되어 있습니다.
3.2. Anaconda를 사용하여 kdump 설치 링크 복사링크가 클립보드에 복사되었습니다!
Anaconda 설치 프로그램은 대화형 설치 중에 kdump 구성에 대한 그래픽 인터페이스 화면을 제공합니다. kdump 를 활성화하고 필요한 메모리 양을 예약할 수 있습니다.
프로세스
-
Anaconda 설치 프로그램에서 KDUMP 를 클릭하고
kdump를 활성화합니다. - Kdump 메모리 예약 에서 메모리 예약을 사용자 지정해야 하는 경우 Manual'을 선택합니다.
-
KDUMP > Memory to be Reserved(MB) 에서
kdump에 필요한 메모리 예약을 설정합니다.
3.3. 명령줄에 kdump 설치 링크 복사링크가 클립보드에 복사되었습니다!
사용자 지정 Kickstart 설치와 같은 설치 옵션은 경우에 따라 기본적으로 kdump 를 설치하거나 활성화 하지 않습니다. 다음 절차에서는 이 경우 kdump 를 활성화하는 데 도움이 됩니다.
사전 요구 사항
- 활성 RHEL 서브스크립션입니다.
-
시스템 CPU 아키텍처용
kexec-tools패키지가 포함된 리포지토리입니다. -
kdump구성 및 대상에 대한 요구 사항을 충족했습니다. 자세한 내용은 지원되는 kdump 구성 및 대상 을 참조하십시오.
프로세스
kdump가 시스템에 설치되어 있는지 확인합니다.# rpm -q kexec-tools패키지가 설치된 경우 출력됩니다.
+ 패키지가 설치되지 않은 경우 출력:
+
package kexec-tools is not installed
kdump및 기타 필수 패키지를 설치합니다.# dnf install kexec-tools
4장. 명령줄에서 kdump 구성 링크 복사링크가 클립보드에 복사되었습니다!
kdump 의 메모리는 시스템 부팅 중에 예약되어 있습니다. 시스템의 GRUB(GRUB) 구성 파일에서 메모리 크기를 구성할 수 있습니다. 메모리 크기는 구성 파일에 지정된 crashkernel= 값과 시스템의 실제 메모리에 따라 다릅니다.
4.1. kdump 크기 추정 링크 복사링크가 클립보드에 복사되었습니다!
kdump 환경을 계획하고 구축할 때는 크래시 덤프 파일에 필요한 공간을 알아야 합니다.
makedumpfile --mem-usage 명령은 크래시 덤프 파일에 필요한 공간을 추정합니다. 메모리 사용량 보고서를 생성합니다. 이 보고서를 사용하면 덤프 수준과 제외할 수 있는 페이지를 결정하는 데 도움이 됩니다.
프로세스
다음 명령을 입력하여 메모리 사용량 보고서를 생성합니다.
# makedumpfile --mem-usage /proc/kcore TYPE PAGES EXCLUDABLE DESCRIPTION ------------------------------------------------------------- ZERO 501635 yes Pages filled with zero CACHE 51657 yes Cache pages CACHE_PRIVATE 5442 yes Cache pages + private USER 16301 yes User process pages FREE 77738211 yes Free pages KERN_DATA 1333192 no Dumpable kernel data
makedumpfile --mem-usage 명령은 필요한 메모리를 페이지에 보고합니다. 즉, 커널 페이지 크기에 대해 사용 중인 메모리 크기를 계산해야 합니다.
4.2. kdump 메모리 사용량 구성 링크 복사링크가 클립보드에 복사되었습니다!
kdump-utils 패키지는 기본 crashkernel= 메모리 예약 값을 유지 관리합니다. kdump 서비스는 기본값을 사용하여 각 커널에 대해 크래시 커널 메모리를 예약합니다. 기본값은 crashkernel= 값을 수동으로 설정할 때 필요한 메모리 크기를 추정하는 참조 기본 값으로도 사용할 수 있습니다. 크래시 커널의 최소 크기는 하드웨어 및 머신 사양에 따라 다를 수 있습니다.
kdump 의 자동 메모리 할당은 시스템 하드웨어 아키텍처 및 사용 가능한 메모리 크기에 따라 다릅니다. 예를 들어 AMD64 및 Intel 64비트 아키텍처에서는 사용 가능한 메모리가 2GB를 초과하는 경우에만 crashkernel= 매개변수의 기본값이 작동합니다. kdump-utils 유틸리티는 AMD64 및 Intel 64비트 아키텍처에 다음과 같은 기본 메모리를 구성합니다.
crashkernel=2G-64G:256M,64G-:512M
kdumpctl 추정치를 실행하여 충돌을 트리거하지 않고 대략적인 값을 얻을 수도 있습니다. 추정된 crashkernel= 값은 정확히 일치하지 않을 수 있지만 적절한 crashkernel= 값을 설정하는 참조 역할을 할 수 있습니다.
부팅 명령줄의 crashkernel=1G-4G:192M,4G-64G:256M,64G:512M 옵션은 RHEL 10 이상 릴리스에서 더 이상 지원되지 않습니다.
kdump 구성을 테스트하는 명령으로 인해 커널이 데이터 손실과 충돌합니다. 주의해서 지침을 따르십시오. kdump 설정을 테스트하기 위해 활성 프로덕션 시스템을 사용해서는 안 됩니다.
사전 요구 사항
- 시스템에 대한 root 권한이 있습니다.
-
구성 및 대상에 대한
kdump요구 사항을 충족했습니다. 자세한 내용은 지원되는 kdump 구성 및 대상 을 참조하십시오. -
zipl유틸리티가 IBM Z 시스템인 경우 설치했습니다.
프로세스
크래시 커널의 기본값을 구성합니다.
# kdumpctl reset-crashkernel --kernel=ALLcrashkernel=값을 구성할 때kdump가 활성화된 시스템을 재부팅하여 구성을 테스트합니다.kdump커널이 부팅되지 않으면 메모리 크기를 점진적으로 늘려 허용 가능한 값을 설정합니다.사용자 지정
crashkernel=값을 사용하려면 다음을 수행합니다.필요한 메모리 예약을 구성합니다.
crashkernel=192M선택적으로
crashkernel= <range1>:<size1>,<range2>:<size2>:<size2> 구문을 사용하여 설치된 총 메모리 양에 따라 예약된 메모리 양을 변수로 설정할 수 있습니다. 예를 들면 다음과 같습니다.crashkernel=1G-4G:192M,2G-64G:256M이 예제에서는 총 시스템 메모리 양이 1GB 이상이고 4GB보다 낮은 경우 192MB의 메모리를 예약합니다. 총 메모리 양이 4GB를 초과하면
kdump용으로 256MB가 예약되어 있습니다.선택 사항: 예약된 메모리를 끕니다.
일부 시스템은
crashkernel예약이 매우 초기이므로 특정 고정 오프셋이 있는 메모리를 예약해야 하며 특수 사용을 위해 일부 영역을 예약하려고 합니다. 오프셋이 설정되면 예약된 메모리가 여기에서 시작됩니다. 예약된 메모리를 오프셋하려면 다음 구문을 사용합니다.crashkernel=192M@16M이 예제에서는 16MB(실제 주소 0x01000000)부터 192MB의 메모리를 예약합니다. 0으로 오프셋하거나 값을 지정하지 않으면
kdump에서 예약된 메모리를 자동으로 오프셋합니다. 오프셋을 마지막 값으로 지정하여 변수 메모리 예약을 설정할 때 메모리를 오프셋할 수도 있습니다. 예를 들어crashkernel=1G-4G:192M,2G-64G:256M@16M.부트 로더 구성을 업데이트합니다.
# grubby --update-kernel ALL --args "crashkernel=<custom-value>"&
lt;custom-value>에는 크래시 커널에 대해 구성한 사용자 정의crashkernel=값이 포함되어야 합니다.
변경 사항을 적용하려면 재부팅하십시오.
# reboot
검증
sysrq 키를 활성화하여 커널이 충돌하도록 합니다. address-YYY-MM-DD-HH:MM:SS/vmcore 파일은 /etc/kdump.conf 파일에 지정된 대로 대상 위치에 저장됩니다. 기본 대상 위치를 선택하면 vmcore 파일은 /var/crash/ 에 마운트된 파티션에 저장됩니다.
kdump커널에 부팅하려면sysrq키를 활성화합니다.# echo c > /proc/sysrq-trigger명령을 사용하면 커널이 충돌하고 필요한 경우 커널이 다시 부팅됩니다.
/etc/kdump.conf파일을 표시하고vmcore파일이 대상 대상에 저장되는지 확인합니다.자세한 내용은 시스템의
grubby(8)도움말 페이지를 참조하십시오.
4.3. kdump 대상 구성 링크 복사링크가 클립보드에 복사되었습니다!
크래시 덤프는 일반적으로 장치에 직접 작성된 로컬 파일 시스템에 파일로 저장됩니다. 선택적으로 NFS 또는 SSH 프로토콜을 사용하여 네트워크를 통해 크래시 덤프를 보낼 수 있습니다. 크래시 덤프 파일을 보존하기 위한 이러한 옵션 중 하나만 한 번에 설정할 수 있습니다. 기본 동작은 로컬 파일 시스템의 /var/crash/ 디렉터리에 저장하는 것입니다.
사전 요구 사항
- 시스템에 대한 root 권한이 있습니다.
-
kdump구성 및 대상에 대한 요구 사항을 충족했습니다. 자세한 내용은 지원되는 kdump 구성 및 대상 을 참조하십시오.
프로세스
크래시 덤프 파일을 로컬 파일 시스템의
/var/crash/디렉터리에 저장하려면/etc/kdump.conf파일을 편집하고 경로를 지정합니다.path /var/crash옵션
경로 /var/crash는kdump에서 크래시 덤프 파일을 저장하는 파일 시스템의 경로를 나타냅니다.참고-
/etc/kdump.conf파일에 덤프 대상을 지정하면 경로는 지정된 덤프 대상과 관련이 있습니다. -
/etc/kdump.conf파일에 덤프 대상을 지정하지 않으면 경로는 루트 디렉터리의 절대 경로를 나타냅니다.
현재 시스템에 마운트된 파일 시스템에 따라 덤프 대상 및 조정된 덤프 경로가 자동으로 구성됩니다.
-
크래시 덤프 파일과
kdump에서 생성된 관련 파일을 보호하려면 사용자 권한 및 SELinux 컨텍스트와 같은 대상 대상 디렉터리에 대한 적절한 속성을 설정해야 합니다. 또한 다음과 같이kdump.conf파일에서kdump_post.sh스크립트를 정의할 수 있습니다.kdump_post <path_to_kdump_post.sh>kdump_post지시문은kdump가 캡처를 완료하고 지정된 대상에 크래시 덤프를 저장한 후 실행되는 쉘 스크립트 또는 명령을 지정합니다. 이 메커니즘을 사용하여kdump의 기능을 확장하여 파일 권한 조정을 포함하여 작업을 수행할 수 있습니다.kdump대상 설정 표시 및 이해:주석 및 빈 행을 필터링하여 효과적인 구성을 표시합니다.
# grep -v '^#' /etc/kdump.conf | grep -v '^$'출력 예:
ext4 /dev/mapper/vg00-varcrashvol path /var/crash core_collector makedumpfile -c --message-level 1 -d 31덤프 대상은 (
ext4 /dev/mapper/vg00-varcrashvol) 지정되므로/var/crash에 마운트됩니다.path옵션도/var/crash로 설정됩니다. 따라서kdump는vmcore파일을/var/crash/var/crash디렉터리에 저장합니다.
크래시 덤프 저장을 위해 로컬 디렉터리를 변경하려면
/etc/kdump.conf구성 파일을root사용자로 편집합니다.-
행의 시작 부분에서 해시 기호( # )를 제거합니다.#path /var/crash 값을 의도한 디렉터리 경로로 바꿉니다. 예를 들면 다음과 같습니다.
path /usr/local/cores중요Red Hat Enterprise Linux 10에서
path지시문을 사용하여kdump대상으로 정의된 디렉터리는kdumpsystemd서비스가 실패하지 않도록 시작될 때 존재해야 합니다. 서비스가 시작될 때 디렉터리가 없으면 더 이상 자동으로 생성되지 않습니다.
-
파일을 다른 파티션에 작성하려면
/etc/kdump.conf구성 파일을 편집합니다.선택한 항목에 따라
행의 시작 부분에서 해시 기호(# )를 제거합니다.#ext4-
장치 이름(
#ext4 /dev/vg/lv_kdump행) -
파일 시스템 레이블(
#ext4 LABEL=/boot행) -
UUID (
#ext4 UUID=03138356-5e61-4ab3-b58e-27507ac41937행)
-
장치 이름(
파일 시스템 유형과 장치 이름, 레이블 또는 UUID를 필수 값으로 변경합니다. UUID 값을 지정하는 올바른 구문은
UUID="correct-uuid"및UUID=correct-uuid입니다. 예를 들면 다음과 같습니다.ext4 UUID=03138356-5e61-4ab3-b58e-27507ac41937중요LABEL=또는UUID=를 사용하여 스토리지 장치를 지정해야 합니다./dev/sda3과 같은 디스크 장치 이름은 재부팅 시 일관성이 유지되지 않습니다.IBM Z 하드웨어에서 Direct Access Storage Device(DASD)를 사용하는 경우
kdump를 진행하기 전에 덤프 장치가/etc/dasd.conf에 올바르게 지정되었는지 확인합니다.
크래시 덤프를 장치에 직접 작성하려면
/etc/kdump.conf구성 파일을 편집합니다.-
행의 시작 부분에서 해시 기호( # )를 제거합니다.#raw /dev/vg/lv_kdump 값을 원하는 장치 이름으로 바꿉니다. 예를 들면 다음과 같습니다.
raw /dev/sdb1
-
NFS프로토콜을 사용하여 크래시 덤프를 원격 시스템에 저장하려면 다음을 수행합니다.-
행의 시작 부분에서 해시 기호( # )를 제거합니다.#nfs my.server.com:/export/tmp 값을 유효한 호스트 이름 및 디렉터리 경로로 바꿉니다. 예를 들면 다음과 같습니다.
nfs penguin.example.com:/export/cores변경 사항을 적용하려면
kdump서비스를 다시 시작하십시오.$ sudo systemctl restart kdump.service참고NFS 지시문을 사용하여 NFS 대상을 지정하는 동안
kdump.service는 자동으로 NFS 대상을 마운트하여 디스크 공간을 확인합니다. NFS 대상을 미리 마운트할 필요가 없습니다.kdump.service가 대상을 마운트하지 않도록 하려면kdump.conf에서dracut_args --mount지시문을 사용합니다. 그러면kdump.service가--mount인수와 함께dracut유틸리티를 호출하여 NFS 대상을 지정할 수 있습니다.
-
SSH 프로토콜을 사용하여 크래시 덤프를 원격 시스템에 저장하려면 다음을 수행합니다.
-
행의 시작 부분에서 해시 기호(# )를 제거합니다.#ssh user@my.server.com - 값을 유효한 사용자 이름 및 호스트 이름으로 바꿉니다.
구성에 SSH 키를 포함합니다.
-
#sshkey /root/.ssh/kdump_id_rsa행의 시작 부분에서 해시 기호를 제거합니다. 덤프하려는 서버에서 유효한 키 위치로 값을 변경합니다. 예를 들면 다음과 같습니다.
ssh john@penguin.example.com sshkey /root/.ssh/mykey
-
-
4.4. kdump 코어 수집기 구성 링크 복사링크가 클립보드에 복사되었습니다!
kdump 서비스는 core_collector 프로그램을 사용하여 크래시 덤프 이미지를 캡처합니다. RHEL에서 makedumpfile 유틸리티는 기본 코어 수집기입니다. 다음과 같이 덤프 파일을 줄이는 데 도움이 됩니다.
- 크래시 덤프 파일의 크기를 압축하고 다양한 덤프 수준을 사용하여 필요한 페이지만 복사합니다.
- 불필요한 크래시 덤프 페이지 제외.
- 크래시 덤프에 포함될 페이지 유형 필터링.
크래시 덤프 파일 압축은 기본적으로 활성화되어 있습니다.
크래시 덤프 파일 압축을 사용자 지정해야 하는 경우 다음 절차를 따르십시오.
- 구문
core_collector makedumpfile -l --message-level 1 -d 31
- 옵션
-
-c,또는-l: 각 페이지에서-pzlibfor-c옵션, -l 옵션lzo, -p 옵션의 경우snappy또는-z옵션을 위해zstd를 사용하여 덤프 파일 형식을 압축하십시오. -
-d(dump_level): 덤프 파일에 복사되지 않도록 페이지를 제외합니다. -
--message-level: 메시지 유형을 지정합니다. 이 옵션으로message_level을 지정하여 출력된 출력을 제한할 수 있습니다. 예를 들어 7을message_level으로 지정하면 일반적인 메시지 및 오류 메시지가 출력됩니다.message_level의 최대값은 31입니다.
-
사전 요구 사항
- 시스템에 대한 root 권한이 있습니다.
-
kdump구성 및 대상에 대한 요구 사항을 충족했습니다. 자세한 내용은 지원되는 kdump 구성 및 대상 을 참조하십시오.
프로세스
-
루트로서/etc/kdump.conf구성 파일을 편집하고#core_collector makedumpfile -l --message-level 1 -d 31의 시작 부분에서 해시 기호("#")를 제거합니다. 크래시 덤프 파일 압축을 활성화하려면 다음 명령을 입력합니다.
core_collector makedumpfile -l --message-level 1 -d 31l옵션은 압축 파일 형식을 LZO로 설정합니다.d옵션은 덤프 수준을 31로 설정합니다.--message-level옵션은 메시지 수준을 1로 설정합니다.-c,-p또는-z옵션을 사용하여 다른 압축 형식을 지정할 수도 있습니다.자세한 내용은 시스템의
makedumpfile(8)매뉴얼 페이지를 참조하십시오.
4.5. kdump 기본 실패 응답 구성 링크 복사링크가 클립보드에 복사되었습니다!
기본적으로 kdump 가 구성된 대상 위치에서 크래시 덤프 파일을 생성하지 못하면 시스템이 재부팅되고 프로세스에서 덤프가 손실됩니다. 기본 실패 응답을 변경하고 코어 덤프를 기본 대상에 저장하지 못할 때 다른 작업을 수행하도록 kdump 를 구성할 수 있습니다. 추가 작업은 다음과 같습니다.
dump_to_rootfs-
코어 덤프를
루트파일 시스템에 저장합니다. reboot- 시스템을 재부팅하여 프로세스의 코어 덤프가 손실됩니다.
halt- 시스템에서 시스템을 중지하고 프로세스에서 코어 덤프를 손실합니다.
poweroff- 시스템의 전원을 끄고 프로세스의 코어 덤프를 끊습니다.
shell-
initramfs내에서 쉘 세션을 실행하면 코어 덤프를 수동으로 기록할 수 있습니다. final_action-
kdump에 성공한 후 또는 shell 또는dump_to_rootfs실패 작업이 완료될 때reboot,halt,poweroff와 같은 추가 작업을 활성화합니다. 기본값은reboot입니다. failure_action-
커널 충돌에서 덤프가 실패할 때 수행할 작업을 지정합니다. 기본값은
reboot입니다.
사전 요구 사항
- 루트 권한.
-
kdump구성 및 대상에 대한 요구 사항을 충족했습니다. 자세한 내용은 지원되는 kdump 구성 및 대상 을 참조하십시오.
프로세스
-
root사용자로/etc/kdump.conf구성 파일의행의 시작 부분에서 해시 기호(# )를 제거합니다.#failure_action 값을 필수 작업으로 바꿉니다.
failure_action poweroff
4.6. kdump 설정 파일 링크 복사링크가 클립보드에 복사되었습니다!
kdump 커널의 설정 파일은 /etc/sysconfig/kdump 입니다. 이 파일은 kdump 커널 명령줄 매개변수를 제어합니다. 대부분의 구성에서 기본 옵션을 사용합니다. 그러나 일부 시나리오에서는 kdump 커널 동작을 제어하도록 특정 매개변수를 수정해야 할 수 있습니다. 예를 들어 KDUMP_COMMANDLINE_APPEND 옵션을 수정하여 kdump 커널 명령줄을 추가하여 자세한 디버깅 출력을 얻거나 kdump 명령줄에서 인수를 제거하도록 KDUMP_COMMANDLINE_REMOVE 옵션을 변경합니다.
KDUMP_COMMANDLINE_REMOVE이 옵션은 현재
kdump명령줄에서 인수를 제거합니다.kdump오류 또는kdump커널 부팅 실패를 유발할 수 있는 매개변수를 제거합니다. 이러한 매개변수는 이전KDUMP_COMMANDLINE프로세스에서 구문 분석되었거나/proc/cmdline파일에서 상속되었을 수 있습니다.이 변수가 구성되지 않은 경우
/proc/cmdline파일의 모든 값을 상속합니다. 이 옵션을 구성하면 문제를 디버깅하는 데 유용한 정보도 제공합니다.특정 인수를 제거하려면 다음과 같이
KDUMP_COMMANDLINE_REMOVE에 추가합니다.# KDUMP_COMMANDLINE_REMOVE="hugepages hugepagesz slub_debug quiet log_buf_len swiotlb"KDUMP_COMMANDLINE_APPEND이 옵션은 현재 명령줄에 인수를 추가합니다. 이러한 인수는 이전
KDUMP_COMMANDLINE_REMOVE변수에서 구문 분석되었을 수 있습니다.kdump커널의 경우mce,cgroup,numa,hest_disable과 같은 특정 모듈을 비활성화하면 커널 오류를 방지할 수 있습니다. 이러한 모듈은kdump용으로 예약된 커널 메모리의 중요한 부분을 사용하거나kdump커널 부팅 실패를 유발할 수 있습니다.kdump커널 명령줄에서 메모리cgroup을 비활성화하려면 다음과 같이 명령을 실행합니다.KDUMP_COMMANDLINE_APPEND="cgroup_disable=memory"자세한 내용은
/etc/sysconfig/kdump파일을 참조하십시오.
4.7. kdump 설정 테스트 링크 복사링크가 클립보드에 복사되었습니다!
kdump 를 구성한 후 시스템 충돌을 수동으로 테스트하고 vmcore 파일이 정의된 kdump 대상에 생성되었는지 확인해야 합니다. vmcore 파일은 새로 부팅된 커널의 컨텍스트에서 캡처됩니다. 따라서 vmcore 에는 커널 충돌을 디버깅하는 데 중요한 정보가 있습니다.
활성 프로덕션 시스템에서 kdump 를 테스트하지 마십시오. kdump 를 테스트하는 명령으로 인해 커널이 데이터 손실과 충돌합니다. 시스템 아키텍처에 따라 kdump 테스트에서 부팅 시간이 긴 몇 가지 재부팅이 필요할 수 있으므로 상당한 유지 관리 시간을 예약해야 합니다.
kdump 테스트 중에 vmcore 파일이 생성되지 않으면 kdump 테스트를 위해 테스트를 다시 실행하기 전에 문제를 식별하고 수정합니다.
수동 시스템을 수정하는 경우 시스템 수정이 끝날 때 kdump 구성을 테스트해야 합니다. 예를 들어 다음 변경 사항을 수행하는 경우 다음을 위한 최적의 kdump 성능에 대한 kdump 구성을 테스트해야 합니다.
- 패키지 업그레이드.
- 하드웨어 수준 변경(예: 스토리지 또는 네트워킹 변경)
- 펌웨어 업그레이드.
- 타사 모듈을 포함하는 새로운 설치 및 애플리케이션 업그레이드.
- 핫플러그 메커니즘을 사용하여 이 메커니즘을 지원하는 하드웨어에 메모리를 추가하는 경우.
-
/etc/kdump.conf또는/etc/sysconfig/kdump파일을 변경한 후
사전 요구 사항
- 시스템에 대한 root 권한이 있습니다.
-
모든 중요한 데이터를 저장했습니다.
kdump를 테스트하는 명령으로 인해 커널이 데이터 손실과 충돌합니다. - 시스템 아키텍처에 따라 상당한 머신 유지 관리 시간을 예약했습니다.
프로세스
kdump서비스를 활성화합니다.# kdumpctl restartkdumpctl을 사용하여kdump서비스의 상태를 확인합니다.# kdumpctl status kdump:Kdump is operational선택적으로
systemctl명령을 사용하는 경우 출력은systemd저널에 출력됩니다.커널 충돌을 시작하여
kdump구성을 테스트합니다.sysrq-trigger키 조합을 사용하면 커널이 충돌하고 필요한 경우 시스템을 재부팅할 수 있습니다.# echo c > /proc/sysrq-trigger커널 재부팅 시
주소-YYYY-MM-DD-HH:MM:SS/vmcore파일이/etc/kdump.conf파일에 지정된 위치에 생성됩니다. 기본값은/var/crash/입니다.
4.8. 시스템 충돌 후 kdump에 의해 생성된 파일 링크 복사링크가 클립보드에 복사되었습니다!
시스템 충돌 후 kdump 서비스는 덤프 파일(vmcore)에 커널 메모리를 캡처하고 문제 해결 및 postmortem 분석을 지원하기 위해 추가 진단 파일을 생성합니다.
kdump 에 의해 생성된 파일:
-
vmcore- 충돌 시 시스템 메모리를 포함하는 주요 커널 메모리 덤프 파일입니다.kdump구성에 지정된core_collector프로그램의 구성에 따라 데이터를 포함합니다. 기본적으로 커널 데이터 구조, 프로세스 정보, 스택 추적 및 기타 진단 정보. -
vmcore-dmesg.txt- 패닉 상태인 기본 커널의 커널 링 버퍼 로그(dmesg)의 내용입니다. -
kexec-dmesg.log-vmcore데이터를 수집하는 보조kexec커널 실행으로부터의 커널 및 시스템 로그 메시지가 있습니다.
4.9. kdump 서비스 활성화 및 비활성화 링크 복사링크가 클립보드에 복사되었습니다!
특정 커널 또는 설치된 모든 커널에서 kdump 기능을 활성화하거나 비활성화하도록 구성할 수 있습니다. kdump 기능을 정기적으로 테스트하고 올바르게 작동하는지 확인해야 합니다.
사전 요구 사항
- 시스템에 대한 root 권한이 있습니다.
-
구성 및 대상에 대한
kdump요구 사항을 완료했습니다. 지원되는 kdump 구성 및 대상 을 참조하십시오. -
kdump설치에 대한 모든 구성은 필요에 따라 설정됩니다.
프로세스
multi-user.target에 대해kdump서비스를 활성화합니다.# systemctl enable kdump.service현재 세션에서 서비스를 시작합니다.
# systemctl start kdump.servicekdump서비스를 중지합니다.# systemctl stop kdump.servicekdump서비스를 비활성화합니다.# systemctl disable kdump.service
kptr_restrict=1 을 기본값으로 설정하는 것이 좋습니다. kptr_restrict 가 기본값으로 설정된 경우 kdumpctl 서비스는KASLR(커널 주소 공간 레이아웃)이 활성화되었는지 여부에 관계없이 크래시 커널을 로드합니다.
kptr_restrict 가 1 로 설정되지 않고 KASLR이 활성화된 경우 /proc/kore 파일의 콘텐츠가 모든 0으로 생성됩니다. kdumpctl 서비스가 /proc/kcore 파일에 액세스하지 못하고 크래시 커널을 로드합니다. kexec-kdump-howto.txt 파일에는 kptr_restrict=1 을 설정할 것을 권장하는 경고 메시지가 표시됩니다. sysctl.conf 파일에서 다음을 확인하여 kdumpctl 서비스가 크래시 커널을 로드하는지 확인합니다.
-
sysctl.conf파일의 커널kptr_restrict=1.
4.10. 커널 드라이버가 kdump에 대한 로드되지 않음 링크 복사링크가 클립보드에 복사되었습니다!
/etc/sysconfig/kdump 구성 파일에 KDUMP_COMMANDLINE_APPEND= 변수를 추가하여 캡처 커널이 특정 커널 드라이버를 로드하지 않도록 제어할 수 있습니다. 이 방법을 사용하면 kdump 초기 RAM 디스크 이미지 initramfs 가 지정된 커널 모듈을 로드하지 못하도록 할 수 있습니다. 이렇게 하면 OOM(메모리 부족) 중단 오류 또는 기타 크래시 커널 실패를 방지할 수 있습니다.
다음 구성 옵션 중 하나를 사용하여 KDUMP_COMMANDLINE_APPEND= 변수를 추가할 수 있습니다.
-
rd.driver.blacklist=<modules> -
modprobe.blacklist=<modules>
사전 요구 사항
- 시스템에 대한 root 권한이 있습니다.
프로세스
현재 실행 중인 커널에 로드된 모듈 목록을 표시합니다. 로드에서 차단할 커널 모듈을 선택합니다.
$ lsmod Module Size Used by fuse 126976 3 xt_CHECKSUM 16384 1 ipt_MASQUERADE 16384 1 uinput 20480 1 xt_conntrack 16384 1/etc/sysconfig/kdump파일에서KDUMP_COMMANDLINE_APPEND=변수를 업데이트합니다. 예를 들면 다음과 같습니다.KDUMP_COMMANDLINE_APPEND="rd.driver.blacklist=hv_vmbus,hv_storvsc,hv_utils,hv_netvsc,hid-hyperv"또한
modprobe.blacklist= <modules> 구성 옵션을 사용하여 다음 예제를 고려하십시오.KDUMP_COMMANDLINE_APPEND="modprobe.blacklist=emcp modprobe.blacklist=bnx2fc modprobe.blacklist=libfcoe modprobe.blacklist=fcoe"kdump서비스를 다시 시작하십시오.# systemctl restart kdump자세한 내용은 시스템의
dracut.cmdline도움말 페이지를 참조하십시오.
4.11. 암호화된 디스크가 있는 시스템에서 kdump 실행 링크 복사링크가 클립보드에 복사되었습니다!
LUKS 암호화된 파티션을 실행할 때 시스템에 특정 양의 사용 가능한 메모리가 필요합니다. 시스템에 필요한 양의 메모리보다 적은 경우 cryptsetup 유틸리티에서 파티션을 마운트하지 못합니다. 결과적으로 두 번째 커널(capture 커널)에서 vmcore 파일을 암호화된 대상 위치로 캡처할 수 없습니다.
kdumpctl estimate 명령은 kdump 에 필요한 메모리 양을 추정하는 데 도움이 됩니다. kdumpctl 추정은 kdump 에 필요한 가장 적합한 메모리 크기인 권장 crashkernel 값을 출력합니다.
권장되는 crashkernel 값은 현재 커널 크기, 커널 모듈, initramfs 및 LUKS 암호화된 대상 메모리 요구 사항을 기반으로 계산됩니다.
사용자 정의 crashkernel= 옵션을 사용하는 경우 kdumpctl 추정치 는 필요한 크기 값을 출력합니다. 값은 LUKS 암호화된 대상에 필요한 메모리 크기입니다.
프로세스
추정치
crashkernel=값을 출력합니다.# *kdumpctl estimate* Encrypted kdump target requires extra memory, assuming using the keyslot with minimum memory requirement Reserved crashkernel: 256M Recommended crashkernel: 652M Kernel image size: 47M Kernel modules size: 8M Initramfs size: 20M Runtime reservation: 64M LUKS required size: 512M Large modules: <none> WARNING: Current crashkernel size is lower than recommended size 652M.-
crashkernel=값을 늘려 필요한 메모리 양을 구성합니다. - 시스템을 재부팅합니다.
kdump 서비스가 여전히 덤프 파일을 암호화된 대상에 저장하지 못하는 경우 필요에 따라 crashkernel= 값을 늘립니다.
5장. kdump 활성화 링크 복사링크가 클립보드에 복사되었습니다!
RHEL 10 시스템의 경우 특정 커널 또는 설치된 모든 커널에서 kdump 기능 활성화 또는 비활성화를 구성할 수 있습니다. 그러나 kdump 기능을 정기적으로 테스트하고 작동 상태를 검증해야 합니다.
5.1. 설치된 모든 커널에 kdump 활성화 링크 복사링크가 클립보드에 복사되었습니다!
kdump 서비스는 kdump-utils 를 설치한 후 kdump.service 를 활성화하여 시작합니다. 머신에 설치된 모든 커널에 대해 kdump 서비스를 활성화하고 시작할 수 있습니다.
사전 요구 사항
- 시스템에 대한 root 권한이 있습니다.
프로세스
설치된 모든 커널에
crashkernel=명령줄 매개변수를 추가합니다.# grubby --update-kernel=ALL --args="crashkernel=xxM"XXM은 필요한 메모리(MB)입니다.시스템을 재부팅합니다.
# rebootkdump서비스를 활성화합니다.# systemctl enable --now kdump.service
검증
kdump서비스가 실행 중인지 확인합니다.# systemctl status kdump.service ○ kdump.service - Crash recovery kernel arming Loaded: loaded (/usr/lib/systemd/system/kdump.service; enabled; vendor preset: disabled) Active: active (live)
5.2. 설치된 특정 커널에 대해 kdump 활성화 링크 복사링크가 클립보드에 복사되었습니다!
머신에서 특정 커널에 대해 kdump 서비스를 활성화할 수 있습니다.
사전 요구 사항
- 시스템에 대한 root 권한이 있습니다.
프로세스
시스템에 설치된 커널을 나열합니다.
# ls -a /boot/vmlinuz-* /boot/vmlinuz-0-rescue-2930657cd0dc43c2b75db480e5e5b4a9 /boot/vmlinuz-6.12.0-55.9.1.el10_0.x86_64 /boot/vmlinuz-6.12.0-55.9.1.el10_0.x86_64시스템의 GRUB(GRUB) 설정에 특정
kdump커널을 추가합니다.예를 들면 다음과 같습니다.
# grubby --update-kernel=vmlinuz-6.12.0-55.9.1.el10_0.x86_64 --args="crashkernel=xxM"XXM은 필요한 메모리 예약(MB)입니다.kdump서비스를 활성화합니다.# systemctl enable --now kdump.service
검증
kdump서비스가 실행 중인지 확인합니다.# systemctl status kdump.service ○ kdump.service - Crash recovery kernel arming Loaded: loaded (/usr/lib/systemd/system/kdump.service; enabled; vendor preset: disabled) Active: active (live)
5.3. kdump 서비스 비활성화 링크 복사링크가 클립보드에 복사되었습니다!
kdump.service 를 중지하고 RHEL 10 시스템에서 서비스가 시작되지 않도록 비활성화할 수 있습니다.
사전 요구 사항
-
kdump구성 및 대상에 대한 요구 사항을 충족했습니다. 자세한 내용은 지원되는 kdump 구성 및 대상 을 참조하십시오.
프로세스
현재 세션에서
kdump서비스를 중지하려면 다음을 수행합니다.# systemctl stop kdump.servicekdump서비스를 비활성화하려면 다음을 수행합니다.# systemctl disable kdump.service
kptr_restrict=1 을 기본값으로 설정하는 것이 좋습니다. kptr_restrict 가 기본값으로 설정된 경우 kdumpctl 서비스는KASLR(커널 주소 공간 레이아웃)이 활성화되었는지 여부에 관계없이 크래시 커널을 로드합니다.
kptr_restrict 가 1 로 설정되지 않고 KASLR 이 활성화된 경우 /proc/kore 파일의 콘텐츠가 모든 0으로 생성됩니다. kdumpctl 서비스가 /proc/kcore 파일에 액세스하지 못하고 크래시 커널을 로드합니다. kexec-kdump-howto.txt 파일에는 kptr_restrict=1 을 설정할 것을 권장하는 경고 메시지가 표시됩니다. sysctl.conf 파일에서 다음을 확인하여 kdumpctl 서비스가 크래시 커널을 로드하는지 확인합니다.
-
sysctl.conf파일의 커널kptr_restrict=1.
6장. RHEL for Real Time 버그 진단 링크 복사링크가 클립보드에 복사되었습니다!
어떤 커널인 RHEL for Real Time 또는 표준 커널을 식별하는 것이 문제의 원인으로 인해 버그가 더 신속하게 수정될 가능성이 높아집니다. 절차 단계를 수행하여 버그 보고서를 제출하기 전에 문제의 원인을 진단할 수 있습니다.
사전 요구 사항
- RHEL for Real Time 커널의 최신 버전이 설치되어 있습니다.
프로세스
- 최신 버전의 RHEL for Real Time 커널이 있는지 확인합니다.
-
GRUB메뉴를 사용하여 RHEL for Real Time 커널로 부팅합니다. - 문제가 발생하면 RHEL for Real Time에 대한 버그를 보고합니다.
표준 커널에서 문제를 재현합니다.
이 문제 해결 단계는 문제 위치를 식별하는 데 도움이 됩니다.
표준 커널에서 문제가 발생하지 않는 경우 버그는 RHEL for Real Time 특정 개선 사항에 도입된 변경 사항의 결과일 수 있습니다. 이는 Red Hat이 기준(5.14.0) 커널 위에 적용되었습니다.