Armazenamento · 2 min read · Feb 07, 2026

Criando um Servidor de Armazenamento Autônomo Semelhante ao NFS Com GlusterFS No Debian Lenny

Este tutorial mostra como configurar um servidor de armazenamento autônomo no Debian Lenny. 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.

Eu 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)
  • client1.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 ele fique da seguinte forma em ambos os sistemas:

vi /etc/hosts

| 127.0.0.1 localhost.localdomain localhost 192.168.0.100 server1.example.com server1 192.168.0.101 client1.example.com client1 # As linhas a seguir são desejáveis para hosts compatíveis com IPv6 ::1 localhost ip6-localhost ip6-loopback fe00::0 ip6-localnet ff00::0 ip6-mcastprefix ff02::1 ip6-allnodes ff02::2 ip6-allrouters ff02::3 ip6-allhosts |

(É 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 dos hosts podem ser resolvidos ou não.)

2 Configurando o Servidor GlusterFS

server1.example.com:

O GlusterFS não está disponível como um pacote Debian para o Debian Lenny, portanto, temos que construí-lo nós mesmos. Primeiro, instalamos os pré-requisitos:

aptitude install sshfs build-essential flex bison byacc libdb4.6 libdb4.6-dev

Em 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.1.tar.gz  
tar xvfz glusterfs-2.0.1.tar.gz  
cd glusterfs-2.0.1  
./configure --prefix=/usr > /dev/null
server1:/tmp/glusterfs-2.0.1# ./configure --prefix=/usr > /dev/null  
  
GlusterFS configure summary  
===========================  
FUSE client        : no  
Infiniband verbs   : no  
epoll IO multiplex : yes  
Berkeley-DB        : yes  
libglusterfsclient : yes  
mod_glusterfs      : no ()  
argp-standalone    : no  
  
server1:/tmp/glusterfs-2.0.1#
make && make install  
ldconfig

O comando

glusterfs --version

deve agora mostrar a versão do GlusterFS que você acabou de compilar (2.0.1 neste caso):

server1:/tmp/glusterfs-2.0.1# glusterfs --version  
glusterfs 2.0.1 built on May 29 2009 17:23:10  
Repository revision: 5c1d9108c1529a1155963cb1911f8870a674ab5b  
Copyright (c) 2006-2009 Z RESEARCH Inc.   
GlusterFS vem com ABSOLUTAMENTE NENHUMA GARANTIA.  
Você pode redistribuir cópias do GlusterFS sob os termos da Licença Pública Geral GNU.  
server1:/tmp/glusterfs-2.0.1#

Em seguida, criamos alguns diretórios:

mkdir /data/  
mkdir /data/export  
mkdir /data/export-ns  
mkdir /etc/glusterfs

Agora 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.101 = client1.example.com):

vi /etc/glusterfs/glusterfsd.vol

| volume posix type storage/posix option directory /data/export end-volume volume locks type features/locks option mandatory-locks on 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.101 # Edite e adicione a lista de clientes permitidos separados por vírgula aqui 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.101,192.168.0.102).

Depois, criamos os links de inicialização do sistema para o script init do glusterfsd…

update-rc.d glusterfsd defaults

… e iniciamos o glusterfsd:

/etc/init.d/glusterfsd start
Share: X/Twitter LinkedIn

Receba novas postagens na sua caixa de entrada

Sem spam. Cancele a assinatura a qualquer momento.