6장. RHEL 시스템 역할을 사용하여 커널 매개변수를 영구적으로 구성
kernel_settings RHEL 시스템 역할을 사용하여 여러 클라이언트에서 커널 매개변수를 동시에 구성할 수 있습니다. 동시 구성에는 다음과 같은 이점이 있습니다.
- 효율적인 입력 설정을 통해 친숙한 인터페이스를 제공합니다.
- 의도한 모든 커널 매개변수를 한 곳에 유지합니다.
제어 머신에서 kernel_settings 역할을 실행하면 커널 매개변수가 관리 시스템에 즉시 적용되며 재부팅 후에도 유지됩니다.
RHEL 채널을 통해 제공되는 RHEL 시스템 역할은 RHEL 고객이 기본 AppStream 리포지토리에서 RPM 패키지로 사용할 수 있습니다. RHEL 시스템 역할은 Ansible Automation Hub를 통해 Ansible 서브스크립션을 통해 고객에게 컬렉션으로 제공됩니다.
6.1. kernel_settings RHEL 시스템 역할을 사용하여 선택한 커널 매개변수 적용 링크 복사링크가 클립보드에 복사되었습니다!
kernel_settings RHEL 시스템 역할을 사용하여 영구 효과를 사용하여 여러 관리 운영 체제에서 다양한 커널 매개 변수를 원격으로 구성할 수 있습니다. 예를 들어 다음을 구성할 수 있습니다.
- 작은 페이지를 관리하는 오버헤드를 줄임으로써 성능을 높이기 위한 투명한 hugepages.
- 루프백 인터페이스를 사용하여 네트워크를 통해 전송할 가장 큰 패킷 크기입니다.
- 동시에 열 수 있도록 파일의 제한입니다.
사전 요구 사항
- 컨트롤 노드 및 관리형 노드를 준비했습니다.
- 관리 노드에서 플레이북을 실행할 수 있는 사용자로 제어 노드에 로그인되어 있습니다.
-
관리 노드에 연결하는 데 사용하는 계정에는
sudo권한이 있습니다.
절차
다음 콘텐츠를 사용하여 플레이북 파일(예:
~/playbook.yml)을 생성합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow 예제 플레이북에 지정된 설정은 다음과 같습니다.
kernel_settings_sysfs: <list_of_sysctl_settings>-
sysctl설정의 YAML 목록과 이러한 설정에 할당할 값입니다. kernel_settings_transparent_hugepages: <value>-
메모리 하위 시스템 THP(Transparent Huge Pages) 설정을 제어합니다. THP 지원(항상 )을 비활성화하거나 시스템 전체(
항상) 또는MAD_HUGEPAGE지역(madvise) 내에서 활성화할 수 있습니다. kernel_settings_reboot_ok: <true|false>-
기본값은
false입니다.true로 설정하면 시스템 역할은 요청된 변경 사항을 적용하고 재부팅하는 데 관리 호스트를 재부팅해야 하는지 여부를 결정합니다.false로 설정하면 역할은 재부팅이 필요함을 나타내는 값이true인kernel_settings_reboot_required변수를 반환합니다. 이 경우 사용자는 관리 노드를 수동으로 재부팅해야 합니다.
플레이북에 사용되는 모든 변수에 대한 자세한 내용은 제어 노드의 /usr/share/ansible/roles/rhel-system-roles.kdump/README.md 파일을 참조하십시오.
플레이북 구문을 확인합니다.
ansible-playbook --syntax-check ~/playbook.yml
$ ansible-playbook --syntax-check ~/playbook.ymlCopy to Clipboard Copied! Toggle word wrap Toggle overflow 이 명령은 구문만 검증하고 잘못되었지만 유효한 구성으로부터 보호하지 않습니다.
Playbook을 실행합니다.
ansible-playbook ~/playbook.yml
$ ansible-playbook ~/playbook.ymlCopy to Clipboard Copied! Toggle word wrap Toggle overflow
검증
영향을 받는 커널 매개변수를 확인합니다.
ansible managed-node-01.example.com -m command -a 'sysctl fs.file-max kernel.threads-max net.ipv6.conf.lo.mtu' ansible managed-node-01.example.com -m command -a 'cat /sys/kernel/mm/transparent_hugepage/enabled'
# ansible managed-node-01.example.com -m command -a 'sysctl fs.file-max kernel.threads-max net.ipv6.conf.lo.mtu' # ansible managed-node-01.example.com -m command -a 'cat /sys/kernel/mm/transparent_hugepage/enabled'Copy to Clipboard Copied! Toggle word wrap Toggle overflow