GlusterFS Tutorial · 3 min read · Feb 05, 2026
Striping Across Four Storage Nodes With GlusterFS On CentOS 5.4
Este tutorial mostra como fazer striping de dados (segmentação de dados logicamente sequenciais, como um único arquivo, de modo que os segmentos possam ser atribuídos a vários dispositivos físicos de forma round-robin e, assim, escritos simultaneamente) em quatro servidores de armazenamento individuais (executando CentOS 5.4) com GlusterFS. O sistema cliente (CentOS 5.4 também) poderá acessar o armazenamento como se fosse um sistema de arquivos local. GlusterFS é um sistema de arquivos em cluster capaz de escalar para vários petabytes. Ele agrega vários bricks de armazenamento sobre Infiniband RDMA ou TCP/IP em um grande sistema de arquivos de rede paralelo. Os bricks de armazenamento podem ser feitos de qualquer hardware comum, como servidores x86_64 com RAID SATA-II e HBA Infiniband.
Por favor, note que esse tipo de armazenamento não fornece nenhum recurso de alta disponibilidade/tolerância a falhas, como seria o caso com armazenamento replicado.
Não dou nenhuma garantia de que isso funcionará para você!
1 Nota Preliminar
Neste tutorial, uso cinco sistemas, quatro servidores e um cliente:
- server1.example.com: endereço IP 192.168.0.100 (servidor)
- server2.example.com: endereço IP 192.168.0.101 (servidor)
- server3.example.com: endereço IP 192.168.0.102 (servidor)
- server4.example.com: endereço IP 192.168.0.103 (servidor)
- client1.example.com: endereço IP 192.168.0.104 (cliente)
Todos os cinco sistemas devem ser capazes de resolver os nomes dos outros sistemas. Se isso não puder ser feito através do DNS, você deve editar o arquivo /etc/hosts para que ele contenha as seguintes linhas em todos os cinco sistemas:
vi /etc/hosts| [...] 192.168.0.100 server1.example.com server1 192.168.0.101 server2.example.com server2 192.168.0.102 server3.example.com server3 192.168.0.103 server4.example.com server4 192.168.0.104 client1.example.com client1 [...] |
(Também é possível usar endereços IP em vez de nomes de host na configuração a seguir. Se você preferir usar endereços IP, não precisa se preocupar se os nomes de host podem ser resolvidos ou não.)
2 Configurando Os Servidores GlusterFS
server1.example.com/server2.example.com/server3.example.com/server4.example.com:
GlusterFS não está disponível como um pacote para CentOS 5.4, portanto, precisamos construí-lo nós mesmos. Primeiro, instalamos os pré-requisitos:
yum groupinstall 'Development Tools'yum groupinstall 'Development Libraries'yum install libibverbs-devel fuse-develEm seguida, baixamos a versão mais recente do GlusterFS de http://www.gluster.org/download.php e a construímos da seguinte forma:
cd /tmp
wget http://ftp.gluster.com/pub/gluster/glusterfs/2.0/LATEST/glusterfs-2.0.9.tar.gz
tar xvfz glusterfs-2.0.9.tar.gz
cd glusterfs-2.0.9
./configureNo final do comando ./configure, você deve ver algo como isto:
[...]
GlusterFS configure summary
===========================
FUSE client : yes
Infiniband verbs : yes
epoll IO multiplex : yes
Berkeley-DB : yes
libglusterfsclient : yes
argp-standalone : no
[root@server1 glusterfs-2.0.9]#make && make install
ldconfigVerifique a versão do GlusterFS depois (deve ser 2.0.9):
glusterfs --version[root@server1 glusterfs-2.0.9]# glusterfs --version
glusterfs 2.0.9 built on Mar 1 2010 15:34:50
Repository revision: v2.0.9
Copyright (c) 2006-2009 Gluster Inc.
GlusterFS vem com ABSOLUTAMENTE NENHUMA GARANTIA.
Você pode redistribuir cópias do GlusterFS sob os termos da Licença Pública Geral GNU.
[root@server1 glusterfs-2.0.9]# Em seguida, criamos alguns diretórios:
mkdir /data/
mkdir /data/export
mkdir /data/export-ns
mkdir /etc/glusterfsAgora criamos o arquivo de configuração do servidor GlusterFS /etc/glusterfs/glusterfsd.vol que define qual diretório será exportado (/data/export) e qual cliente está autorizado a se conectar (192.168.0.104 = client1.example.com):
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/server option auth.addr.brick.allow 192.168.0.104 subvolumes brick end-volume |
Por favor, note que é possível usar curingas para os endereços IP (como 192.168.*) e que você pode especificar vários endereços IP separados por vírgula (por exemplo, 192.168.0.104,192.168.0.105).
Depois, criamos o seguinte link simbólico…
ln -s /usr/local/sbin/glusterfsd /sbin/glusterfsd… e então os links de inicialização do sistema para o servidor GlusterFS e o iniciamos:
chkconfig --levels 35 glusterfsd on
/etc/init.d/glusterfsd startReceba novas postagens na sua caixa de entrada
Sem spam. Cancele a assinatura a qualquer momento.