41.5. 지원되는 kdump 구성 및 대상
kdump
메커니즘은 커널 충돌 발생 시 크래시 덤프 파일을 생성하는 Linux 커널의 기능입니다. 커널 덤프 파일에는 커널 충돌의 근본 원인을 분석하고 결정하는 데 도움이 되는 중요한 정보가 있습니다. 충돌은 다양한 요인, 하드웨어 문제 또는 타사 커널 모듈 문제로 인해 몇 가지 이름을 지정할 수 있습니다.
제공된 정보 및 절차를 사용하면 다음 작업을 수행할 수 있습니다.
- RHEL 8 시스템에 대해 지원되는 구성 및 대상을 식별합니다.
- kdump를 구성합니다.
- kdump 작업을 확인합니다.
41.5.1. kdump의 메모리 요구 사항 링크 복사링크가 클립보드에 복사되었습니다!
kdump
에서 커널 크래시 덤프를 캡처하고 추가 분석을 위해 저장하려면 시스템 메모리의 일부를 캡처 커널에 영구적으로 예약해야 합니다. 예약되면 시스템 메모리의 이 부분을 기본 커널에서 사용할 수 없습니다.
메모리 요구 사항은 특정 시스템 매개변수에 따라 다릅니다. 주요 요인 중 하나는 시스템의 하드웨어 아키텍처입니다. x86_64라고도 하는 Intel 64 및 AMD64와 같은 정확한 시스템 아키텍처를 식별하고 표준 출력에 인쇄하려면 다음 명령을 사용합니다.
uname -m
$ uname -m$ uname -m
명시된 최소 메모리 요구 사항 목록을 사용하여 사용 가능한 최신 버전에서 kdump
의 메모리를 자동으로 예약하도록 적절한 메모리 크기를 설정할 수 있습니다. 메모리 크기는 시스템의 아키텍처 및 사용 가능한 실제 메모리에 따라 다릅니다.
아키텍처 | 사용 가능한 메모리 | 최소 예약 메모리 |
---|---|---|
AMD64 및 Intel 64 ( | 1GB에서 4GB | 192MB RAM |
4GB에서 64GB | 256MB RAM | |
64GB 이상 | 512MB RAM | |
64비트 ARM 아키텍처( | 2GB 이상 | 480MB의 RAM |
IBM Power Systems ( | 2GB에서 4GB | 384MB의 RAM |
4GB ~ 16GB | 512MB RAM | |
16GB에서 64GB | 1GB RAM | |
64GB에서 128GB | 2GB RAM | |
128GB 이상 | 4GB RAM | |
IBM Z ( | 1GB에서 4GB | 192MB RAM |
4GB에서 64GB | 256MB RAM | |
64GB 이상 | 512MB RAM |
많은 시스템에서 kdump
는 필요한 메모리 양을 추정하고 자동으로 예약할 수 있습니다. 이 동작은 기본적으로 활성화되어 있지만 시스템 아키텍처에 따라 다른 특정 양의 사용 가능한 메모리가 있는 시스템에서만 작동합니다.
시스템의 총 메모리 양을 기반으로 예약된 메모리의 자동 구성은 최선의 노력 추정입니다. I/O 장치와 같은 다른 요인에 따라 실제 필요한 메모리가 다를 수 있습니다. 메모리가 충분하지 않으면 커널 패닉의 경우 디버그 커널을 캡처 커널로 부팅할 수 없습니다. 이 문제를 방지하려면 크래시 커널 메모리를 충분히 늘립니다.
41.5.2. 자동 메모리 예약의 최소 임계값 링크 복사링크가 클립보드에 복사되었습니다!
기본적으로 kexec-tools
유틸리티는 crashkernel
명령줄 매개변수를 구성하고 kdump
에 대해 일정 양의 메모리를 예약합니다. 그러나 일부 시스템에서는 부트 로더 구성 파일에서 crashkernel=auto
매개 변수를 사용하거나 그래픽 구성 유틸리티에서 이 옵션을 활성화하여 kdump
에 메모리를 할당할 수 있습니다. 이 자동 예약이 작동하려면 시스템에서 특정 양의 총 메모리를 사용할 수 있어야 합니다. 메모리 요구 사항은 시스템의 아키텍처에 따라 다릅니다. 시스템 메모리가 지정된 임계값보다 작으면 메모리를 수동으로 구성해야 합니다.
아키텍처 | 필요한 메모리 |
---|---|
AMD64 및 Intel 64 ( | 2GB |
IBM Power Systems ( | 2GB |
IBM Z ( | 4GB |
부팅 명령줄의 crashkernel=auto
옵션은 RHEL 9 이상 릴리스에서 더 이상 지원되지 않습니다.
41.5.3. 지원되는 kdump 대상 링크 복사링크가 클립보드에 복사되었습니다!
커널 충돌이 발생하면 운영 체제는 구성된 또는 기본 대상 위치에 덤프 파일을 저장합니다. 덤프 파일을 장치에 직접 저장하거나 로컬 파일 시스템에 파일로 저장하거나 네트워크를 통해 덤프 파일을 보낼 수 있습니다. 다음 덤프 대상 목록을 사용하면 kdump
에서 현재 지원되거나 지원되지 않는 대상을 알 수 있습니다.
대상 유형 | 지원되는 대상 | 지원되지 않는 대상 |
---|---|---|
물리적 스토리지 |
|
|
네트워크 |
|
|
하이퍼바이저 |
| |
파일 시스템 | ext[234], XFS 및 NFS 파일 시스템. |
|
펌웨어 |
|
41.5.4. 지원되는 kdump 필터링 수준 링크 복사링크가 클립보드에 복사되었습니다!
kdump
는 덤프 파일의 크기를 줄이기 위해 makedumpfile
코어 수집기를 사용하여 데이터를 압축하고 원하지 않는 정보를 제외합니다. 예를 들어 -8
수준을 사용하여 hugepages
및 hugetlbfs
페이지를 제거할 수 있습니다. 현재 dumpfile
에서 지원하는 수준은 'kdump'에 대한 수준 필터링을 위해 표에서 확인할 수 있습니다.
옵션 | 설명 |
---|---|
| 0 페이지 |
| 캐시 페이지 |
| 캐시 비공개 캐시 |
| 사용자 페이지 |
| 무료 페이지 |
41.5.5. 지원되는 기본 실패 응답 링크 복사링크가 클립보드에 복사되었습니다!
기본적으로 kdump
가 코어 덤프를 생성하지 못하는 경우 운영 체제가 재부팅됩니다. 그러나 코어 덤프를 기본 대상에 저장하지 못하는 경우 다른 작업을 수행하도록 kdump
를 구성할 수 있습니다.
옵션 | 설명 |
---|---|
| 코어 덤프를 루트 파일 시스템에 저장합니다. 이 옵션은 네트워크 대상과 함께 특히 유용합니다. 네트워크 대상에 연결할 수 없는 경우 이 옵션은 코어 덤프를 로컬로 저장하도록 kdump를 구성합니다. 시스템이 나중에 재부팅됩니다. |
| 시스템을 재부팅하여 프로세스에서 코어 덤프를 손실합니다. |
| 시스템을 중단하고 프로세스의 코어 덤프를 손실합니다. |
| 시스템의 전원을 끄고 프로세스의 코어 덤프를 끊습니다. |
| initramfs 내에서 쉘 세션을 실행하여 사용자가 코어 덤프를 수동으로 기록할 수 있습니다. |
|
|
41.5.6. final_action 매개변수 사용 링크 복사링크가 클립보드에 복사되었습니다!
kdump
가 성공하거나 kdump
가 구성된 대상에 vmcore
파일을 저장하지 못하는 경우, final_action
매개변수를 사용하여 reboot
,halt
, poweroff
와 같은 추가 작업을 수행할 수 있습니다. final_action
매개변수를 지정하지 않으면 재부팅이
기본 응답입니다.
프로세스
final_action
을 구성하려면/etc/kdump.conf
파일을 편집하고 다음 옵션 중 하나를 추가합니다.-
final_action reboot
-
final_action halt
-
final_action poweroff
-
변경 사항을 적용하려면
kdump
서비스를 다시 시작하십시오.kdumpctl restart
# kdumpctl restart
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
41.5.7. failure_action 매개변수 사용 링크 복사링크가 클립보드에 복사되었습니다!
failure_action
매개 변수는 커널 충돌 시 덤프가 실패할 때 수행할 작업을 지정합니다. 시스템을 재부팅
하는 failure_action
의 기본 동작은 재부팅입니다.
매개변수는 수행할 다음 작업을 인식합니다.
reboot
- 덤프 실패 후 시스템을 재부팅합니다.
dump_to_rootfs
- 루트가 아닌 덤프 대상이 구성된 경우 덤프 파일을 루트 파일 시스템에 저장합니다.
halt
- 시스템을 중지합니다.
poweroff
- 시스템에서 실행 중인 작업을 중지합니다.
shell
-
initramfs
내에서 쉘 세션을 시작하여 추가 복구 작업을 수동으로 수행할 수 있습니다.
프로세스
덤프가 실패하는 경우 수행할 작업을 구성하려면
/etc/kdump.conf
파일을 편집하고failure_action
옵션 중 하나를 지정합니다.-
failure_action reboot
-
failure_action halt
-
failure_action poweroff
-
failure_action 쉘
-
failure_action dump_to_rootfs
-
변경 사항을 적용하려면
kdump
서비스를 다시 시작하십시오.kdumpctl restart
# kdumpctl restart
Copy to Clipboard Copied! Toggle word wrap Toggle overflow