Escolar Documentos
Profissional Documentos
Cultura Documentos
NOTAS PRELIMINARES
Esta é uma tradução de cujo o link para o texto original, site e autor seguem no final deste artigo.
Como sempre acompanhei aqui no VOL diversos artigos e os mesmos ajudaram muito em minha erudição,
o mínimo que posso fazer é contribuir traduzindo este excelente artigo, pois eu mesmo testei e tudo
funcionou perfeitamente. Espero que todos apreciem! : - )
INTRODUÇÃO
Este tutorial mostra como combinar quatro servidores de armazenamento (Debian Lenny) para distribuição e
replicação usando GlusterFS. Os nós 1 e 2 (replicação), assim como 3 e 4 (replicação) realizarão o
espelhamento entre si, já a replicação1 e a replicação2 combinarão entre si para formar um grande servidor
de armazenamento (distribuição).
Basicamente este é o RAID 1+0 ou 0+1 ou 10 (como achar melhor), sobre o padrão ethernet.
O sistema cliente (Debian Lenny) irá acessar o armazenamento como se ele tivesse acessando um volume
local (file system) sem sentir a perda de qualquer um dos servidores. O GlusterFS é um cluster capaz de
escalar diversos petabytes de armazenamento. Isso agregado a vários blocos de armazenamento sobre
uma infinita interconexão TCP/IP dentro de um grande sistema de arquivos em rede rodando em
paralelismo. Estes armazenamentos em blocos podem ser feitos com hardware usando arquitetura X86-64 e
com SATA-II RAID.
P.S. 1: O autor deste artigo não fornece nenhuma garantia que este artigo irá funcionar com você!
P.S. 2: Eu, mero aprendiz neste maravilhoso mundo Linux (//www.vivaolinux.com.br/linux/), segui todos os
passos e comigo funcionou perfeitamente.
https://www.vivaolinux.com.br/artigos/impressora.php?codigo=10121 1/12
15/12/2022 23:14 Replicando e distribuindo armazenamento de arquivos através de quatro servidores usando Cluster (Gluste…
Este tutorial usou cinco sistemas, quatro servidores e um cliente, todos usando Linux
(//www.vivaolinux.com.br/linux/) (Debian Lenny):
Todos os cinco sistemas deverão estar resolvendo/comunicando entre si. Se você não conseguir fazer isso
através do DNS, deverá editar o arquivo /etc/hosts para que os sistemas consigam se comunicar.
Caso você não esteja conseguindo fazer o mesmo, aqui vai uma ajudinha para desenferrujar sua memória...
Abra o arquivo /etc/hosts com o VI ou qualquer editor de sua preferência e siga os passos abaixo:
# vi /etc/hosts
P.S. 3: Senhores, notem que também é possível usar o endereçamento IP ao invés de hostnames, lembrem-
se, somos livres!!! Se você preferir usar o endereçamento IP, não precisará ter cuidado para que os
computadores possam ser resolvidos por nome, pois serão resolvidos somente por IP, para isso teremos
que simplesmente apontar os endereços IPs quando for a hora de configurar o GlusterFS nos servidores.
O GlusterFS não está disponível como um pacote Debian (já se encontra sim, porém achei melhor baixar e
instalar seguindo fielmente o artigo original), consequentemente teremos que instalar o mesmo na mão.
# cd /tmp
# wget http://ftp.gluster.com/pub/gluster/glusterfs/2.0/LATEST/glusterfs-2.0.2.tar.gz
(http://ftp.gluster.com/pub/gluster/glusterfs/2.0/LATEST/glusterfs-2.0.2.tar.gz)
# tar -xvfz glusterfs-2.0.2.tar.gz
# cd glusterfs-2.0.2
# ./configure --prefix=/usr > /dev/null
No shell, após realizar os comandos acima, digite o comando abaixo e verá a saída que segue:
# glusterfs --version
https://www.vivaolinux.com.br/artigos/impressora.php?codigo=10121 3/12
15/12/2022 23:14 Replicando e distribuindo armazenamento de arquivos através de quatro servidores usando Cluster (Gluste…
A saída do comando acima irá lhe mostrar a versão que você instalou, deve ficar igual abaixo (neste caso
2.0.2):
# glusterfs --version
glusterfs 2.0.2 built on JULY 29 2009 17:23:10
Repository revision: 5c1d9108c1529a1155963cb1911f8870a674ab5b
Copyright (c) 2006-2009 Z RESEARCH Inc. <http://www.zresearch.com>
GlusterFS comes with ABSOLUTELY NO WARRANTY.
You may redistribute copies of GlusterFS under the terms of the GNU General Public License.
# mkdir /data/
# mkdir /data/export
# mkdir /data/export-ns
# mkdir /etc/glusterfs
Agora criaremos o arquivo de configuração do servidor GlusterFS em /etc/glusterfsd.vol, pois é este arquivo
que define qual diretório será exportado (/data/export) e qual cliente poderá conectar.
# vi /etc/glusterfs/glusterfsd.vol
volume posix
type storage/posix
option directory /data/export
end-volume
volume locks
type features/locks
subvolumes posix
end-volume
volume brick
type performance/io-threads
option thread-count 8
subvolumes locks
end-volume
volume server
type protocol/server
option transport-type tcp
option auth.addr.brick.allow 192.168.0.104
https://www.vivaolinux.com.br/artigos/impressora.php?codigo=10121 4/12
15/12/2022 23:14 Replicando e distribuindo armazenamento de arquivos através de quatro servidores usando Cluster (Gluste…
subvolumes brick
end-volume
Por favor, note que é possível usar uma gama infinita de endereços IP fazendo o permissionamento usando
toda uma faixa de endereços IP, por exemplo, 192.168.* fará com que toda a rede 192.168.X.X acesse o
volume. Você também pode usar a vírgula para separar diversos endereços IP, por exemplo: 192.168.0.120,
192.168.0.121, 192.168.0.122.
Lembrem-se que aqui neste artigo está sendo mostrado como implementar um servidor CLUSTER para
garantir alta disponibilidade de arquivos e não para visar 100% de segurança, para isso devemos usar
outros meios.
Após as configurações acima devemos criar os links para inicialização do script nos servidores com o
comando que segue abaixo:
# /etc/init.d/glusterfsd start
Na estação cliente precisamos instalar o fuse e o GlusterFS. Ao invés de instalar o pacote libfuse2 a partir
do repositório do Debian, instalaremos a versão que tem um melhor suporte para GlusterFS.
ftp://ftp.zresearch.com/pub/gluster/glusterfs/fuse/ (ftp://ftp.zresearch.com/pub/gluster/glusterfs/fuse/)
Entremos através do shell no diretório tmp para fazermos o que segue acima:
https://www.vivaolinux.com.br/artigos/impressora.php?codigo=10121 5/12
15/12/2022 23:14 Replicando e distribuindo armazenamento de arquivos através de quatro servidores usando Cluster (Gluste…
# cd /tmp
# wget ftp://ftp.zresearch.com/pub/gluster/glusterfs/fuse/fuse-2.7.4glfs11.tar.gz
(ftp://ftp.zresearch.com/pub/gluster/glusterfs/fuse/fuse-2.7.4glfs11.tar.gz)
# tar -zxvf fuse-2.7.4glfs11.tar.gz
# cd fuse-2.7.4glfs11
# ./configure
# make && make install
# cd /tmp/
# wget http://ftp.gluster.com/pub/gluster/glusterfs/2.0/LATEST/glusterfs-2.0.2.tar.gz
(http://ftp.gluster.com/pub/gluster/glusterfs/2.0/LATEST/glusterfs-2.0.2.tar.gz)
# tar -xvfz glusterfs-2.0.2.tar.gz
# cd glusterfs-2.0.2
# ./configure --prefix=/usr > /dev/null
# make && make install
# ldconfig
# glusterfs - -version
Agora criaremos dois diretórios (lembre-se que estamos agora na máquina cliente):
# mkdir /mnt/glustersfs
# mkdir /etc/glusterfs
# vi /etc/glusterfs/glusterfs.vol
volume remote1
type protocol/client
option transport-type tcp
option remote-host server1.exemplo.com
option remote-subvolume brick
end-volume
volume remote2
type protocol/client
option transport-type tcp
option remote-host server2.exemplo.com
option remote-subvolume brick
https://www.vivaolinux.com.br/artigos/impressora.php?codigo=10121 6/12
15/12/2022 23:14 Replicando e distribuindo armazenamento de arquivos através de quatro servidores usando Cluster (Gluste…
end-volume
volume remote3
type protocol/client
option transport-type tcp
option remote-host server3.exemplo.com
option remote-subvolume brick
end-volume
volume remote4
type protocol/client
option transporte-type tcp
option remote-host server4.exemplo.com
option remote-subvolume brick
end-volume
volume replicate1
type cluster/replicate
subvolumes remote1 remote2
end-volume
volume replicate2
type cluster/replicate
subvolumes remote3 remote4
end-volume
volume distribute
type cluster/distribute
subvolumes replicate1 replicate2
end-volume
volume writebehind
type performance/write-behind
option window-size 1MB
subvolumes distribute
end-volume
volume cache
type performance/io-cache
option cache-size 512MB
subvolumes wirtebehind
end-volume
Tenha certeza que você usou o hostname ou endereço IP correto na opção option remote-host.
Bem pessoal, é somente isso! Agora podemos montar o sistema de arquivos GlusterFS em /mnt/glusterfs
https://www.vivaolinux.com.br/artigos/impressora.php?codigo=10121 7/12
15/12/2022 23:14 Replicando e distribuindo armazenamento de arquivos através de quatro servidores usando Cluster (Gluste…
Agora você já pode ver o novo compartilhamento montado com o comando abaixo:
# df -h
Com este comando devem aparecer as unidades montadas em seu sistema, entre as informações que
aparecerão, se tudo correr bem deve ter uma linha como a abaixo:
# vi /etc/fstab
Reinicie o computador cliente e verifique se o ponto de montagem funcionou corretamente. Após o boot
execute o comando "df -h" e verifique se o ponto de montagem aparece.
VERIFICANDO CONFIGURAÇÕES
TESTANDO...
Agora criaremos alguns arquivos de teste em nosso compartilhamento e faremos uma bateria de testes para
verificar se tudo funcionou como deveria.
https://www.vivaolinux.com.br/artigos/impressora.php?codigo=10121 8/12
15/12/2022 23:14 Replicando e distribuindo armazenamento de arquivos através de quatro servidores usando Cluster (Gluste…
# touch /mnt/glusterfs/teste1
# touch /mnt/glusterfs/teste2
# touch /mnt/glusterfs/teste3
# touch /mnt/glusterfs/teste4
# touch /mnt/glusterfs/teste5
# touch /mnt/glusterfs/teste6
Agora vamos checar o diretório /data/export dos servidores. Você verá que a replicação1, assim como a
replicação2, pegaram parte dos arquivos e diretórios que compõem o compartilhamento GlusterFS na
máquina cliente.
Perceba também que compõem a replicação1 (server1 e server2) e a replicação2 (server3 e server4) e que
ambos contém os mesmos arquivos (espelhamento).
# ls -l /data/export
# ls -l /data/export
total 0
-rw-r--r-- 1 root root 0 2009-07-01 15:01 teste1
-rw-r--r-- 1 root root 0 2009-07-01 15:01 teste2
-rw-r--r-- 1 root root 0 2009-07-01 15:01 teste4
-rw-r--r-- 1 root root 0 2009-07-01 15:01 teste5
# ls -l /data/export
total 0
-rw-r--r-- 1 root root 0 2009-07-01 15:01 teste1
-rw-r--r-- 1 root root 0 2009-07-01 15:01 teste2
-rw-r--r-- 1 root root 0 2009-07-01 15:01 teste4
-rw-r--r-- 1 root root 0 2009-07-01 15:01 teste5
Veremos a saída agora estando no servidor server3.example.com, execute no shell o comando abaixo e
observe atentamente a saída:
# ls -l /data/export
total 0
-rw-r--r-- 1 root root 0 2009-07-01 15:02 teste3
-rw-r--r-- 1 root root 0 2009-07-01 15:02 teste6
Por fim, porém não menos importante, veremos a saída estando conectado no servidor
https://www.vivaolinux.com.br/artigos/impressora.php?codigo=10121 9/12
15/12/2022 23:14 Replicando e distribuindo armazenamento de arquivos através de quatro servidores usando Cluster (Gluste…
# ls -l /data/export
total 0
-rw-r--r-- 1 root root 0 2009-07-01 15:02 teste3
-rw-r--r-- 1 root root 0 2009-07-01 15:02 teste6
# shutdown -h now
# rm -fv /mnt/glusterfs/teste5
# rm -fv /mnt/glusterfs/teste6
# ls -l /data/export
# ls -l /data/export
total 0
-rw-r--r-- 1 root root 0 2009-07-01 15:01 teste1
-rw-r--r-- 1 root root 0 2009-07-01 15:01 teste2
-rw-r--r-- 1 root root 0 2009-07-01 15:01 teste4
# ls -l /data/export
# ls -l /data/export
https://www.vivaolinux.com.br/artigos/impressora.php?codigo=10121 10/12
15/12/2022 23:14 Replicando e distribuindo armazenamento de arquivos através de quatro servidores usando Cluster (Gluste…
total 0
-rw-r--r-- 1 root root 0 2009-07-01 15:02 teste3
Vamos agora iniciar o server1 e o server4 e novamente vamos dar uma olhada nos diretórios /data/export de
ambos os servidores com o comando abaixo.
# ls -l /data/export
total 0
-rw-r--r-- 1 root root 0 2009-07-01 15:01 teste1
-rw-r--r-- 1 root root 0 2009-07-01 15:01 teste2
-rw-r--r-- 1 root root 0 2009-07-01 15:01 teste4
-rw-r--r-- 1 root root 0 2009-07-01 15:01 teste5
# ls -l /data/export
total 0
-rw-r--r-- 1 root root 0 2009-07-01 15:02 teste3
-rw-r--r-- 1 root root 0 2009-07-01 15:02 teste6
Como podemos ver o server1 e server4 não tem a notícia que aconteceram mudanças enquanto eles
estavam desligados. Isso é fácil de se resolver, tudo que precisamos fazer é executar o comando de leitura
no compartilhamento da máquina cliente (cliente1.exemplo.com.br).
# ls -l /mnt/glusterfs/
total 0
-rw-r--r-- 1 root root 0 2009-07-01 15:01 teste1
-rw-r--r-- 1 root root 0 2009-07-01 15:01 teste2
-rw-r--r-- 1 root root 0 2009-07-01 15:02 teste3
-rw-r--r-- 1 root root 0 2009-07-01 15:01 teste4
Agora, para confirmar que está tudo funcionando direitinho, caso você execute o comando "ls -l" nos
servidores server1 e server2, verá que as modificações foram replicadas para os mesmos com sucesso.
Enfim, este maravilhoso artigo acabou, fiz algumas modificações nos exemplos e também na tradução para
que a mesma seja de fácil compreensão as amigos que estão iniciando no mundo Linux
(//www.vivaolinux.com.br/linux/).
https://www.vivaolinux.com.br/artigos/impressora.php?codigo=10121 11/12
15/12/2022 23:14 Replicando e distribuindo armazenamento de arquivos através de quatro servidores usando Cluster (Gluste…
Até a próxima!!!
Voltar (verArtigo.php?codigo=10121)
https://www.vivaolinux.com.br/artigos/impressora.php?codigo=10121 12/12