10.7. 튜닝 변경 사항 적용 연기


관리자로서 노드 튜닝 운영자(NTO)를 사용하여 실행 중인 시스템의 사용자 정의 리소스(CR)를 업데이트하고 튜닝을 변경합니다. 예를 들어, 조정된 개체의 [sysctl] 섹션에 sysctl 매개변수를 업데이트하거나 추가할 수 있습니다. 관리자가 튜닝 변경 사항을 적용하면 NTO는 TuneD에 모든 구성을 다시 처리하도록 요청하여 튜닝된 프로세스가 모든 튜닝을 롤백한 다음 다시 적용합니다.

지연 시간에 민감한 애플리케이션의 경우, 조정된 프로필을 제거하고 다시 적용하면 성능이 잠시 저하될 수 있으므로 이를 허용하지 않을 수 있습니다. 이는 성능 프로필을 사용하여 CPU를 분할하고 프로세스 또는 인터럽트 친화성을 관리하는 구성에 특히 중요합니다. 이 문제를 방지하기 위해 OpenShift Container Platform은 튜닝 변경 사항을 적용하기 위한 새로운 방법을 도입했습니다. OpenShift Container Platform 4.17 이전에는 사용 가능한 유일한 방법은 즉시 변경 사항을 적용하여 조정된 재시작을 트리거하는 것이었습니다.

다음과 같은 추가 방법이 지원됩니다.

  • 항상 : 모든 변경 사항은 다음 노드가 다시 시작될 때 적용됩니다.
  • 업데이트 : 튜닝 변경으로 인해 튜닝된 프로필이 수정되면 기본적으로 즉시 적용되며 가능한 한 빨리 효과가 나타납니다. 튜닝 변경으로 인해 튜닝된 프로필이 변경되지 않고 해당 값이 그대로 수정된 경우에는 항상 그렇듯이 처리됩니다.

tuned.openshift.io/deferred 주석을 추가하여 이 기능을 활성화하세요. 다음 표는 주석에 가능한 값을 요약한 것입니다.

Expand
주석 값설명

missing[]

변경 사항은 즉시 적용됩니다.

always

변경 사항은 다음 노드 재시작 시 적용됩니다.

update

프로필이 변경되면 변경 사항이 즉시 적용되고, 그렇지 않으면 다음 노드를 다시 시작할 때 적용됩니다.

다음 예제에서는 always 메서드를 사용하여 kernel.shmmni sysctl 매개변수에 변경 사항을 적용하는 방법을 보여줍니다.

apiVersion: tuned.openshift.io/v1
kind: Tuned
metadata:
  name: performance-patch
  namespace: openshift-cluster-node-tuning-operator
  annotations:
    tuned.openshift.io/deferred: "always"
spec:
  profile:
    - name: performance-patch
      data: |
        [main]
        summary=Configuration changes profile inherited from performance created tuned
        include=openshift-node-performance-performance 
1

        [sysctl]
        kernel.shmmni=8192 
2

  recommend:
    - machineConfigLabels:
        machineconfiguration.openshift.io/role: worker-cnf 
3

      priority: 19
      profile: performance-patch

1
include 지시어는 openshift-node-performance-performance 프로필을 상속하는 데 사용됩니다. 이는 프로필에 필요한 설정이 누락되지 않았는지 확인하는 가장 좋은 방법입니다.
2
kernel.shmmni sysctl 매개변수가 8192 로 변경됩니다.
3
machineConfigLabels 필드는 worker-cnf 역할을 대상으로 하는 데 사용됩니다. MachineConfigPool 리소스를 구성하여 프로필이 올바른 노드에만 적용되도록 합니다.
참고

Topology Aware Lifecycle Manager를 사용하면 여러 스포크 클러스터에 걸쳐 제어된 재부팅을 수행하여 지연된 튜닝 변경 사항을 적용할 수 있습니다. 조정된 재부팅에 대한 자세한 내용은 "구성 변경에 따른 재부팅 조정"을 참조하세요.

10.7.1. 튜닝 변경 사항 적용 연기: 예

다음의 실제 예제에서는 노드 튜닝 연산자를 사용하여 튜닝 변경 사항의 적용을 연기하는 방법을 설명합니다.

사전 요구 사항

  • 클러스터 관리자 역할 액세스 권한이 있습니다.
  • 클러스터에 성능 프로필을 적용했습니다.
  • 예를 들어, Worker-cnf 와 같은 MachineConfigPool 리소스는 프로필이 지정된 노드에만 적용되도록 구성됩니다.

프로세스

  1. 다음 명령을 실행하여 현재 클러스터에 적용된 프로필을 확인하세요.

    $ oc -n openshift-cluster-node-tuning-operator get tuned

    출력 예

    NAME                                     AGE
    default                                  63m
    openshift-node-performance-performance   21m

  2. 다음 명령을 실행하여 클러스터의 머신 구성 풀을 확인하세요.

    $ oc get mcp

    출력 예

    NAME         CONFIG                                                 UPDATED   UPDATING   DEGRADED   MACHINECOUNT   READYMACHINECOUNT   UPDATEDMACHINECOUNT   DEGRADEDMACHINECOUNT   AGE
    master       rendered-master-79a26af9f78ced61fa8ccd309d3c859c       True      False      False      3              3                   3                     0                      157m
    worker       rendered-worker-d9352e91a1b14de7ef453fa54480ce0e       True      False      False      2              2                   2                     0                      157m
    worker-cnf   rendered-worker-cnf-f398fc4fcb2b20104a51e744b8247272   True      False      False      1              1                   1                     0                      92m

  3. 다음 명령을 실행하여 현재 적용된 성능 프로필을 설명합니다.

    $ oc describe performanceprofile performance | grep Tuned

    출력 예

    Tuned:                   openshift-cluster-node-tuning-operator/openshift-node-performance-performance

  4. kernel.shmmni sysctl 매개변수의 기존 값을 확인하세요.

    1. 다음 명령을 실행하여 노드 이름을 표시합니다.

      $ oc get nodes

      출력 예

      NAME                          STATUS   ROLES                  AGE    VERSION
      ip-10-0-26-151.ec2.internal   Ready    worker,worker-cnf      116m   v1.30.6
      ip-10-0-46-60.ec2.internal    Ready    worker                 115m   v1.30.6
      ip-10-0-52-141.ec2.internal   Ready    control-plane,master   123m   v1.30.6
      ip-10-0-6-97.ec2.internal     Ready    control-plane,master   121m   v1.30.6
      ip-10-0-86-145.ec2.internal   Ready    worker                 117m   v1.30.6
      ip-10-0-92-228.ec2.internal   Ready    control-plane,master   123m   v1.30.6

    2. 다음 명령을 실행하여 노드 ip-10-0-32-74.ec2.internalkernel.shmmni sysctl 매개변수의 현재 값을 표시합니다.

      $ oc debug node/ip-10-0-26-151.ec2.internal  -q -- chroot host sysctl kernel.shmmni

      출력 예

      kernel.shmmni = 4096

  5. 예를 들어, kernel.shmmni sysctl 매개변수를 8192 로 변경하는 perf-patch.yaml 과 같은 프로필 패치를 만듭니다. 다음 구성을 적용하여 always 메서드를 사용하여 변경 사항 적용을 새로운 수동 재시작으로 연기합니다.

    apiVersion: tuned.openshift.io/v1
    kind: Tuned
    metadata:
      name: performance-patch
      namespace: openshift-cluster-node-tuning-operator
      annotations:
        tuned.openshift.io/deferred: "always"
    spec:
      profile:
        - name: performance-patch
          data: |
            [main]
            summary=Configuration changes profile inherited from performance created tuned
            include=openshift-node-performance-performance 
    1
    
            [sysctl]
            kernel.shmmni=8192 
    2
    
      recommend:
        - machineConfigLabels:
            machineconfiguration.openshift.io/role: worker-cnf 
    3
    
          priority: 19
          profile: performance-patch
    1
    include 지시어는 openshift-node-performance-performance 프로필을 상속하는 데 사용됩니다. 이는 프로필에 필요한 설정이 누락되지 않았는지 확인하는 가장 좋은 방법입니다.
    2
    kernel.shmmni sysctl 매개변수가 8192 로 변경됩니다.
    3
    machineConfigLabels 필드는 worker-cnf 역할을 대상으로 하는 데 사용됩니다.
  6. 다음 명령을 실행하여 프로필 패치를 적용합니다.

    $ oc apply -f perf-patch.yaml
  7. 다음 명령을 실행하여 프로필 패치가 다음 노드 재시작을 기다리고 있는지 확인하세요.

    $ oc -n openshift-cluster-node-tuning-operator get profile

    출력 예

    NAME                          TUNED                     APPLIED   DEGRADED   MESSAGE                                                                            AGE
    ip-10-0-26-151.ec2.internal   performance-patch         False     True       The TuneD daemon profile is waiting for the next node restart: performance-patch   126m
    ip-10-0-46-60.ec2.internal    openshift-node            True      False      TuneD profile applied.                                                             125m
    ip-10-0-52-141.ec2.internal   openshift-control-plane   True      False      TuneD profile applied.                                                             130m
    ip-10-0-6-97.ec2.internal     openshift-control-plane   True      False      TuneD profile applied.                                                             130m
    ip-10-0-86-145.ec2.internal   openshift-node            True      False      TuneD profile applied.                                                             126m
    ip-10-0-92-228.ec2.internal   openshift-control-plane   True      False      TuneD profile applied.                                                             130m

  8. 재시작하기 전에 kernel.shmmni sysctl 매개변수 값이 변경되지 않은지 확인하세요.

    1. 다음 명령을 실행하여 노드 ip-10-0-26-151.ec2.internalkernel.shmmni sysctl 매개변수에 대한 성능 패치 변경 사항이 적용되지 않았는지 확인합니다.

      $ oc debug node/ip-10-0-26-151.ec2.internal  -q -- chroot host sysctl kernel.shmmni

      출력 예

      kernel.shmmni = 4096

  9. 다음 명령을 실행하여 필요한 변경 사항을 적용하려면 노드 ip-10-0-26-151.ec2.internal 을 다시 시작합니다.

    $ oc debug node/ip-10-0-26-151.ec2.internal  -q -- chroot host reboot&
  10. 다른 터미널 창에서 다음 명령을 실행하여 노드가 다시 시작되었는지 확인합니다.

    $ watch oc get nodes

    노드 ip-10-0-26-151.ec2.internal준비 상태로 다시 전환될 때까지 기다립니다.

  11. 다음 명령을 실행하여 프로필 패치가 다음 노드 재시작을 기다리고 있는지 확인하세요.

    $ oc -n openshift-cluster-node-tuning-operator get profile

    출력 예

    NAME                          TUNED                     APPLIED   DEGRADED   MESSAGE                                                                            AGE
    ip-10-0-20-251.ec2.internal   performance-patch         True      False      TuneD profile applied.                                                             3h3m
    ip-10-0-30-148.ec2.internal   openshift-control-plane   True      False      TuneD profile applied.                                                             3h8m
    ip-10-0-32-74.ec2.internal    openshift-node            True      True       TuneD profile applied.                                                             179m
    ip-10-0-33-49.ec2.internal    openshift-control-plane   True      False      TuneD profile applied.                                                             3h8m
    ip-10-0-84-72.ec2.internal    openshift-control-plane   True      False      TuneD profile applied.                                                             3h8m
    ip-10-0-93-89.ec2.internal    openshift-node            True      False      TuneD profile applied.                                                             179m

  12. 재시작 후 kernel.shmmni sysctl 매개변수 값이 변경되었는지 확인하세요.

    1. 다음 명령을 실행하여 kernel.shmmni sysctl 매개변수 변경 사항이 노드 ip-10-0-32-74.ec2.internal 에 적용되었는지 확인합니다.

      $ oc debug node/ip-10-0-32-74.ec2.internal  -q -- chroot host sysctl kernel.shmmni

      출력 예

      kernel.shmmni = 8192

참고

추가로 재시작하면 kernel.shmmni sysctl 매개변수의 원래 값이 복원됩니다.

Red Hat logoGithubredditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

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

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

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

Red Hat 소개

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

Theme

© 2026 Red Hat
맨 위로 이동