1.4. 컴퓨팅 노드가 커널 덤프를 캡처하는지 감지
컴퓨팅 노드가 커널 덤프를 캡처하는지 감지하도록 OpenShift(RHOSO) 고가용성(Instance HA) 서비스에서 Red Hat OpenStack Services를 구성할 수 있습니다. 이 경우 인스턴스 HA 서비스는 kdump 서비스가 각 컴퓨팅 노드를 펜싱하고 비우기 전에 kdump 서비스가 완료될 때까지 기다립니다.
사전 요구 사항
-
또한 오류를 모니터링하려는 모든 컴퓨팅 노드에
fence_kdumpSTONITH 에이전트를 설치해야 합니다. - 인스턴스를 비워야 하는 모든 컴퓨팅 노드에 대한 관리자 권한이 있습니다.
- 인스턴스를 비워야 하는 모든 컴퓨팅 노드에 고가용성 애드온을 사용하여 RHEL(Red Hat Enterprise Linux) 9를 설치했습니다.
-
kdump서비스 및fence_kdumpSTONITH 에이전트의 구성 옵션을 계획했습니다. fence_kdumpSTONITH 에이전트의 UDPkdump알림을 전송하도록 선택한 네트워크는 다음 요구 사항을 충족해야 합니다.- 이 네트워크는 인스턴스를 비워야 하는 컴퓨팅 노드와 공유해야 합니다.
- 실패한 컴퓨팅 노드의 소스 IP 주소가 Compute 서비스(nova)로 알려진 각 컴퓨팅 호스트 이름으로 변환되도록 이 네트워크는 역방향 DNS 조회를 지원해야 합니다.
- 이 네트워크는 OVS Bonds 또는 OVS 브리지를 사용해서는 안 됩니다. 태그되지 않은 인터페이스 또는 태그된 VLAN 및 Linux 본딩을 적절하게 사용해야 합니다.
프로세스
컴퓨팅 노드에서
kdump서비스를 구성하려면 다음 방법 중 하나를 사용합니다.-
명령줄을 사용하여
kdump서비스를 구성할 수 있습니다. 자세한 내용은 RHEL 관리, 모니터링 및 커널 업데이트 의 명령줄에서 kdump 구성 을 참조하십시오. -
웹 콘솔을 사용하여
kdump서비스를 구성할 수 있습니다. 자세한 내용은 RHEL 관리, 모니터링 및 커널 업데이트 의 웹 콘솔에서 kdump 구성 을 참조하십시오.
-
명령줄을 사용하여
kdump서비스가 모든 컴퓨팅 노드에서 활성화되어 있는지 확인합니다. 다음 명령의 출력이활성상태인지 확인하여 이 작업을 수행할 수 있습니다.# systemctl is-active kdump컴퓨팅 노드에
fence_kdumpSTONITH 에이전트를 설치합니다.# dnf install fence-agents-kdumpYAML 인스턴스 HA 서비스 매니페스트 파일에서 인스턴스 HA 서비스 포드의 사양을 정의할 때 다음 옵션을 포함합니다.
-
.spec.networkAttachments:fence_kdumpSTONITH 에이전트의 UDPkdump알림을 전송하도록 선택한 네트워크를 지정해야 합니다. 예를 들어networkAttachments: ['internalapi']에서는 지정된 네트워크로internalapi를 지정합니다. .spec.instanceHaKdumpPort:fence_kdumpSTONITH 에이전트 7410에 기본 UDP 포트를 사용하지 않는 경우 이 옵션을 사용하여 선택한 UDP 포트를 지정해야 합니다.YAML 인스턴스 HA 서비스 매니페스트 파일을 생성하고 사양을 정의하는 방법에 대한 자세한 내용은 인스턴스 HA 서비스 Pod 사양 구성을 참조하십시오.
-
- 인스턴스 HA 서비스를 배포합니다. 자세한 내용은 인스턴스 HA 서비스 배포를 참조하십시오.
CHECK_KDUMP인스턴스 HA 서비스 매개변수를true로 설정합니다. 자세한 내용은 인스턴스 HA 서비스 매개변수 편집을 참조하십시오.주의내부
CHECK_KDUMP시간 제한을 30초로 수용하도록POLL인스턴스 HA 서비스 매개변수를 기본 설정인 45초 이상으로 설정해야 합니다. POLL 매개변수 값이 45초 미만이면 인스턴스를 비울 때 오류가 발생할 수 있습니다.배포된 인스턴스 HA 서비스 포드의 IP 주소를 검색합니다. 예를 들어
internalapi가 지정된 네트워크인 경우 다음 명령을 사용합니다.$ oc get instanceha -o json |jq -r '.items[0].status.networkAttachments["openstack/internalapi"][0]'배포된 인스턴스 HA 서비스 Pod의 IP 주소를 지정하도록 컴퓨팅 노드에서
fence_kdumpSTONITH 에이전트를 구성합니다. 예를 들어 172.16.0.178이 Instance HA 서비스 Pod의 IP 주소인 경우:# echo "fence_kdump_nodes 172.16.0.178 >> /etc/kdump.conf컴퓨팅 노드에서
fence_kdumpSTONITH 에이전트를 구성하여 UDP 포트, 프레임, 알림 메시지 수 및 해당 간격을 지정합니다. 예를 들어 다음 구성은 기본 7410 UDP 포트를 사용하고, 5초 간격으로 필요한 만큼 메시지를 전송하며kdump프로세스가 완료될 때까지 계속 메시지를 보냅니다.# echo 'fence_kdump_args -p 7410 -f auto -c 0 -i 5' >> /etc/kdump.confkdump서비스를 다시 시작하여 컴퓨팅 노드에서initrd이미지를 다시 생성합니다.# systemctl restart kdump
검증
컴퓨팅 노드 중 하나를 충돌하여 Instance HA 서비스 Pod 및
fence_kdump에이전트가 올바르게 구성되었는지 확인합니다.# echo c > /proc/sysrq-trigger-
충돌한 컴퓨팅 노드에서 관련 콘솔을 열고
kdump프로세스의 진행 상황을 확인할 수 있는지 확인합니다. -
인스턴스 HA 서비스 포드 로그 파일을 열고 이 로그 파일이 이 메시지를 수신하는지 확인합니다. 즉, 충돌한 컴퓨팅 노드를 지정하는
다음 compute(s)가 kdump입니다. 로그 파일을 보는 방법에 대한 자세한 내용은 인스턴스 HA 서비스 문제 해결을 참조하십시오.