Armazenamento GlusterFS · 4 min read · Feb 09, 2026
Criando Um Servidor de Armazenamento Autônomo Semelhante ao NFS Com GlusterFS 3.0.x No Debian Squeeze
Este tutorial mostra como configurar um servidor de armazenamento autônomo no Debian Squeeze. Em vez de NFS, 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, 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 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 |
(É 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 está disponível como um pacote para o Debian Squeeze, portanto, podemos instalá-lo da seguinte forma:
apt-get install glusterfs-serverO comando
glusterfs --versiondeve agora mostrar a versão do GlusterFS que você acabou de instalar (3.0.5 neste caso):
root@server1:~# glusterfs --version
glusterfs 3.0.5 built on Jul 13 2010 16:44:21
Repository revision: v3.0.5
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:~# Em seguida, criamos alguns diretórios:
mkdir /data/
mkdir /data/export
mkdir /data/export-nsAgora criamos o arquivo de configuração do servidor GlusterFS /etc/glusterfs/glusterfsd.vol (fazemos um backup do arquivo original /etc/glusterfs/glusterfsd.vol primeiro) que define qual diretório será exportado (/data/export) e qual cliente está autorizado a se conectar (192.168.0.101 = client1.example.com):
cp /etc/glusterfs/glusterfsd.vol /etc/glusterfs/glusterfsd.vol_orig
cat /dev/null > /etc/glusterfs/glusterfsd.vol
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 |
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).
Depois, iniciamos o servidor GlusterFS:
/etc/init.d/glusterfs-server start3 Configurando O Cliente GlusterFS
client1.example.com:
No cliente, podemos instalar o cliente GlusterFS da seguinte forma:
apt-get install glusterfs-clientEm seguida, criamos o seguinte diretório:
mkdir /mnt/glusterfsEm seguida, criamos o arquivo /etc/glusterfs/glusterfs.vol (fazemos um backup do arquivo original /etc/glusterfs/glusterfs.vol primeiro):
cp /etc/glusterfs/glusterfs.vol /etc/glusterfs/glusterfs.vol_orig
cat /dev/null > /etc/glusterfs/glusterfs.vol
vi /etc/glusterfs/glusterfs.vol| volume remote type protocol/client option transport-type tcp option remote-host server1.example.com # pode ser IP ou nome de host option remote-subvolume brick end-volume volume writebehind type performance/write-behind option window-size 4MB subvolumes remote end-volume volume cache type performance/io-cache option cache-size 512MB subvolumes writebehind end-volume |
Certifique-se de usar o nome de host ou endereço IP correto do servidor na linha option remote-host!
É isso! Agora podemos montar o sistema de arquivos GlusterFS em /mnt/glusterfs com um dos seguintes dois comandos:
glusterfs -f /etc/glusterfs/glusterfs.vol /mnt/glusterfsou
mount -t glusterfs /etc/glusterfs/glusterfs.vol /mnt/glusterfsAgora você deve ver o novo compartilhamento nas saídas de…
mountroot@client1:~# mount
/dev/sda1 on / type ext3 (rw,errors=remount-ro)
tmpfs on /lib/init/rw type tmpfs (rw,nosuid,mode=0755)
proc on /proc type proc (rw,noexec,nosuid,nodev)
sysfs on /sys type sysfs (rw,noexec,nosuid,nodev)
udev on /dev type tmpfs (rw,mode=0755)
tmpfs on /dev/shm type tmpfs (rw,nosuid,nodev)
devpts on /dev/pts type devpts (rw,noexec,nosuid,gid=5,mode=620)
fusectl on /sys/fs/fuse/connections type fusectl (rw)
/etc/glusterfs/glusterfs.vol on /mnt/glusterfs type fuse.glusterfs (rw,allow_other,default_permissions,max_read=131072)
root@client1:~#… e…
df -hroot@client1:~# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda1 29G 778M 27G 3% /
tmpfs 249M 0 249M 0% /lib/init/rw
udev 244M 100K 244M 1% /dev
tmpfs 249M 0 249M 0% /dev/shm
/etc/glusterfs/glusterfs.vol
29G 1.2G 27G 5% /mnt/glusterfs
root@client1:~#Em vez de montar o compartilhamento GlusterFS manualmente no cliente, você poderia modificar /etc/fstab para que o compartilhamento seja montado automaticamente quando o cliente inicializa.
Abra /etc/fstab e adicione a seguinte linha:
vi /etc/fstab| [...] /etc/glusterfs/glusterfs.vol /mnt/glusterfs glusterfs defaults,_netdev 0 0 |
Para testar se sua modificação em /etc/fstab está funcionando, reinicie o cliente:
rebootApós a reinicialização, você deve encontrar o compartilhamento nas saídas de…
df -h… e…
mountSe modificar /etc/fstab não ajudar, desfaça sua alteração em /etc/fstab e adicione esta linha em /etc/rc.local em vez disso (antes da linha exit 0):
vi /etc/rc.local| [...] /bin/mount -t glusterfs /etc/glusterfs/glusterfs.vol /mnt/glusterfs [...] |
Isso garante que o compartilhamento seja montado após a rede estar ativa.
4 Links
- GlusterFS: http://www.gluster.org/
- Debian: http://www.debian.org/
Receba novas postagens na sua caixa de entrada
Sem spam. Cancele a assinatura a qualquer momento.