De acordo com as Leis 12.965/2014 e 13.709/2018, que regulam o uso da Internet e o tratamento de dados pessoais no Brasil, ao me inscrever na newsletter do portal DICAS-L, autorizo o envio de notificações por e-mail ou outros meios e declaro estar ciente e concordar com seus Termos de Uso e Política de Privacidade.
Colaboração: André Luiz Facina
Data de Publicação: 26 de Janeiro de 2009
O que é o GlusterFS ?
GlusterFS é um sistema de arquivos para cluster, ou melhor, um sistema de arquivos clusterizável, capaz de escalonar muitos e muitos GigaBytes e distribuí-los via rede, entre vários storages e servidores.
Esse sistema de arquivos trabalha na arquitetura de cliente/servidor, onde você precisará ter um ou vários servidores de arquivos e os clientes se conectarão via rede, por padrão na porta 6996.
No GlusterFS você poderá criar várias estratégias para o armazenamento dos dados, sendo possível criar compartilhamentos estilo NFS, criar armazenamento distribuído, armazenamento distribuído+replicado, dentre outros.
Ao meu ver, a configuração mais interessante é o armazenamento distribuído, onde se pode criar vários servidores de arquivos e distribuir os dados para os clientes em apenas um ponto de montagem, ou seja, quando a máquina cliente gravar os dados no diretório(montado via rede), o GlusterFS se encarregará de realizar um "striping" dos dados entres todos os servidores. O conceito seria basicamente de um RAID 0 via rede, onde cada servidor do GlusterFS receberá uma pequena quantidade dos arquivos enviados pelo cliente, maximizando assim a performance de Leitura/Gravacao. Alguém pode estar se questionando, "E se um servidor resolver parar?". Para ambientes críticos poderá utilizar a configuracão de armazenamento distribuído + replicado.
Para mais informacões, consulte o wiki do projeto.
A distribuição utilizada foi o Ubuntu 8.10, onde todos os pacotes necessários para o GlusterFS já estão disponíveis nos repositórios, e a instalação é muito simples.
# apt-get update # apt-get install glusterfs-server
# apt-get update # apt-get install glusterfs-client
Em ambos(Cliente/Servidor) foi criado um diretório em /etc/glusterfs/ contendo o arquivo de configuração. Eles são "glusterfs-server.vol" para o servidor e "glusterfs-client.vol" para o cliente.
Vamos criar quatro servidores GlusterFS, e o arquivo de configuração
(/etc/glusterfs/glusterfs-server.vol
) para todos eles é o mesmo.
# GlusterFS Server Volume Specification # Exportando o volume "brick" com o conteúdo do diretório /export volume brick type storage/posix option directory /export end-volume # Configuracão de rede para o volume exportado volume server type protocol/server option transport-type tcp/server option listen-port 6996 subvolumes brick option auth.ip.brick.allow * end-volume #EOF
Devemos nos atentar na opcão "option auth.ip.brick.allow *", pois por default o GlusterFS negará o acesso para todos. Com o parâmetro "*" estamos dizendo para permitir o acesso de qualquer host da rede.
# Arquivo: /etc/glusterfs/glusterfs-client.vol # GlusterFS Client Volume Specification volume remote1 type protocol/client option transport-type tcp/client option remote-host 192.168.1.1 option remote-subvolume brick end-volume volume remote2 type protocol/client option transport-type tcp/client option remote-host 192.168.1.2 option remote-subvolume brick end-volume volume remote3 type protocol/client option transport-type tcp/client option remote-host 192.168.1.3 option remote-subvolume brick end-volume volume remote4 type protocol/client option transport-type tcp/client option remote-host 192.168.1.4 option remote-subvolume brick end-volume volume stripe0 type cluster/stripe option block-size 1MB subvolumes remote1 remote2 remote3 remote4 end-volume #EOF
Como podem observar, os arquivos de configurações são bem simples. No cliente fica bem claro que configuramos quatro volumes e em quatro servidores diferentes. Depois criamos um volume chamado stripe0, que é justamente o aglomerado desses quatro volumes.
A utilização é bem simples, primeiro precisamos iniciar o daemon no servidor e depois apenas montamos o volume nos clientes.
# glusterfsd -f /etc/glusterfs/glusterfs-server.vol # ps aux |grep gluster root 4568 0.0 0.2 19028 1264 ? Ssl 16:23 0:00 [glusterfs] root 4601 0.0 0.1 3252 812 pts/0 S+ 16:25 0:00 grep gluster
# glusterfs -f /etc/glusterfs/glusterfs-client.vol /mnt # mount glusterfs on /mnt type fuse (rw,nosuid,nodev,allow_other,default_permissions,max_read=1048576) # df -h glusterfs 7,5G 1,9G 5,7G 25% /mnt
Pronto, agora você pode ter um filesystem clusterizado na sua casa e no seu trabalho ;-)
This policy contains information about your privacy. By posting, you are declaring that you understand this policy:
This policy is subject to change at any time and without notice.
These terms and conditions contain rules about posting comments. By submitting a comment, you are declaring that you agree with these rules:
Failure to comply with these rules may result in being banned from submitting further comments.
These terms and conditions are subject to change at any time and without notice.
Comentários