Nesta série de tutoriais, estamos a criar um site WordPress altamente disponível do zero.
- Parte 1 – Introdução, Considerações e Arquitetura
- Parte 2 – Criação dos Containers
- Parte 3 – Ansible e Dependências
- Parte 4 – Gluster (este artigo)
- Parte 5 – Instalação do WordPress
- Parte 6 – MariaDB Multi-Master
- Parte 7 – DNS Round-Robin, Let’s Encrypt e Conclusão
Fizemos um progresso incrível até agora e a utilização do Ansible acelerou muito a configuração dos servidores. Agora, vamos configurar o GlusterFS, uma ferramenta essencial para garantir a alta disponibilidade dos nossos arquivos e simplificar a integração com o Let’s Encrypt e o Nginx, além de facilitar o transporte de backups de banco de dados para o MariaDB.
O GlusterFS é um sistema de arquivos replicado que assegura que todos os nós tenham as mesmas diretórias, arquivos e permissões. Assim, qualquer arquivo ou arte que carregarmos em um nó será instantaneamente replicado nos outros. Vamos instalar e configurar o GlusterFS agora.
Em Cada Nó
Para começar, verifique se o disco que você vai usar não está montado:
dmesg | grep sdb
Desmonte o disco, se necessário:
umount /dev/sdb
Remova qualquer referência ao disco do arquivo /etc/fstab
. No meu node1
, removi a linha:
/dev/disk/by-id/scsi-0HDD_Volume_123456 /mnt/HDD_Volume_123456 xfs discard,nofail,defaults 0 0
Agora, crie uma nova etiqueta de partição, uma nova partição que use 100% do disco e formate-a com XFS:
parted /dev/sdb --align opt mklabel gpt
parted /dev/sdb mkpart xfs 0% 100%
mkfs.xfs -f -i size=512 /dev/sdb1
Configure o ponto de montagem e monte-o:
mkdir -p /data/brick1
echo '/dev/sdb1 /data/brick1 xfs defaults 1 2' >> /etc/fstab
systemctl daemon-reload
mount -a
mount | grep sdb1
df -h | grep sdb1
Repita esses passos em cada nó.
Em Cada Nó
Habilite e inicie o serviço do GlusterFS:
systemctl enable glusterd.service
systemctl start glusterd.service
No node1
Configure o cluster do GlusterFS:
gluster peer probe node2.homeserver.pt
gluster peer probe node3.homeserver.pt
No node2
gluster peer probe node1.homeserver.pt
gluster peer probe node3.homeserver.pt
No node3
gluster peer probe node1.homeserver.pt
gluster peer probe node2.homeserver.pt
Verifique o status dos peers em node1
:
gluster peer status
Você deve ver informações semelhantes em node2
e node3
. O GlusterFS está funcionando!
Criar e Iniciar o Volume
Crie o volume e inicie-o:
mkdir -p /data/brick1/gv0
gluster volume create gv0 replica 3 node1.homeserver.pt:/data/brick1/gv0 node2.homeserver.pt:/data/brick1/gv0 node3.homeserver.pt:/data/brick1/gv0
gluster volume start gv0
Verifique o volume:
gluster volume info
Em Cada Nó
Crie o ponto de montagem para o GlusterFS e adicione-o ao /etc/fstab
:
mkdir /gluster
echo "localhost:/gv0 /gluster glusterfs defaults,_netdev,noauto,x-systemd.automount 0 0" >> /etc/fstab
systemctl daemon-reload
Reinicie o sistema para garantir que o GlusterFS inicie e monte corretamente.
Testar o GlusterFS
No node1
, crie um arquivo de teste:
echo "Este é um arquivo de teste para verificar se o Gluster está funcionando." > /gluster/testfile.txt
E verifique no node2
:
cat /gluster/testfile.txt
No próximo tutorial, instalaremos o WordPress, aproveitando a configuração do Gluster para simplificar a gestão e a alta disponibilidade do nosso site.