Linux에서 Ansible 재설정 스왑 가능

Linux에서 Ansible 재설정 스왑 가능

저는 Ansible을 처음 접했고 다음 명령을 통해 ansible을 사용하는 데 문제가 있습니다.

ansible host -a "/sbin/swapoff -a && /sbin/swapon -a"

이것만 효과가 있어요

ansible host -a "/sbin/swapoff -a
ansible host -a "/sbin/swapon -a

나는 플레이북을 만들 생각입니다. 아마도 다음과 같이 시작할 것입니다:

- name: Turn off swap
  shell : "swapoff -a"

- name: Turn on swap
  shell : "swapon -a"

제 생각에는스왑 공간 재설정조건부로 스왑 사용 공간이 다음과 같은 경우에만더 큰비교하다100MB. 이것이 가능합니까?

도움을 주셔서 감사합니다

답변1

사용된 스왑 공간이 100MB를 초과할 때 스왑 공간을 재설정하는 방법

이를 수행하는 방법에는 여러 가지가 있습니다. 이는 몇 가지 기본 Ansible 개념을 소개하는 방법입니다.

먼저 시스템에서 스왑 공간을 가져옵니다.

- name: Grab the swap space used (in megabytes)
  shell: free -m | grep Swap | awk '{print $2}'
  register: swap_used

그러면 swap_space가 임계값보다 큰 경우에만 스왑이 켜지고 꺼집니다.

- name: Turn off swap
  shell: "swapoff -a"
  when: (swap_used.stdout_lines[0] | int) > 100

- name: Turn on swap
  shell : "swapon -a"
  when: (swap_used.stdout_lines[0] | int) > 100

답변2

사용법:

- name: Reset swap 
  shell: "swapoff -a && swapon -a"
  when: ansible_memory_mb['swap']['total'] > 100

관련 정보