Armazenamento · 4 min read · Feb 11, 2026
Criando Um Servidor de Armazenamento Autônomo Semelhante ao NFS Com GlusterFS 3.2.x No Debian Wheezy
Este tutorial mostra como configurar um servidor de armazenamento autônomo no Debian Wheezy. Em vez de NFS, usarei o GlusterFS aqui. O sistema cliente 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 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 assim 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 de host podem ser resolvidos ou não.)
2 Configurando O Servidor GlusterFS
server1.example.com:
O GlusterFS está disponível como um pacote para Debian Wheezy, portanto, podemos instalá-lo da seguinte forma:
apt-get install glusterfs-serverO comando
glusterfsd --versiondeverá 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 Nov 12 2012 19:30:08
Repository revision: git://git.gluster.com/glusterfs.git
Copyright (c) 2006-2011 Gluster Inc. http://www.gluster.com
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:/dataroot@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É possível que o comando acima lhe diga que a ação não foi bem-sucedida:
root@server1:~# gluster volume start testvol
Iniciar o volume testvol não foi bem-sucedido
root@server1:~#
Você pode verificar o status do volume com o comando
gluster volume inforoot@server1:~# gluster volume infoNome do Volume: testvol
Tipo: Distribuir
Status: Iniciado
Número de Blocos: 1
Tipo de Transporte: tcp
Blocos:
Brick1: server1.example.com:/data
root@server1:~#
Se ele lhe 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.101Observe 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 inforoot@server1:~# gluster volume infoNome do Volume: testvol
Tipo: Distribuir
Status: Iniciado
Número de Blocos: 1
Tipo de Transporte: tcp
Blocos:
Brick1: server1.example.com:/data
Opções Reconfiguradas:
auth.allow: 192.168.0.101
root@server1:~#
3 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/glusterfsÉ isso! Agora podemos montar o sistema de arquivos GlusterFS em /mnt/glusterfs com o seguinte comando:
mount.glusterfs server1.example.com:/testvol /mnt/glusterfsAgora você deve ver o novo compartilhamento nas saídas de…
mountroot@client1:~# mount
sysfs on /sys type sysfs (rw,nosuid,nodev,noexec,relatime)
proc on /proc type proc (rw,nosuid,nodev,noexec,relatime)
odev on /dev type devtmpfs (rw,relatime,size=10240k,nr_inodes=126813,mode=755)
devpts on /dev/pts type devpts (rw,nosuid,noexec,relatime,gid=5,mode=620,ptmxmode=000)
tmpfs on /run type tmpfs (rw,nosuid,noexec,relatime,size=102704k,mode=755)
/dev/mapper/server1-root on / type ext4 (rw,relatime,errors=remount-ro,user_xattr,barrier=1,data=ordered)
tmpfs on /run/lock type tmpfs (rw,nosuid,nodev,noexec,relatime,size=5120k)
tmpfs on /run/shm type tmpfs (rw,nosuid,nodev,noexec,relatime,size=205400k)
/dev/sda1 on /boot type ext2 (rw,relatime,errors=continue)
rpc_pipefs on /var/lib/nfs/rpc_pipefs type rpc_pipefs (rw,relatime)
server1.example.com:/testvol on /mnt/glusterfs type fuse.glusterfs (rw,relatime,user_id=0,group_id=0,default_permissions,allow_other,max_read=131072)
fusectl on /sys/fs/fuse/connections type fusectl (rw,relatime)
root@client1:~#
… e…
df -hroot@client1:~# df -h
Sistema de arquivos Tamanho Usado Disponível Uso% Montado em
rootfs 29G 1.2G 26G 5% /
udev 10M 0 10M 0% /dev
tmpfs 101M 240K 101M 1% /run
/dev/mapper/server1-root 29G 1.2G 26G 5% /
tmpfs 5.0M 0 5.0M 0% /run/lock
tmpfs 201M 0 201M 0% /run/shm
/dev/sda1 228M 18M 199M 9% /boot
server1.example.com:/testvol 29G 1.2G 26G 5% /mnt/glusterfs
root@client1:~#
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 adicione a seguinte linha:
vi /etc/fstab | [...] server1.example.com:/testvol /mnt/glusterfs glusterfs defaults,_netdev 0 0 |
Para testar se sua modificação no /etc/fstab está funcionando, reinicie o cliente:
rebootApós a reinicialização, você deve encontrar o compartilhamento nas saídas de…
df -h… e…
mount4 Links
- GlusterFS: http://www.gluster.org/
- Documentação do GlusterFS 3.2: http://download.gluster.com/pub/gluster/glusterfs/3.2/Documentation/AG/html/index.html
- Debian: http://www.debian.org/
Receba novas postagens na sua caixa de entrada
Sem spam. Cancele a assinatura a qualquer momento.