17.7. 보장된 pod 분리 CPU의 장치 중단 처리 관리
노드 튜닝 오퍼레이터는 클러스터 및 운영 체제 정리 업무를 위해 예약된 CPU, 포드 인프라 컨테이너, 워크로드를 실행하기 위한 애플리케이션 컨테이너를 위한 격리된 CPU 등으로 나누어 호스트 CPU를 관리할 수 있습니다. 이를 통해 대기 시간이 짧은 워크로드의 CPU를 분리된 상태로 설정할 수 있습니다.
장치 중단은 보장된 pod가 실행 중인 CPU를 제외하고 CPU의 과부하를 방지하기 위해 모든 분리된 CPU와 예약된 CPU 간에 균형을 유지합니다. pod에 관련 주석이 설정되어 있으면 보장된 Pod CPU가 장치 인터럽트를 처리하지 못합니다.
새로운 성능 프로파일 필드 globallyDisableIrqLoadBalancing은 장치 중단을 처리할지 여부를 관리하는 데 사용할 수 있습니다. 특정 작업 부하의 경우, 예약된 CPU만으로는 장치 인터럽트를 처리할 수 없는 경우가 있습니다. 이러한 이유로 격리된 CPU에서는 장치 인터럽트가 전역적으로 비활성화되지 않습니다. 기본적으로 Node Tuning Operator는 격리된 CPU에서 장치 인터럽트를 비활성화하지 않습니다.
17.7.1. 노드에 대한 효과적인 IRQ 친화도 설정 찾기 링크 복사링크가 클립보드에 복사되었습니다!
일부 IRQ 컨트롤러는 IRQ 친화성 설정을 지원하지 않으며 항상 모든 온라인 CPU를 IRQ 마스크로 노출합니다. 이러한 IRQ 컨트롤러는 CPU 0에서 효과적으로 실행됩니다.
다음은 Red Hat이 IRQ 친화도 설정을 지원하지 않는다고 알고 있는 드라이버와 하드웨어의 예입니다. 이 목록은 결코 완전하지 않습니다.
-
megaraid_sas와 같은 일부 RAID 컨트롤러 드라이버 - 많은 비휘발성 메모리 익스프레스(NVMe) 드라이버
- 마더보드의 일부 LAN(LOM) 네트워크 컨트롤러
-
드라이버는
managed_irqs를사용합니다
IRQ 친화성 설정을 지원하지 않는 이유는 프로세서 유형, IRQ 컨트롤러 또는 마더보드의 회로 연결과 같은 요소와 관련이 있을 수 있습니다.
IRQ의 효과적인 친화도가 격리된 CPU로 설정된 경우, 일부 하드웨어나 드라이버가 IRQ 친화도 설정을 지원하지 않는다는 신호일 수 있습니다. 효과적인 친화도를 찾으려면 호스트에 로그인하고 다음 명령을 실행하세요.
find /proc/irq -name effective_affinity -printf "%p: " -exec cat {} \;
$ find /proc/irq -name effective_affinity -printf "%p: " -exec cat {} \;
출력 예
일부 드라이버는 manages_irqs를 사용합니다. 이 irq의 친화성은 커널에서 내부적으로 관리되며 사용자 공간에서는 친화성을 변경할 수 없습니다. 어떤 경우에는 이러한 IRQ가 분리된 CPU에 할당될 수 있습니다. 관리되는 인터럽트 에 대한 자세한 내용은 격리된 CPU를 대상으로 하더라도 관리되는 인터럽트의 친화성을 변경할 수 없음을 참조하세요.
17.7.2. 노드 인터럽트 친화성 구성 링크 복사링크가 클립보드에 복사되었습니다!
IRQ 동적 부하 분산을 위한 클러스터 노드를 구성하여 어떤 코어가 장치 인터럽트 요청(IRQ)을 수신할 수 있는지 제어합니다.
사전 요구 사항
- 코어 격리를 위해 모든 서버 하드웨어 구성 요소가 IRQ 친화성을 지원해야 합니다. 서버의 하드웨어 구성 요소가 IRQ 친화성을 지원하는지 확인하려면 서버의 하드웨어 사양을 보거나 하드웨어 공급업체에 문의하세요.
프로세스
- cluster-admin 역할의 사용자로 OpenShift Container Platform 클러스터에 로그인합니다.
-
performance.openshift.io/v2를 사용하도록 성능 프로파일의apiVersion을 설정합니다. -
globallyDisableIrqLoadBalancing필드를 삭제제거하거나false로 설정합니다. 적절한 분리 및 예약된 CPU를 설정합니다. 다음 스니펫에서는 두 개의 CPU를 예약하는 프로파일을 보여줍니다.
isolatedCPU 세트에서 실행되는 Pod에 대해 IRQ 로드 밸런싱이 활성화됩니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow 참고예약되고 격리된 CPU를 구성하면 운영 체제 프로세스, 커널 프로세스 및 systemd 서비스가 예약된 CPU에서 실행됩니다. 인프라 포드는 저지연 워크로드가 실행되는 CPU를 제외한 모든 CPU에서 실행됩니다. 저지연 워크로드 포드는 격리된 풀의 전용 CPU에서 실행됩니다. 자세한 내용은 "인프라 및 애플리케이션 컨테이너에 대한 CPU 제한"을 참조하세요.