Como instalar o GlusterFS no AlmaLinux 9
GlusterFS ou Gluster File System, é um sistema de arquivos distribuído gratuito e de código aberto desenvolvido pela RedHat. GlusterFS é um sistema de arquivos escalonável formado por vários servidores em um sistema de arquivos de entidade que permite aos usuários conectar e montar o volume GlusterFS.
GlusterFS é um sistema de arquivos moderno que pode lidar com petabytes de dados. Além disso, é fácil de instalar e manter, além de escalar o sistema de arquivos.
Neste guia, orientaremos você no processo de instalação do GlusterFS Cluster em servidores AlmaLinux 9. Você configurará o armazenamento do sistema de arquivos de alta disponibilidade usando GlusterFS em servidores AlmaLinux 9.
Pré-requisito
Antes de prosseguir, certifique-se de ter o seguinte:
- Dois ou mais servidores AlmaLinux 9 - Esta demonstração usa dois servidores AlmaLinux srv1 com o endereço IP 192.168.10.41 e srv2 com o endereço IP >192.168.10.42.
- Um usuário não root com privilégios de administrador root.
- Um novo disco será usado pelo GlusterFS.
Preparando disco e partição
É recomendado usar um disco separado para criar o cluster GlusterFS. Dessa forma, seus dados estarão sempre seguros. A demonstração a seguir usa dois servidores diferentes e cada servidor possui disco adicional /dev/sdb.
Nesta seção, você criará uma nova partição do disco /dev/sdb que será usada pelo GlusterFS.
Execute o seguinte comando para verificar a lista de discos disponíveis em seu sistema. Neste caso, temos dois discos /dev/sda e /dev/sdb, e o disco /dev/sdb será usado para GlusterFS.
sudo fdisk -l
Digite o seguinte comando para criar uma nova partição no disco /dev/sdb.
sudo fdisk /dev/sdb
- Insira n para criar uma nova partição.
- Selecione o tipo de partição para p para primária.
- Para o número da partição, insira 1 para criar 1 partição.
- Para o primeiro e último setor da partição, deixe-o como padrão e pressione ENTER.
- Por último, insira w para salvar as alterações.
A nova partição /dev/sdb1 será criada.
Agora execute o seguinte comando para formatar a partição /dev/sdb1 para o sistema de arquivos ext4.
sudo mkfs.ext4 /dev/sdb1
Depois disso, execute o comando abaixo para criar um novo diretório que será usado como diretório de montagem de destino para /dev/sdb1.
# Run this on srv1
sudo mkdir -p /data/vol1
# Run this on srv2
sudo mkdir -p /data/vol2
Em seguida, execute o seguinte comando para montar o diretório /dev/sdb1 no diretório /data/vol1 e, em seguida, verifique a lista do sistema de arquivos montado e o novo diretório /data/ vol1/brick0.
# Run this on srv1
sudo mount /dev/sdb1 /data/vol1
sudo df -h
sudo mkdir -p /data/vol1/brick0
Repita o comando no servidor srv2 assim:
# Run this on srv2
sudo mount /dev/sdb1 /data/vol2
sudo df -h
sudo mkdir -p /data/vol2/brick0
Configurando FQDN
Nesta seção, você configurará fqdn (nome de domínio totalmente qualificado) para cada servidor AlmaLinux que será usado para criar o cluster GlusterFS,
Execute o seguinte comando para configurar o fqdn para cada servidor. Neste caso, o srv1 terá fqdn srv1.hwdomain.lan, e o servidor srv2 terá fqdn srv2.hwdomain. lan.
sudo hostnamectl set-hostname srv1.hwdomain.lan
sudo hostnamectl set-hostname srv2.hwdomain.lan
Abra o arquivo /etc/hosts usando o seguinte comando do editor nano.
sudo nano /etc/hosts
Insira a seguinte configuração e certifique-se de alterar os detalhes de cada endereço IP.
192.168.10.41 srv1.hwdomain.lan srv1
192.168.10.42 srv2.hwdomain.lan srv2
Salve e saia do arquivo quando terminar.
Em seguida, execute o seguinte comando para verificar o fqdn em cada servidor e garantir que o fqdn esteja apontado para o endereço IP adequado.
sudo hostname -f
ping -c3 srv1.hwdomain.lan
ping -c3 srv2.hwdomain.lan
Instalando o GlusterFS
Agora você instalará o pacote GlusterFS em todos os seus servidores AlmaLinux e também adicionará o serviço GlusterFS ao firewalld. Quanto à distribuição baseada em RHEL, os pacotes GlusterFS estão disponíveis no repositório CentOS SIG (SpecialInterestGroup).
Primeiro, execute o comando dnf abaixo para adicionar o repositório GlusterFS aos seus servidores. Insira y quando solicitado e pressione ENTER para confirmar.
sudo dnf install centos-release-gluster9
Agora execute o comando abaixo para verificar a lista de repositórios em seu sistema. Se for bem-sucedido, você verá o repositório GlusterFS adicionado.
sudo dnf repolist
Em seguida, execute o seguinte comando dnf para instalar pacotes GlusterFS em cada servidor. Quando solicitado, insira y para confirmar e pressione ENTER.
sudo dnf install glusterfs glusterfs-libs glusterfs-server
Além disso, insira y novamente para adicionar a chave GPG do repositório GlusterFS.
Após a instalação do GlusterFS, execute o comando systemctl abaixo para iniciar e habilitar o serviço glusterfsd.
sudo systemctl enable glusterfsd.service
sudo systemctl start glusterfsd.service
Em seguida, verifique o serviço glusterfsd para garantir que ele esteja em execução.
sudo systemctl status glusterfsd.service
Se o glusterfsd estiver em execução, você deverá obter uma saída ativa (em execução).
Agora execute o comando firewall-cmd abaixo para adicionar a porta GlusterFS e recarregar o firewalld para aplicar as alterações.
sudo firewall-cmd --add-service=glusterfs --permanent
sudo firewall-cmd --reload
Verifique a lista de serviços disponíveis no firewalld usando o seguinte comando. Se for bem-sucedido, você deverá ver o serviço glusterfs na lista de serviços do firewalld.
sudo firewall-cmd --list-all
Inicializando o Cluster GlusterFS
Com o serviço GlusterFS em execução e o firewalld configurado, em seguida você inicializará o cluster GlusterFS.
No srv1, execute o comando gluster abaixo para inicializar o cluster GlusterFS. E não se esqueça de alterar o srv2.hwdomain.lan pelo fqdn do seu segundo servidor.
sudo gluster peer probe srv2.hwdomain.lan
Se a inicialização for bem-sucedida, você deverá receber a mensagem "pesquisa de pares bem-sucedida".
Agora execute o seguinte comando para verificar o status do cluster GlusterFS. Você deverá ver o cluster GlusterFS atual com o servidor membro srv2.hwdomain.lan.
sudo gluster peer status
Por último, vá para o servidor srv2.hwdomain.lan e execute o comando gluster abaixo para verificar o status do cluster GlusterFS.
sudo gluster peer status
Se a instalação for bem-sucedida, você verá que o membro do cluster GlusterFS é o servidor srv1.hwdomain.lan.
Neste ponto, você concluiu a instalação do cluster GlusterFS. Na próxima etapa, você criará o volume GlusterFS que será montado pelas máquinas clientes.
Criando Volume GlusterFS
Na seção a seguir, você criará o volume GLusterFS que replicará automaticamente seus dados entre servidores dentro do cluster GlusterFS.
Execute o seguinte comando para criar um novo volume GlusterFS testvol. Insira y e pressione ENTER para confirmar.
sudo gluster volume create testvol replica 2 srv1.hwdomain.lan:/data/vol1/brick0 srv2.hwdomain.lan:/data/vol2/brick0
Após a criação do volume testvol, execute o comando abaixo para iniciar o volume testvol.
sudo gluster volume start testvol
Agora verifique o status do volume GlusterFS usando o seguinte comando. Você deverá ver o volume testvol com dois servidores GLusterFS srv1.hwdomain.lan e srv2.hwdomain.lan.
sudo gluster volume status
Por último, você também pode obter informações detalhadas sobre o volume GlusterFS usando o seguinte comando.
sudo gluster volume info
Montando o volume GlusterFS no cliente
Com o volume GlusterFS criado, o próximo passo será montar o volume na máquina cliente. Para conseguir isso, você deve instalar o pacote do cliente GlusterFS em suas máquinas clientes.
Na sua máquina cliente, adicione o repositório GlusterFS usando o comando dnf abaixo.
sudo dnf install centos-release-gluster9
Agora execute o comando dnf abaixo para instalar o pacote glusterfs-client.
sudo dnf install glusterfs-client
Com o cliente glusterfs instalado, você pode montar o volume GlusterFS.
Crie um novo diretório backup usando o seguinte comando. Ele será usado como diretório de montagem de destino do volume GlusterFS.
sudo mkdir -p /backup
Agora execute o seguinte comando para montar o volume GlusterFS testvol do servidor srv1.hwdomain.lan.
sudo mount.glusterfs srv1.hwdomain.lan:/testvol /backup
Verifique a lista de sistemas de arquivos montados em seu sistema por meio do comando df abaixo.
sudo df -h
Você deverá ver que o volume testvol do servidor GlusterFS srv1.hwdomain.lan está montado no diretório de destino /backup.
Em seguida, vá para o diretório /backup e crie novos arquivos de teste para garantir acesso de leitura e gravação. Além disso, os novos arquivos criados serão replicados automaticamente para o cluster GlusterFS.
cd /backup
touch file{1..5}.md
ls
No servidor srv1, execute o seguinte comando para verificar a lista de arquivos disponíveis no diretório /data/vol1/brick0.
ls /data/vol1/brick0
Se os dados forem replicados, você deverá ver os novos arquivos criados anteriormente.
Para o servidor srv2, execute o comando ls assim. Se a replicação for bem-sucedida, você deverá ver novos arquivos também disponíveis no servidor srv2.
ls /data/vol2/brick0
Conclusão
Bom trabalho! Você instalou o GlusterFS com sucesso em suas máquinas AlmaLinux e criou um cluster GlusterFS usando dois servidores. Você também aprendeu como criar partições por meio da linha de comando, criar e gerenciar volumes GlusterFS e montar o volume GlusterFS na máquina cliente.
Agora você pode começar a armazenar arquivos em seu cluster GlusterFS e seus dados serão replicados automaticamente para vários servidores.