7. Configuração do volume GlusterFS
Neste ponto o armazenamento local para as Máquinas Virtuais encontra-se definido na partição /dev/sda4 e montado na pasta /mnt/lv/vmstg, e o serviço Gluster instalado e funcional. Com isso, faz-se necessário definir um Volume Gluster que utilize a partição montada, para que a ferramenta viabilize a hiperconvergência com a replica das VMs entre os servidores.
Caso os 3 Servidores estejam com o Proxmox instalado, configurado, e o serviço Gluster também instalado e configurado, deve-se seguir os passos do tópico seguinte. Caso somente 1 Servidor esteja nesse estado, deve-se pular o tópico seguinte e ir para o próximo.
7.1. CRIAÇÃO DO VOLUME DO TIPO RÉPLICA NOS 3 SERVIDORES
Neste cenário será criado um Volume Gluster do tipo Replicado simultaneamente nos 3 Servidores, visto que eles já possuem o Proxmox com o GlusterFS.
Os comandos seguintes só devem ser executados em um Hosts, sendo que os demais são configurados automaticamente pelo serviço Gluster com a criação do volume.
Para verificar a definição atual do serviço Gluster, deve-se executar:
gluster pool list
gluster peer status
Mostrará o seguinte resultado, pois não há nenhum volume definido e os outros servidores ainda não fazem parte do Gluster:
UUID Hostname State
f65851be-3a13-4e43-9ba3-45a9054c4e5a localhost Connected
Number of Peers: 0
A princípio é necessário adicionar os demais Servers ao pool do Gluster. Considerando que o pool está sendo configurado a partir do host 1, é necessário adicionar os host 2 e 3:
gluster peer probe gluster2.reitoria.ifsertao-pe.edu.br
gluster peer probe gluster3.reitoria.ifsertao-pe.edu.br
Para conferir se foram adicionados:
gluster pool list
Mostrará o seguinte resultado:
9e90a572-3d33-458e-a202-f0d9be1054bb gluster2.reitoria.ifsertao-pe.edu.br Connected
06e41fd6-88fd-4c70-afca-e9b5ca80c144 gluster3.reitoria.ifsertao-pe.edu.br Connected
989a97bc-3743-48e3-864f-f226369610ce localhost
Neste ponto o Volume Gluster do tipo Réplica pode ser criado. É interessante executar o comando seguinte antes. Ele indicará que nenhum volume foi configurado ainda.
gluster volume info
Por fim, o comando seguinte cria o Volume GlusterFS, de nome "VMS" do tipo Réplica nos 3 Hosts. Conforme especificado após o nome dos hosts no comando (depois do ":"), o volume utilizará o diretório /mnt/lv/vmstg onde a partição LVM foi montada anteriormente.
gluster volume create VMS replica 3 gluster1.reitoria.ifsertao-pe.edu.br:/mnt/lv/vmstg/vms gluster2.reitoria.ifsertao-pe.edu.br:/mnt/lv/vmstg/vms gluster3.reitoria.ifsertao-pe.edu.br:/mnt/lv/vmstg/vms
Agora é necessário iniciar o volume criado:
gluster volume start VMS
Para verifica o volume criado:
gluster volume info
Mostrará o seguinte resultado:
Volume Name: VMS
Type: Replicate
Volume ID: 632140b2-528a-40d1-a075-dc460b2ec023
Status: Started
Snapshot Count: 0
Number of Bricks: 1 x 3 = 3
Transport-type: tcp
Bricks:
Brick1: gluster1.reitoria.ifsertao-pe.edu.br:/mnt/lv/vmstg/vms
Brick2: gluster2.reitoria.ifsertao-pe.edu.br:/mnt/lv/vmstg/vms
Brick3: gluster3.reitoria.ifsertao-pe.edu.br:/mnt/lv/vmstg/vms
Options Reconfigured:
cluster.granular-entry-heal: on
storage.fips-mode-rchecksum: on
transport.address-family: inet
nfs.disable: on
performance.client-io-threads: off
Na saída é possível observar que o volume de nome "VMS" do tipo "Replicate" foi criado e iniciado e possui com 3 Bricks, indicando que o volume está configurado com os 3 Servidores.
É interessante acessar os outros 2 Servidores e verificar se o volume foi criado neles, executando os comandos de verificação anteriores:
gluster pool list
gluster peer status
gluster volume info
Neste ponto o volume está criado, inicializado, mas ainda não pode ser utilizado. É necessário montá-lo em um ponto de montagem assim como foi feito na partição LVM anteriormente, executando os comandos seguintes.
Deve-se criar o ponto de montagem em cada Host do Cluster:
mkdir -p /vms
Deve-se configurar em seguida a montagem automática no boot do sistema, executando o seguinte comando:
No Host 1:
echo "gluster1:VMS /vms glusterfs defaults,_netdev,x-systemd.automount,backupvolfile-server=gluster2,backupvolfile-server=gluster3 0 0" >> /etc/fstab
No Host 2:
echo "glsuter2:VMS /vms glusterfs defaults,_netdev,x-systemd.automount,backupvolfile-server=gluster1,backupvolfile-server=gluster3 0 0" >> /etc/fstab
No Host 3:
echo "gluster3:VMS /vms glusterfs defaults,_netdev,x-systemd.automount,backupvolfile-server=gluster1,backupvolfile-server=gluster2 0 0" >> /etc/fstab
Em cada Host executar a montagem em si com:
mount -a
E verificar se montou com sucesso:
df -h
Mostrará o seguinte resultado (exemplo da saída no host 1):
...
gluster1:VMS 2.0T 35G 2.0T 2% /vms
Agora o volume está pronto para uso. Deve seguir para o tópico 7.3 para testar a réplica dos dados entre os servidores.
7.2. CRIAÇÃO DO VOLUME DO TIPO DISTRIBUÍDO EM 1 SERVIDOR
Neste cenário será criado um Volume Gluster do tipo Distribuído, já que não é possível criar um volume do tipo Replicado com somente somente 1 Servidor rodando o Proxmox com o GlusterFS. Quando os outros 2 servidores forem unidos ao pool do serviço Gluster, esse volume será convertido para o tipo Réplica.
Para verificar a definição atual do serviço Gluster, deve-se executar:
gluster pool list
gluster peer status
Mostrará o seguinte resultado, pois não há nenhum volume definido e os outros servidores ainda não fazem parte do Gluster:
UUID Hostname State
f65851be-3a13-4e43-9ba3-45a9054c4e5a localhost Connected
Number of Peers: 0
É interessante executar o comando seguinte antes de se criar o volume. Ele indicará que nenhum volume foi configurado ainda.
gluster volume info
Por fim, o comando seguinte cria o Volume GlusterFS, de nome "VMS" do tipo Distribuído no Host. Conforme especificado após o nome do Host no comando (depois do ":"), o volume utilizará o diretório /mnt/lv/vmstg onde a partição LVM foi montada anteriormente.
gluster volume create VMS gluster1.reitoria.ifsertao-pe.edu.br:/mnt/lv/vmstg/vms
Agora é necessário iniciar o volume criado:
gluster volume start VMS
Verifica o volume criado:
gluster volume info
Mostrará o seguinte resultado:
Volume Name: VMS
Type: Distribute
Volume ID: ...
Status: Started
Snapshot Count: 0
Number of Bricks: 1
Transport-type: tcp
Bricks:
Brick1: gluster1.reitoria.ifsertao-pe.edu.br:/mnt/lv/vmstg/vms
Options Reconfigured:
storage.fips-mode-rchecksum: on
transport.address-family: inet
nfs.disable: on
Na saída é possível observar que o volume de nome "VMS" do tipo "Distribute" foi criado e iniciado e possui com 1 Brick no Host 1, indicando que ele só foi configurado no host atual.