4.2. 커널 설정 역할을 사용하여 선택한 커널 매개변수 적용


다음 단계에 따라 Ansible 플레이북을 준비하고 적용하여 여러 관리 운영 체제에 미치는 영향을 유지하여 커널 매개 변수를 원격으로 구성합니다.

사전 요구 사항

  • Red Hat Ansible Engine 서브스크립션이 시스템에 연결되어 있으며, 이를 통해 kernel_settings 역할을 실행하려는 제어 머신 이라고도 합니다. 자세한 내용은 How do I download and install Red Hat Ansible Engine 문서를 참조하십시오.
  • Ansible Engine 리포지토리는 제어 시스템에서 활성화됩니다.
  • Ansible Engine은 제어 시스템에 설치됩니다.

    참고

    커널 매개 변수를 구성하려는 관리 대상 호스트 라고도 하는 시스템에 Ansible Engine을 설치할 필요가 없습니다.

  • rhel-system-roles 패키지는 제어 시스템에 설치됩니다.
  • 관리 호스트의 인벤토리가 제어 시스템에 있으며 Ansible Engine은 연결할 수 있습니다.

절차

  1. 필요한 경우 그림 목적으로 인벤토리 파일을 검토합니다.

    #  cat /home/jdoe/<ansible_project_name>/inventory
    [testingservers]
    pdoe@192.168.122.98
    fdoe@192.168.122.226
    
    [db-servers]
    db1.example.com
    db2.example.com
    
    [webservers]
    web1.example.com
    web2.example.com
    192.0.2.42

    파일은 [testingservers] 그룹 및 기타 그룹을 정의합니다. 이를 통해 Ansible Engine을 특정 시스템 컬렉션에 대해 보다 효율적으로 실행할 수 있습니다.

  2. 구성 파일을 생성하여 Ansible Engine 작업에 기본값 및 권한 에스컬레이션을 설정합니다.

    1. 새 YAML 파일을 생성하고 텍스트 편집기에서 엽니다. 예를 들면 다음과 같습니다.

      #  vi /home/jdoe/<ansible_project_name>/ansible.cfg
    2. 파일에 다음 내용을 삽입합니다.

      [defaults]
      inventory = ./inventory
      
      [privilege_escalation]
      become = true
      become_method = sudo
      become_user = root
      become_ask_pass = true

      [defaults] 섹션은 관리 호스트의 인벤토리 파일의 경로를 지정합니다. [privilege_escalation] 섹션은 지정된 관리 호스트에서 사용자 권한을 root로 전환하도록 정의합니다. 커널 매개 변수를 성공적으로 구성하려면 이 작업이 필요합니다. Ansible 플레이북이 실행되면 사용자 암호를 묻는 메시지가 표시됩니다. 사용자는 관리 호스트에 연결한 후 sudo 를 통해 자동으로 root 로 전환합니다.

  3. kernel_settings 역할을 사용하는 Ansible 플레이북을 생성합니다.

    1. 새 YAML 파일을 생성하고 텍스트 편집기에서 엽니다. 예를 들면 다음과 같습니다.

      #  vi /home/jdoe/<ansible_project_name>/kernel_roles.yml

      이 파일은 플레이북을 나타내며 일반적으로 인벤토리 파일에서 선택한 특정 관리 호스트에 대해 실행되는 플레이 라고도 하는 정렬된 작업 목록을 포함합니다.

    2. 파일에 다음 내용을 삽입합니다.

      ---
      - name: Configure kernel settings
        hosts: testingservers
      
        vars:
          kernel_settings_sysctl:
            - name: fs.file-max
              value: 400000
            - name: kernel.threads-max
              value: 65536
          kernel_settings_sysfs:
            - name: /sys/class/net/lo/mtu
              value: 65000
          kernel_settings_transparent_hugepages: madvise
      
        roles:
          - rhel-system-roles.kernel_settings

      name 키는 선택 사항입니다. 임의의 문자열과 플레이를 레이블로 연결하고 플레이의 용도를 식별합니다. 플레이의 hosts 키는 플레이를 실행할 호스트를 지정합니다. 이 키의 값 또는 값은 관리 호스트의 개별 이름으로 제공되거나 인벤토리 파일에 정의된 호스트 그룹으로 제공할 수 있습니다.

      vars 섹션은 선택한 커널 매개 변수 이름과 설정해야 하는 값을 포함하는 변수 목록을 나타냅니다.

      roles 키는 vars 섹션에 언급된 매개 변수 및 값을 구성하기 위해 수행할 시스템 역할을 지정합니다.

      참고

      필요에 맞게 플레이북에서 커널 매개변수와 해당 값을 수정할 수 있습니다.

  4. 필요한 경우 플레이의 구문이 올바른지 확인합니다.

    #  ansible-playbook --syntax-check kernel-roles.yml
    
    playbook: kernel-roles.yml

    이 예는 플레이북의 성공적인 확인을 보여줍니다.

  5. 플레이북을 실행합니다.

    #  ansible-playbook kernel-roles.yml
    BECOME password:
    
    PLAY [Configure kernel settings]  ... PLAY RECAP **
    fdoe@192.168.122.226       : ok=10   changed=4    unreachable=0    failed=0    skipped=6    rescued=0    ignored=0
    pdoe@192.168.122.98        : ok=10   changed=4    unreachable=0    failed=0    skipped=6    rescued=0    ignored=0

    Ansible Engine이 플레이북을 실행하기 전에 암호를 묻는 메시지가 표시되고 관리 호스트의 사용자는 커널 매개 변수를 구성하는 데 필요한 root 로 전환할 수 있습니다.

    recap 섹션에는 플레이가 모든 관리 호스트에 대해 성공적으로 완료(failed=0)되고 4개의 커널 매개 변수가 적용되었음을 보여줍니다(changed=4).

  6. 관리 호스트를 다시 시작하고 영향을 받는 커널 매개변수를 확인하여 변경 사항이 적용되었는지 확인하고 재부팅 후에도 지속되는지 확인합니다.

관련 자료

Red Hat logoGithubRedditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

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

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

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

Red Hat 소개

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

© 2024 Red Hat, Inc.