Armazenamento · 4 min read · Feb 05, 2026

Criando Um Servidor de Armazenamento Autônomo Semelhante ao NFS Com GlusterFS 3.2.x No CentOS 6.3

Este tutorial mostra como configurar um servidor de armazenamento autônomo no CentOS 6.3. Em vez de NFS, eu usarei o GlusterFS aqui. O sistema cliente poderá acessar o armazenamento como se fosse um sistema de arquivos local. O GlusterFS é um sistema de arquivos em cluster capaz de escalar para vários petabytes. Ele agrega vários blocos de armazenamento sobre Infiniband RDMA ou TCP/IP em um grande sistema de arquivos de rede paralelo. Os blocos de armazenamento podem ser feitos de qualquer hardware comum, como servidores x86_64 com RAID SATA-II e HBA Infiniband.

Não dou nenhuma garantia de que isso funcionará para você!

1 Nota Preliminar

Neste tutorial, eu uso dois sistemas, um servidor e um cliente:

  • server1.example.com: endereço IP 192.168.0.100 (servidor)
  • server2.example.com: endereço IP 192.168.0.101 (cliente)

Ambos os sistemas devem ser capazes de resolver o nome do host do outro sistema. Se isso não puder ser feito através do DNS, você deve editar o arquivo /etc/hosts para que fique assim em ambos os sistemas:

vi /etc/hosts

| 127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4 192.168.0.100 server1.example.com server1 192.168.0.101 server2.example.com server2 ::1 localhost localhost.localdomain localhost6 localhost6.localdomain6 |

(É 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 Habilitar Repositórios Adicionais

server1/server2:

Primeiro, importamos as chaves GPG para pacotes de software:

rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY*

Então, habilitamos o repositório EPEL6 em nossos dois sistemas CentOS:

rpm --import https://fedoraproject.org/static/0608B895.txt
cd /tmp  
wget http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-7.noarch.rpm  
rpm -ivh epel-release-6-7.noarch.rpm
yum install yum-priorities

Edite /etc/yum.repos.d/epel.repo…

vi /etc/yum.repos.d/epel.repo

… e adicione a linha priority=10 à seção [epel]:

| [epel] name=Pacotes Extras para o Linux Empresarial 6 - $basearch #baseurl=http://download.fedoraproject.org/pub/epel/6/$basearch mirrorlist=https://mirrors.fedoraproject.org/metalink?repo=epel-6&arch=$basearch failovermethod=priority enabled=1 priority=10 gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-6 [...] |

3 Configurando O Servidor GlusterFS

server1.example.com:

O GlusterFS está disponível como um pacote para EPEL, portanto, podemos instalá-lo da seguinte forma:

yum install glusterfs-server

Crie os links de inicialização do sistema para o daemon Gluster e inicie-o:

chkconfig --levels 235 glusterd on  
/etc/init.d/glusterd start

O comando

glusterfsd --version

deverá agora mostrar a versão do GlusterFS que você acabou de instalar (3.2.7 neste caso):

[root@server1 ~]# glusterfsd --version  
glusterfs 3.2.7 built on Jun 11 2012 13:22:28  
Repository revision: git://git.gluster.com/glusterfs.git  
Copyright (c) 2006-2011 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 ~]#

Se você usar um firewall, certifique-se de que as portas TCP 111, 24007, 24008, 24009-(24009 + número de blocos em todos os volumes) estejam abertas em server1.example.com.

Em seguida, criamos o compartilhamento chamado testvol no localhost (= server1) no diretório /data (este será criado se não existir):

gluster volume create testvol server1.example.com:/data
[root@server1 ~]# gluster volume create testvol server1.example.com:/data  
A criação do volume testvol foi bem-sucedida. Por favor, inicie o volume para acessar os dados.  
[root@server1 ~]#

Inicie o volume:

gluster volume start testvol

Você pode verificar o status do volume com o comando

gluster volume info
[root@server1 ~]# gluster volume info
Nome do Volume: testvol  
Tipo: Distribuído  
Status: Iniciado  
Número de Blocos: 1  
Tipo de Transporte: tcp  
Blocos:  
Bloco1: server1.example.com:/data  
[root@server1 ~]#

Se disser que o volume está iniciado, tudo está bem, caso contrário, basta iniciá-lo novamente.

Por padrão, todos os clientes podem se conectar ao volume. Se você quiser conceder acesso apenas a client1.example.com (= 192.168.0.101), execute:

gluster volume set testvol auth.allow 192.168.0.101

Observe 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.101,192.168.0.102).

As informações do volume agora devem mostrar o status atualizado:

gluster volume info
[root@server1 ~]# gluster volume info
Nome do Volume: testvol  
Tipo: Distribuído  
Status: Iniciado  
Número de Blocos: 1  
Tipo de Transporte: tcp  
Blocos:  
Bloco1: server1.example.com:/data  
Opções Reconfiguradas:  
auth.allow: 192.168.0.101  
[root@server1 ~]#
 

4 Configurando O Cliente GlusterFS

server2.example.com:

No cliente, podemos instalar o cliente GlusterFS da seguinte forma:

yum install glusterfs-client

Em seguida, criamos o seguinte diretório:

mkdir /mnt/glusterfs

É isso! Agora podemos montar o sistema de arquivos GlusterFS em /mnt/glusterfs com o seguinte comando:

mount.glusterfs server1.example.com:/testvol /mnt/glusterfs

Agora você deve ver o novo compartilhamento nas saídas de…

mount
[root@server2 ~]# mount  
/dev/mapper/vg_client1-LogVol00 on / type ext4 (rw)  
proc on /proc type proc (rw)  
sysfs on /sys type sysfs (rw)  
devpts on /dev/pts type devpts (rw,gid=5,mode=620)  
tmpfs on /dev/shm type tmpfs (rw)  
/dev/sda1 on /boot type ext4 (rw)  
nome on /proc/sys/fs/binfmt_misc type binfmt_misc (rw)  
sunrpc on /var/lib/nfs/rpc_pipefs type rpc_pipefs (rw)  
server1.example.com:/testvol on /mnt/glusterfs type fuse.glusterfs (rw,allow_other,default_permissions,max_read=131072)  
[root@server2 ~]#

… e…

df -h
[root@server2 ~]# df -h  
Sistema de Arquivos            Tamanho  Usado  Disponível Uso% Montado em  
/dev/mapper/vg_client1-LogVol00  
                             9.7G  1.7G  7.5G  19% /  
tmpfs                     499M     0  499M   0% /dev/shm  
/dev/sda1                 504M   39M  440M   9% /boot  
server1.example.com:/testvol  
                             9.7G  1.7G  7.5G  19% /mnt/glusterfs  
[root@server2 ~]#

Em vez de montar o compartilhamento GlusterFS manualmente no cliente, você pode modificar /etc/fstab para que o compartilhamento seja montado automaticamente quando o cliente inicializa.

Abra /etc/fstab e acrescente a seguinte linha:

vi /etc/fstab

| [...] server1.example.com:/testvol /mnt/glusterfs glusterfs defaults,_netdev 0 0 |

Para testar se sua modificação em /etc/fstab está funcionando, reinicie o cliente:

reboot

Após a reinicialização, você deve encontrar o compartilhamento nas saídas de…

df -h

… e…

mount

5 Links

Share: X/Twitter LinkedIn

Receba novas postagens na sua caixa de entrada

Sem spam. Cancele a assinatura a qualquer momento.