-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathglusterfs.yml
136 lines (119 loc) · 2.84 KB
/
glusterfs.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
---
- hosts: gluster
become: yes
vars_files:
- vars/config.yml
tasks:
- name: configure /etc/hosts file
template:
src: templates/etc-hosts.j2
dest: /etc/hosts
- name: open firewall port
firewalld:
zone: public
port: "{{ item }}"
permanent: yes
state: enabled
loop:
- 24007-24009/tcp
- 111/tcp
- 139/tcp
- 445/tcp
- 965/tcp
- 2049/tcp
- 38465-38469/tcp
- 631/tcp
- 111/udp
- 963/udp
- 49152-49251/tcp
notify:
- reload firewall
- name: allow firewall service
firewalld:
zone: public
service: "{{ item }}"
state: enabled
permanent: yes
loop:
- samba
- nfs
- samba-client
notify:
- reload firewall
- name: install gluster package
yum:
name: "{{ item }}"
state: latest
loop:
- epel-release
- centos-release-gluster
- glusterfs-server
- name: start glusterd service
service:
name: glusterd
enabled: yes
state: started
- name: Create a new primary partition with a size of {{ partition_size }} for brick
parted:
device: "{{ disk_device }}"
number: 1
state: present
#part_start: 2MiB
part_end: "{{ partition_size }}"
- name: format partition {{ disk_device }}1
filesystem:
fstype: "{{ brick_fstype }}"
dev: "{{ disk_device }}1"
- name: Create directory brick
file:
path: "{{ brick_path }}"
state: directory
- name: Mount partition to directory
mount:
path: "{{ brick_path }}"
src: "{{ disk_device }}1"
fstype: "{{ brick_fstype }}"
state: mounted
handlers:
- name: reload firewall
shell: firewall-cmd --reload
- hosts: "{{ server1_hostname }}"
vars_files:
- vars/config.yml
become: yes
tasks:
- name: Create a trusted storage pool
gluster_peer:
state: present
nodes:
- "{{ server1_hostname }}"
- "{{ server2_hostname }}"
- "{{ server3_hostname }}"
- name: create gluster volume distributed
gluster_volume:
state: present
name: "{{ volume_name }}"
bricks: "{{ brick_path }}/{{ volume_name }}"
rebalance: yes
cluster:
- "{{ server1_hostname }}"
- "{{ server2_hostname }}"
- "{{ server3_hostname }}"
run_once: true
when: volume_type == "distributed"
- name: create gluster volume replicated
gluster_volume:
state: present
name: "{{ volume_name }}"
bricks: "{{ brick_path }}/{{ volume_name }}"
replicas: 3
cluster:
- "{{ server1_hostname }}"
- "{{ server2_hostname }}"
- "{{ server3_hostname }}"
run_once: true
when: volume_type == "replicated"
- name: start gluster volume
gluster_volume:
state: started
name: "{{ volume_name }}"