ansible. role8 установка glusterfs серверов и клиентов

Thank you for reading this post, don't forget to subscribe!

дан­ная роль будет уста­нав­ли­вать glusterfs сер­вер и клиентов.

после первого прогона будут ошибки при создании вольюма и добавления пиров, Необходимо 2 раза запустить эту роль

Для кор­рект­ной рабо­ты реко­мен­до­ва­ны 3 сер­ве­ра что­бы был кво­рум, так же мож­но исполь­зо­вать 2 сер­ве­ра и 1 арбитр. Мож­но но не реко­мен­ду­ет­ся исполь­зо­вать 2 сер­ве­ра без арбитра

все хосты пере­чис­ля­ем в файле:
/etc/ansible/hosts
в моём слу­чае содер­жи­мое следующее:

[glusterfs:children]
glustermaster
glusterclient
[glustermaster]
192.168.1.20
192.168.1.21
192.168.1.24
[glusterclient]
192.168.1.22
192.168.1.23

3 мастер сер­ве­ра и 2 клиента

созда­ём струк­ту­ру директорий:
mkdir -p /etc/ansible/{playbooks/roles_play,roles/glusterfs/{handlers,tasks,templates}}

cat /etc/ansible/roles/glusterfs/handlers/main.yml

[codesyntax lang="php" blockstate="collapsed"]

[/codesyntax]

cat /etc/ansible/roles/glusterfs/tasks/add-peer.yml

[codesyntax lang="php" blockstate="collapsed"]

[/codesyntax]

cat /etc/ansible/roles/glusterfs/tasks/add-to-hosts.yml

[codesyntax lang="php" blockstate="collapsed"]

[/codesyntax]

cat /etc/ansible/roles/glusterfs/tasks/add-tom.yml

[codesyntax lang="php" blockstate="collapsed"]

[/codesyntax]

cat /etc/ansible/roles/glusterfs/tasks/create-gluster-dir.yml

[codesyntax lang="php" blockstate="collapsed"]

[/codesyntax]

cat /etc/ansible/roles/glusterfs/tasks/install-gluster-client.yml

[codesyntax lang="php" blockstate="collapsed"]

[/codesyntax]

cat /etc/ansible/roles/glusterfs/tasks/install-gluster-server.yml

[codesyntax lang="php" blockstate="collapsed"]

[/codesyntax]

cat /etc/ansible/roles/glusterfs/tasks/install-repo-gluster.yml

[codesyntax lang="php" blockstate="collapsed"]

[/codesyntax]

cat /etc/ansible/roles/glusterfs/tasks/mount.yml

[codesyntax lang="php" blockstate="collapsed"]

[/codesyntax]

cat /etc/ansible/roles/glusterfs/tasks/proxy-install-gluster-client.yml

[codesyntax lang="php" blockstate="collapsed"]

[/codesyntax]

cat /etc/ansible/roles/glusterfs/tasks/proxy-install-gluster-server.yml

[codesyntax lang="php" blockstate="collapsed"]

[/codesyntax]

cat /etc/ansible/roles/glusterfs/tasks/proxy-install-repo-gluster.yml

[codesyntax lang="php" blockstate="collapsed"]

[/codesyntax]

cat /etc/ansible/roles/glusterfs/tasks/main.yml

[codesyntax lang="php" blockstate="collapsed"]

[/codesyntax]

cat /etc/ansible/playbooks/roles_play/glusterfs.yml

[codesyntax lang="php" blockstate="collapsed"]

[/codesyntax]

dir_gluster_master - здесь ука­зы­ва­ем дирек­то­рию на масте­ре кото­рв кото­рой будут хра­нит­ся данные

dir_gluster_client - здесь ука­зы­ва­ем дирек­то­рию для клиентов(на масте­рах она тоже будет созда­на), с ней и будем рабо­тать в дальнейшем

name_of_gluster_tom - имя создаваемого/используемого тома

replica_number - аво­ма­ти­че­ски посчи­та­ем коли­че­ство масте­ров добав­лен­ных в инвен­то­ри файле

proxy - ука­зы­ва­ем true/false если необ­хо­ди­мо что­бы уста­нов­ка шла через прок­си сервер

http_proxy https_proxy соот­вет­ствен­но адрес прокси

запус­ка­ем:
ansible-playbook -u ansible /etc/ansible/playbooks/roles_play/glusterfs.yml

после первого прогона будут ошибки при создании вольюма и добавления пиров, Необходимо 2 раза запустить эту роль