ceph-ansible/roles/ceph-osd/tasks/system_tuning.yml

60 lines
1.7 KiB
YAML

---
- name: debian based systems tasks
when:
- osd_objectstore == 'filestore'
- ansible_os_family == "Debian"
block:
- name: disable osd directory parsing by updatedb
command: updatedb -e /var/lib/ceph
changed_when: false
failed_when: false
- name: disable osd directory path in updatedb.conf
replace:
dest: /etc/updatedb.conf
regexp: '^(PRUNEPATHS(?!.*/var/lib/ceph).*)"$'
replace: '\1 /var/lib/ceph"'
failed_when: false
- name: create tmpfiles.d directory
file:
path: "/etc/tmpfiles.d"
state: "directory"
owner: "root"
group: "root"
mode: "0755"
register: "tmpfiles_d"
when: disable_transparent_hugepage | bool
- name: disable transparent hugepage
template:
src: "tmpfiles_hugepage.j2"
dest: "/etc/tmpfiles.d/ceph_transparent_hugepage.conf"
group: "root"
owner: "root"
mode: "0644"
force: "yes"
validate: "systemd-tmpfiles --create %s"
when: disable_transparent_hugepage | bool
- name: get default vm.min_free_kbytes
slurp:
src: /proc/sys/vm/min_free_kbytes
register: default_vm_min_free_kbytes
- name: set_fact vm_min_free_kbytes
set_fact:
vm_min_free_kbytes: "{{ 4194303 if ansible_memtotal_mb >= 49152 else default_vm_min_free_kbytes.content | b64decode | trim }}"
- name: apply operating system tuning
sysctl:
name: "{{ item.name }}"
value: "{{ item.value }}"
state: present
sysctl_file: /etc/sysctl.d/ceph-tuning.conf
sysctl_set: yes
ignoreerrors: yes
with_items:
- { name: "fs.aio-max-nr", value: "1048576", enable: "{{ osd_objectstore == 'bluestore' }}" }
- "{{ os_tuning_params }}"
when: item.enable | default(true) | bool