Diretoria de Gestão de Tecnologia da Informação (DGTI)

8. Adição de novos servidores ao GlusterFS

O serviço GlusterFS é bastante flexível, podendo-se adicionar/remover Servidores ao Cluster de armazenamento a qualquer momento. Este capítulo descreve como novos Hosts podem ser adicionados, sendo importante caso a implementação da solução deste manual tenha tenha seguido o tópico 7.2. CRIAÇÃO DO VOLUME DO TIPO DISTRIBUÍDO EM 1 SERVIDOR.

Caso se tenha seguido o tópico 7.1. CRIAÇÃO DO VOLUME DO TIPO REPLICADO NOS 3 SERVIDORES esse capítulo é desnecessário, a não ser que se deseje adicionar um 4 Servidor ao Cluster.

Para os comandos seguintes será considerado que a etapa do tópico 7.2. CRIAÇÃO DO VOLUME DO TIPO DISTRIBUÍDO EM 1 SERVIDOR foi realizada no Host 1, e que o Host 2 e o Host 3 serão adicionados ao volume GlusterFS já configurado no primeiro, formando então o Cluster de armazenamento Hiperconvergente da solução deste manual. Considera-se ainda que Hosts 2 e 3 estão prontos para fazer parte do Cluster, com todas as etapas dos capítulos de 1 ao 6 executadas neles.

No Servidor 1 deve ser executados os comandos a seguir.

Para verificar que há somente 1 servidor no pool do Gluster do Host 1:

gluster pool list
gluster peer status

Mostrará o seguinte resultado:

UUID                                    Hostname        State
f65851be-3a13-4e43-9ba3-45a9054c4e5a    localhost       Connected 

Number of Peers: 0

Para adicionar os demais hosts ao pool:

gluster peer probe gluster2.reitoria.ifsertao-pe.edu.br
gluster peer probe gluster3.reitoria.ifsertao-pe.edu.br

Verificar novamente o pool do Gluster:

gluster pool list
gluster peer status

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

Number of Peers: 3

Agora, é interessante verificar também o Volume configurado anteriormente no Host 1:

gluster volume info

Mostrará o volume "VMS" do tipo "Distribute" com somente 1 brick correspondente ao Host 1, pois o volume Gluster ainda não foi configurado com os novos Servidores. Apenas a conexão entre eles foi feita nos comandos anteriores:

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

Os comandos seguintes configuram o volume para utilizar também os novos Servidores. É possível adicionar os outros 2 Hosts simultaneamente ou 1 após o outro. Em ambos os casos, com os comandos a seguir o volume será convertido do tipo Distribuído para o tipo Replicado.

Adição simultânea:

gluster volume add-brick VMS replica 3 gluster2.reitoria.ifsertao-pe.edu.br:/mnt/lv/vmstg/vms gluster3.reitoria.ifsertao-pe.edu.br:/mnt/lv/vmstg/vms

Adição separada:

gluster volume add-brick VMS replica 2 gluster2.reitoria.ifsertao-pe.edu.br:/mnt/lv/vmstg/vms
gluster volume add-brick VMS replica 3 gluster3.reitoria.ifsertao-pe.edu.br:/mnt/lv/vmstg/vms

Para conferir o volume:

gluster volume info

Mostrará:

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

Neste ponto o volume "VMS" está montado somente no Host 1 e a réplica não funcionará. É necessário realizar ainda algumas configurações, agora nos 3 Hosts do Cluster:

No Host 1:

Desmontar o volume.

umount /vms

Editar o arquivo /etc/fstab e substituir a linha:

gluster1:VMS /vms glusterfs defaults,_netdev,x-systemd.automount 0 0

Para:

gluster1:VMS /vms glusterfs defaults,_netdev,x-systemd.automount,backupvolfile-server=gluster2,backupvolfile-server=gluster3 0 0

Realizar a montagem novamente e verificar se montou com sucesso:

mount -a
df -h

Mostrará o seguinte resultado:

...
gluster1:VMS  2.0T  35G  2.0T  2% /vms

No Host 2:

Deve-se criar o ponto de montagem:

mkdir -p /vms

Deve-se configurar em seguida a montagem automática no boot do sistema, executando o seguinte comando:

echo "host2:VMS /vms glusterfs defaults,_netdev,x-systemd.automount,backupvolfile-server=gluster1,backupvolfile-server=gluster3 0 0" >> /etc/fstab

Realizar a montagem em si e verificar se montou com sucesso:

mount -a
df -h

Mostrará o seguinte resultado:

...
gluster2:VMS  2.0T  35G  2.0T  2% /vms

No Host 3:

Criar o ponto de montagem:

mkdir -p /vms

Configurar em seguida a montagem automática no boot do sistema:

echo "gluster3:VMS /vms glusterfs defaults,_netdev,x-systemd.automount,backupvolfile-server=gluster1,backupvolfile-server=gluster2 0 0" >> /etc/fstab

Realizar a montagem em si e verificar se montou com sucesso:

mount -a
df -h

Mostrará o seguinte resultado:

...
gluster3:VMS  2.0T  35G  2.0T  2% /vms

Com isso o Cluster de armazenamento hiperconvegente está configurado e pronto para uso. Contudo, ainda é necessário realizar o procedimento do capítulo seguinte para que o Proxmox possa usar ele de fato.