Replicando e distribuindo armazenamento de arquivos através de quatro servidores usando Cluster (GlusterFs) no Debian Lenny

Este artigo mostra como montar passo-a-passo um cluster com quatro servidores para distribuição de arquivos com alta disponibilidade usando GlusterFS no Debian Lenny.

[ Hits: 44.280 ]

Por: Rodrigo Bonicenha Ferreira em 03/07/2009


Instalando e configurando o GlusterFS na estação cliente



Iremos agora configurar o cliente GlusterFS, em nosso caso no cliente1.exemplo.com.br.

Na estação cliente precisamos instalar o fuse e o GlusterFS. Ao invés de instalar o pacote libfuse2 a partir do repositório do Debian, instalaremos a versão que tem um melhor suporte para GlusterFS.

Primeiro instalamos os pré-requisitos novamente:

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

Então agora pegaremos a última versão do fuse em:
Entremos através do shell no diretório tmp para fazermos o que segue acima:

# cd /tmp
# wget
ftp://ftp.zresearch.com/pub/gluster/glusterfs/fuse/fuse-2.7.4glfs11.tar.gz
# tar -zxvf fuse-2.7.4glfs11.tar.gz
# cd fuse-2.7.4glfs11
# ./configure
# make && make install


Depois baixaremos e instalaremos o GlusterFS (igual fizemos no servidor):

# cd /tmp/
# wget
http://ftp.gluster.com/pub/gluster/glusterfs/2.0/LATEST/glusterfs-2.0.2.tar.gz
# tar -xvfz glusterfs-2.0.2.tar.gz
# cd glusterfs-2.0.2
# ./configure --prefix=/usr > /dev/null
# make && make install
# ldconfig

# glusterfs - -version


Agora criaremos dois diretórios (lembre-se que estamos agora na máquina cliente):

# mkdir /mnt/glustersfs
# mkdir /etc/glusterfs


Agora criaremos o arquivo /etc/glusterfs/glusterfs.vol:

# vi /etc/glusterfs/glusterfs.vol

volume remote1
  type protocol/client
  option transport-type tcp
  option remote-host server1.exemplo.com
  option remote-subvolume brick
end-volume

volume remote2
  type protocol/client
  option transport-type tcp
  option remote-host server2.exemplo.com
  option remote-subvolume brick
end-volume

volume remote3
  type protocol/client
  option transport-type tcp
  option remote-host server3.exemplo.com
  option remote-subvolume brick
end-volume

volume remote4
  type protocol/client
  option transporte-type tcp
  option remote-host server4.exemplo.com
  option remote-subvolume brick
end-volume

volume replicate1
  type cluster/replicate
  subvolumes remote1 remote2
  end-volume
  volume replicate2
  type cluster/replicate
  subvolumes remote3 remote4
end-volume

volume distribute
  type cluster/distribute
  subvolumes replicate1 replicate2
end-volume

volume writebehind
  type performance/write-behind
  option window-size 1MB
  subvolumes distribute
end-volume

volume cache
  type performance/io-cache
  option cache-size 512MB
  subvolumes wirtebehind
end-volume

Tenha certeza que você usou o hostname ou endereço IP correto na opção option remote-host.

Bem pessoal, é somente isso! Agora podemos montar o sistema de arquivos GlusterFS em /mnt/glusterfs com um dos seguintes comandos:

# glusterfs -f /etc/glusterfs/glusterfs.vol /mnt/glusterfs
ou
# mount -t glusterfs /etc/glusterfs/glusterfs.vol /mnt/glusterfs

Agora você já pode ver o novo compartilhamento montado com o comando abaixo:

# df -h

Com este comando devem aparecer as unidades montadas em seu sistema, entre as informações que aparecerão, se tudo correr bem deve ter uma linha como a abaixo:

/etc/glusterfs/glusterfs.vol xxxGB xxxGB XXX% /mnt/glusterfs

Onde xxx são os respectivos espaços em seu NOVO STORAGE!

Atente para o seguinte... O tamanho de seu ARMAZENAMENTO DISTRIBUÍDO é calculado através da replication1 + replication2.

Ao invés de montar o compartilhamento GlusterFS manualmente no cliente, podemos modificar nosso querido /etc/fstab para que tudo seja montado automaticamente na hora do boot.

Adicione a linha abaixo usando o vi ou qualquer editor de texto de sua preferência.

# vi /etc/fstab

/etc/glusterfs/glusterfs.vol /mnt/glusterfs glusterfs defaults 0 0

Reinicie o computador cliente e verifique se o ponto de montagem funcionou corretamente. Após o boot execute o comando "df -h" e verifique se o ponto de montagem aparece.

Página anterior     Próxima página

Páginas do artigo
   1. Notas Preliminares
   2. O que temos que saber antes de começar?
   3. Metendo a mão na massa - Configurando os servidores
   4. Instalando e configurando o GlusterFS na estação cliente
   5. Verificando configurações
   6. Verificando e testando alta disponibilidade
Outros artigos deste autor
Nenhum artigo encontrado.
Leitura recomendada

Recuperando arquivos em um Windows corrompido com Linux

NFS rápido e direto usando Slackware 12

Instalando e configurando o NTFS-3G 1.0 final

Montando HD, Pendrive ou Pasta de Rede para Gravações de Ligações do Elastix e Módulo de Call Center

Montando Volumes no Docker

  
Comentários
[1] Comentário enviado por dastyler em 03/07/2009 - 17:44h

Òtimo artigo!!

Fico imaginando como funcionaria em apenas dois computadores com tudo isso virtualizado...aff...:-P
Sem contar que achei mais simples do que a tradicional dobradinha DRDB + heartbeat...

Vou testar a solução em um ambiente virtualizado para ver se funfa..vai ajudar bastanta a resolver problemas de disponibilidade essa solução!!

[]´s




[2] Comentário enviado por kernel_rj em 03/07/2009 - 18:26h

Para que você não fique somente imaginando, lhe respondo agora!!!! (Esse ambiente foi totalmente virtualizado através do virtual box...) heheheheehehehehehe...
Se no virtual box funcionou perfeitamente, imagina no XEN ou VMWARE???
Abs,

[3] Comentário enviado por cvs em 04/07/2009 - 09:28h

Bastante interessante...
Testar isso também..
Valeu pelo texto.

[4] Comentário enviado por tomassoni em 07/07/2009 - 12:05h

Amigo, gostei muito do artigo achei aparentemente fácil de implemntar apesar de não ter colocado a mão na massa.
Mas estou com uma dúvida:
Tenho hoje um servidor de arquivos, samba, vamos supor que eu queira implementar o seu artigo, hoje tenho um diretorio Ex: /arquivosnarede e dentro dele um diretório para cada departamento /arquivosnarede/sac /arquivosnarede/financeiro etc.
Eu consigo apontar para esse diretório ao invés do seu /data/export ?
Se já tenho tudo lá, inclusive o conteúdo :), na primeira configuração/inicialização o GlusterFs irá realizar a replica dos existentes? Gostaria de usar entre duas máquinas, o meu servidor de arquivos e mais a réplica, isso é possível?


Agradeço desde de ja atenção.

[5] Comentário enviado por marcelohcm em 26/08/2016 - 16:00h

quando vou fazer a montagem no cliente da erro
root@noc-05:/# glusterfs -f /etc/glusterfs/glusterfs-client.vol /media/glusterfs/
root@noc-05:/# df -h
df: “/media/glusterfs”: Ponto final de transporte não está conectado


alguem pode me ajudar? as maquinas se resolvem na rede


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts