Linux slogan
Visite também: Segurança Linux · BR-Linux.org · Dicas-L · Doode · NoticiasLinux · SoftwareLivre.org · UnderLinux



» Screenshot
Linux: Segundo Screenshot
Por TheHunter
» Login
Login:
Senha:

Se você ainda não possui uma conta, clique aqui.

Esqueci minha senha


Dica

GlusterFS - Cluster de Filesystem no Linux
Linux user
Publicado por Andre Luiz Facina em 20/01/2009

Login: netbug, 172428 pontos
[ Hits: 6468 ]

GlusterFS - Cluster de Filesystem no Linux

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/Gravação.

Alguém pode estar se questionando, "E se um servidor resolver parar?". Para ambientes críticos poderá utilizar a configuração de armazenamento distribuído + replicado. Para maiores informações, veja o wiki do GlusterFS.

Instalação

A distribuição Linux 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.

Nos servidores:

# apt-get update
# apt-get install glusterfs-server


Nos clientes:

# 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.

Configuração do servidor

Vamos criar quatro servidores GlusterFS e o arquivo de configuração para todos eles é o mesmo.

# file: /etc/glusterfs/glusterfs-server.vol

##############################################
###  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

# Configuraçã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 opçã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.

Configuração do cliente

# file: /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.

Utilização

A utilização é bem simples, primeiro precisamos iniciar o daemon no servidor e depois apenas montamos o volume nos clientes.

Servidor:

# 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

Cliente:

# 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. ;-)

André Luiz Facina


Outras dicas deste autor

Leitura recomendada
   Dica Linux recomendada Recuperando HDs com LVM no Linux
   Dica Linux recomendada Trocar senha do SAMBA via estações Windows pelo próprio usuário
   Dica Linux recomendada Acessando partições NTFS no RedHat 9 sem recompilar kernel
   Dica Linux recomendada Configurando o fantástico CVS para Conectiva, Mandrake e Red Hat
   Dica Linux recomendada Sistema de quota em ReiserFS

Comentários
[1] Comentário enviado por jonatas_barbosa em 18/06/2009 - 16:42h:

Olá André,
Parabéns pelo artigo foi muito proveitoso e esclarecedor para mim. Mas tenho uma dúvida como procedemos com um cliente windows?

Agradecido

Jonatas Barbosa


Contribuir com comentário


  
Para executar esta ação você precisa estar logado no site, caso contrário, tudo o que for digitado será perdido.
Responsável pelo site: Fábio Berbert de Paula - Conteúdo distribuído sob licença GNU FDL
Site hospedado por:

Viva o Linux

A maior comunidade Linux da América Latina! Artigos, dicas, tutoriais, fórum, scripts e muito mais. Ideal para quem busca auto-ajuda em Linux.