forked from Deuxfleurs/infrastructure
72 lines
1.9 KiB
YAML
72 lines
1.9 KiB
YAML
- name: "Add GlusterFS Repo Key"
|
|
apt_key:
|
|
url: https://download.gluster.org/pub/gluster/glusterfs/5/rsa.pub
|
|
state: present
|
|
|
|
- name: "Add GlusterFS official repository"
|
|
apt_repository:
|
|
repo: "deb [arch=amd64] https://download.gluster.org/pub/gluster/glusterfs/5/LATEST/Debian/buster/amd64/apt buster main"
|
|
state: present
|
|
filename: gluster
|
|
|
|
- name: "Install GlusterFS"
|
|
apt:
|
|
name:
|
|
- glusterfs-server
|
|
- glusterfs-client
|
|
state: present
|
|
|
|
- name: "Ensure Gluster Daemon started and enabled"
|
|
service:
|
|
name: glusterd
|
|
enabled: yes
|
|
state: started
|
|
|
|
- name: "Create directory for GlusterFS bricks"
|
|
file: path=/mnt/storage/glusterfs/brick1 recurse=yes state=directory
|
|
|
|
- name: "Create GlusterFS volumes"
|
|
gluster_volume:
|
|
state: present
|
|
name: donnees
|
|
bricks: /mnt/storage/glusterfs/brick1/g1
|
|
#rebalance: yes
|
|
redundancies: 1
|
|
disperses: 3
|
|
#replicas: 3
|
|
force: yes
|
|
options:
|
|
client.event-threads: "8"
|
|
server.event-threads: "8"
|
|
performance.stat-prefetch: "on"
|
|
nfs.disable: "on"
|
|
features.cache-invalidation: "on"
|
|
performance.client-io-threads: "on"
|
|
config.transport: tcp
|
|
performance.quick-read: "on"
|
|
performance.io-cache: "on"
|
|
nfs.export-volumes: "off"
|
|
cluster.lookup-optimize: "on"
|
|
|
|
cluster: "{% for selected_host in groups['cluster_nodes'] %}{{ hostvars[selected_host]['vpn_ip'] }}{{ ',' if not loop.last else '' }}{% endfor %}"
|
|
run_once: true
|
|
|
|
- name: "Create mountpoint"
|
|
file: path=/mnt/glusterfs recurse=yes state=directory
|
|
|
|
- name: "Flush handlers (umount glusterfs and restart ganesha)"
|
|
meta: flush_handlers
|
|
|
|
- name: "Add fstab entry"
|
|
tags: gluster-fstab
|
|
mount:
|
|
path: /mnt/glusterfs
|
|
src: "{{ vpn_ip }}:/donnees"
|
|
fstype: glusterfs
|
|
opts: "defaults,_netdev,noauto,x-systemd.automount"
|
|
state: present
|
|
|
|
- name: Mount everything
|
|
command: mount -a
|
|
args:
|
|
warn: no
|