add swapfile support
Some checks failed
🏃♂️Run Ansible / install_ansible (push) Failing after 8m22s
Some checks failed
🏃♂️Run Ansible / install_ansible (push) Failing after 8m22s
This commit is contained in:
59
playbooks/deploy_swapfile.yml.ansible
Normal file
59
playbooks/deploy_swapfile.yml.ansible
Normal file
@@ -0,0 +1,59 @@
|
||||
- name: Configure swap file for PostgreSQL node
|
||||
hosts: dev
|
||||
become: true
|
||||
vars:
|
||||
swap_file_path: /swapfile
|
||||
swap_file_size_mb: 4096 # 4 GB
|
||||
|
||||
tasks:
|
||||
- name: Check if swap file already exists
|
||||
stat:
|
||||
path: "{{ swap_file_path }}"
|
||||
register: swap_file_check
|
||||
|
||||
- name: Create swap file
|
||||
command: dd if=/dev/zero of={{ swap_file_path }} bs=1M count={{ swap_file_size_mb }}
|
||||
when: not swap_file_check.stat.exists
|
||||
register: swap_created
|
||||
|
||||
- name: Set correct permissions on swap file
|
||||
file:
|
||||
path: "{{ swap_file_path }}"
|
||||
owner: root
|
||||
group: root
|
||||
mode: '0600'
|
||||
when: swap_created is changed
|
||||
|
||||
- name: Format swap file
|
||||
command: mkswap {{ swap_file_path }}
|
||||
when: swap_created is changed
|
||||
register: swap_formatted
|
||||
|
||||
- name: Enable swap file
|
||||
command: swapon {{ swap_file_path }}
|
||||
when: swap_formatted is changed
|
||||
|
||||
- name: Check if swap is already in fstab
|
||||
lineinfile:
|
||||
path: /etc/fstab
|
||||
regexp: '^{{ swap_file_path }}'
|
||||
state: absent
|
||||
check_mode: true
|
||||
register: fstab_check
|
||||
changed_when: false
|
||||
|
||||
- name: Add swap to fstab for persistence
|
||||
lineinfile:
|
||||
path: /etc/fstab
|
||||
line: '{{ swap_file_path }} none swap sw 0 0'
|
||||
state: present
|
||||
when: fstab_check.found == 0
|
||||
|
||||
- name: Verify swap is active
|
||||
command: swapon --show
|
||||
register: swap_status
|
||||
changed_when: false
|
||||
|
||||
- name: Display swap status
|
||||
debug:
|
||||
var: swap_status.stdout_lines
|
||||
Reference in New Issue
Block a user