저는 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