Hoje vou demonstrar os passos para configuração básica de um GlusterFS.
O glusterfs é uma plataforma de código aberto para a escalabilidade do armazenamento em nuvem público e privado, em outras palavras, é utilizado para armazenamento compartilhado.
Ambiente:
Em todas as VMs está configurado o disco principal de 8 Gb e um disco de 1 Gb para usar no gluster.
S.O: Ubuntu 20.04 (Os passos funcionam em todos os sistemas baseados no Debian.
Será criado 2 volumes que serão somados (sem redundância) 1G + 1G = 2G
ubuntuserver1: 192.168.1.31
ubuntuserver2: 192.168.1.32
1° Criar partição:
fdisk /dev/sdb
Usei as opções padrões para criação desta partição n = new (apenas enter) e w = write no final para gravar as alterações.
2° Formatar a partição como xfs:
mkfs.xfs -i size=512 /dev/sdb1
Onde size é o tamanho dos setores do disco.
3° Criar um ponto de montagem para o disco que será utilizado no gluster:
mkdir -p /data/gluster/brick
4° Montar o disco no diretório criado:
mount -t xfs /dev/sdb1 /data/gluster/brick
5° Configurar montagem automático ao iniciar o sistema, adicionar a linha em /etc/fstab:
/dev/sdb1 /data/glusterfs/brick xfs defaults 1 2
7° Instalar servidor glusterfs
sudo apt install glusterfs-server
8° Adicionar o serviço glusterd para iniciar com o sistema:
sudo systemctl enable glusterd
9° Iniciar e verificar o status do serviço:
sudo systemctl start glusterd; sudo systemctl status glusterd
10° Adicionar o serviço no firewall e reiniciar o firewall (Caso tenha instalado no seu servidor):
sudo firewall-cmd --add-service=glusterfs --permanent sudo firewall-cmd --reload
*ATENÇÃO: Todos os servidores devem ter as mesmas configurações até este ponto; Como estou usando VMs vou fazer um clone desta máquina e alterar o hostname e IP.*
11° Adicionar servidores ao pool, irei utilizar o server1 como nó primário, neste caso adiciono o ubuntuserver2 nele:
sudo gluster peer probe 192.168.1.32
12° Verifique o peer se todos os servidores estão adicionados:
sudo gluster peer status
13° Criar um volume com os 4 servidores irei nomear como gluvol (lembrando que haverá redundância, para mais configurações verifique as opções na documentação).
sudo gluster volume create volglu \ 192.168.1.31:/data/gluster/brick/ \ 192.168.1.32:/data/gluster/brick/ force
14° Inicie o volume:
sudo gluster volume start volglu
15° Verifique as informações do volume:
sudo gluster volume status volglu
16° Verifique as informações do volume:
sudo gluster volume info volglu
Pronto! Nosso gluster está criado!.
*CLIENTE*
Agora vamos configurar a máquina cliente para montar nosso volume:
1° Adicione o repositório do gluster e instale os pacotes:
sudo apt install glusterfs-client
2° Crie um ponto de montagem no seu sistema:
sudo mkdir -p /mnt/gluster
3° Mounte o volume:
sudo mount -t glusterfs 192.168.1.21:/gluvol /mnt/gluster
4° Verifique as informações:
df -hPT
OBS. para contextualizar, crie 10 arquivos testes onde estarão distribuídos entre server 1 e 2 não havendo tolerância para falha de nenhum servidor, caso isso ocorra, os arquivos ficarão indisponíveis.
Cliente:
Server 1:
Server 2:
Espero que ajude vocês e obrigado por ler até aqui.
Qualquer dúvida deixe nos comentários ou entre em contato através das redes sociais:
Link Facebook: https://www.facebook.com/gnulinuxbr
Link WhatsApp: https://chat.whatsapp.com/LYHbESy75Q0GiORiexXKF4
Link Telegram: https://t.me/gnulinux_brasil