MooseFS - Sistema de arquivos distribuído

MooseFS é sistema de arquivos distribuído por vários equipamentos em rede, tolerante a falhas e altamente expansível. Neste artigo, vamos entender como o MooseFS funciona, bem como instalar, configurar, usar e ver como é fácil expandir o volume de forma transparente para o usuário.

[ Hits: 14.742 ]

Por: Ricardo Lino Olonca em 11/04/2014


Instalação



Instalação do backup (metalogger)

É importante ter, também, um servidor de backup, que a documentação do MooseFS chama de metalogger. A instalação é semelhante ao master:

# groupadd mfs
# useradd -g mfs mfs
# cd /usr/src
# tar -zxvf mfs-1.6.15.tar.gz
# cd mfs-1.6.15

#./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var/lib --with-default-user=mfs --with-default-group=mfs --disable-mfschunkserver --disable-mfsmount

# make
# make install
# cd /etc/mfs
# cp mfsmetalogger.cfg.dist mfsmetalogger.cfg


Adicione o servidor master no /etc/hosts:

192.168.56.1 mfsmaster

Agora, vamos subir o serviço:

# /usr/sbin/mfsmetalogger start

Agora, já podemos ver o servidor backup através da interface gráfica:
Linux: MooseFS - Sistema de arquivos distribuído

Agora, vamos instalar o servidores que realmente armazenarão os dados. A documentação chama-os de chunkservers.

Instalação dos chunkservers

A instalação dos chunkserver é bem semelhante aos demais, mudando apenas alguns parâmetros no ./configure:

# groupadd mfs
# useradd -g mfs mfs
# cd /usr/src
# tar -zxvf mfs-1.6.15.tar.gz
# cd mfs-1.6.15

# ./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var/lib --with-default-user=mfs --with-default-group=mfs --disable-mfsmaster

# make
# make install
# cd /etc/mfs
# cp mfschunkserver.cfg.dist mfschunkserver.cfg
# cp mfshdd.cfg.dist mfshdd.cfg


Dentro do arquivo mfshdd.cfg, você diz quais são as pastas que serão usadas no MooseFS. Seguindo o exemplo da documentação, incluímos duas pastas:
  • /mnt/mfschunks1
  • /mnt/mfschunks2

Salve o arquivo. Agora, vamos dar as permissões apropriadas para as pastas:

# chown -R mfs:mfs /mnt/mfschunks1
# chown -R mfs:mfs /mnt/mfschunks2


Não podemos esquecer de colocar o master no /etc/hosts:

192.168.56.1 mfsmaster

Agora, é só subir o serviço:

# /usr/sbin/mfschunkserver start

Agora, podemos ver o primeiro servidor chunk na interface gráfica:
Linux: MooseFS - Sistema de arquivos distribuído

Da mesma forma, instalamos o segundo chunkserver:
Linux: MooseFS - Sistema de arquivos distribuído

Você pode instalar mais servidores de chunk, se quiser.

Instalação do cliente

Vamos instalar o cliente, ou seja, a estação que acessará os dados. Primeiro, vamos instalar o FUSE:

# apt-get install fuse

Agora, vamos instalar o MooseFS:

# ./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var/lib --with-default-user=mfs --with-default-group=mfs --disable-mfschunkserver --disable-mfsmaster --disable-mfsmount

# make
# make install


Adicione a linha abaixo, no arquivo /etc/hosts:

192.168.56.1 mfsmaster

Criamos o ponto de montagem:

# mkdir -p /mnt/mfs

E agora, vamos montar o disco:

# /usr/bin/mfsmount /mnt/mfs -H mfsmaster

Agora, podemos executar um df para ver o espaço em disco disponível:

df -h /mnt/mfs
Sist. Arq. Tam Usad Dispon. Uso% Montado em
mfsmaster:9421 31G 3,4G 28G 11% /mnt/mfs


Repare que o espaço total é a soma de todos os três servidores de chunk. Temos 31 GB de espaço, sendo 3.4 disponível:
Linux: MooseFS - Sistema de arquivos distribuído

No menu Mount, da interface WEB, podemos ver os clientes que estão usando o serviço MooseFS:
Linux: MooseFS - Sistema de arquivos distribuído

Para aumentar o espaço disponível no MooseFS é só adicionar outros chunkservers.

Página anterior    

Páginas do artigo
   1. Conceito e instalação do master
   2. Instalação
Outros artigos deste autor

Entendendo TCP/IP (Parte 6) - Firewall

Deduplicação com LessFS

Problemas encontrados na adoção do IPv6

Entendendo TCP/IP (Parte 5) - Portas TCP/UDP

Entendendo o TCP/IP

Leitura recomendada

Sistemas de arquivos para GNU/Linux

Discos Virtuais na Amazon WS - Como expandir disco EBS em servidores virtuais Amazon WS

Sistemas de arquivos EXT3 e ReiserFS no GNU/Linux

Esquemas de particionamento e sistemas de arquivos

Sistemas de arquivos no Unix - Arquivos, Diretórios e Partições

  
Comentários
[1] Comentário enviado por jonesvital em 03/01/2015 - 16:39h

Parabéns pelo artigo. Muito bem explicado e fácil de entender. Eu montei um ambiente parecido com o do artigo e funcionou muito bem. O desempenho foi melhor do que eu esperava, principalmente por ser um ambiente de apenas de máquinas virtuais. O MooseFS é realmente um sistema incrível. Tive que fazer apenas uma pequena alteração na instalação dos clientes. No comando ./configure NÃO podia incluir o parâmetro "--disable-mfsmount". Pois se eu incluísse, o comando "/usr/bin/mfsmount /mnt/mfs -H mfsmaster" retornava "/usr/bin/mfsmount: Arquivo ou diretorio não encontrado". Simplesmente exclui o parâmetro, reinstalei e funcionou perfeitamente.

Só tenho uma dúvida, eu precisava que maquinas Rwindows tivessem acesso ao sistema como clientes, vc saberia como instalar?

Mais uma vez, parabéns pelo artigo!!!

[2] Comentário enviado por ricardoolonca em 03/01/2015 - 22:39h

Ola, jonesvital. Obrigado pelo comentário.

Quando escrevi o artigo não havia suporte para Windows. Para fazer isso eu instalo o Samba no Mfsmaster.

Hoje eu uso o Moosefs com 6 servidores totalizando 5Tb. Na maquina menor eu instslei o sistema operacional em um raid 1 utilizando 2 discos de 40Gb e os dados do MFS ficam em 5 discos de 80Gb em raid 5 totalizando 320Gb. Funciona muito bem. Só é necessário monitorar quando um disco da problema.

[3] Comentário enviado por jonesvital em 05/01/2015 - 10:19h

Bom dia Ricardo,

Eu instalei o samba no mfsmaster, mas não funcionou, tem que fazer alguma configuração específica no samba? qual pasta deve ser compartilhada?

[4] Comentário enviado por ricardoolonca em 05/01/2015 - 10:49h

No meu caso do Mfsmaster também é o cliente, mas você pode instalar o samba na máquina que roda o mfsmount. Ou seja, na máquina em que você rodar o comando "/usr/bin/mfsmount /mnt/mfs -H mfsmaster" instale o samba e compartilhe a pasta /mnt/mfs.

[5] Comentário enviado por jonesvital em 05/01/2015 - 11:38h

Desculpe a pergunta, mas isso não quebra o paralelismo do sistema? Se vc coloca o mfsmaster como cliente dele msm e compartilha a pasta que ele monta, os arquivos não acabam passando pelo próprio master tbm? Pq pelo que eu entendi na documentação do MooseFS, o master funciona apenas como um "catalogo de endereços" (link: http://www.moosefs.org/), onde ele apenas diz onde estão os arquivos e os próprios clientes vão buscar os arquivos nos respectivos chunkservers. Isso não geraria um gargalo no master? Por favor, me corrija se eu estiver errado!!

[6] Comentário enviado por ricardoolonca em 06/01/2015 - 11:47h

Correto, jonesvital. O ideal é ter o Mfsmaster somente como master, mesmo. Se você tiver como usar um servidor somente como cliente é bem melhor colocar o samba neste cliente. Então este servidor será cliente do MFS e ao mesmo tempo servidor do Samba. Mas nem sempre isso é possível. No meu caso o Mfsmaster é um servidor um pouco mais parrudo em termos de processamento e memória do que os chunck servers.

[7] Comentário enviado por jonesvital em 06/01/2015 - 13:52h

Entendi. Vou fazer uns testes aqui, Obrigado :)


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts