Qual sistema de arquivos distribuídos como back-end para Cloud Computing?


11

Eu tenho uma nuvem básica em execução no Ubuntu Server (9.04) e Eucalyptus. A Walrus (implementação S3 compatível com API do Eucalyptus) armazena arquivos no controlador de nuvem. No entanto, cada um dos outros 4 servidores possui armazenamento de 1 TB, o que é pouco utilizado. Estou procurando uma maneira de agrupar todo o armazenamento para usar todos os recursos disponíveis. Tenho pesquisado várias opções, incluindo PVFS, Luster, HDFS (Hadoop).

Meu único requisito é que ele precise ser escalável e que funcione bem no Ubuntu. Gostaria muito de receber alguém que tenha experiência com essas tecnologias e espero ouvir suas sugestões.


Se não precisasse do Ubuntu, diria ZFS.
Brad Gilbert

3
Exceto que o ZFS não é um sistema de arquivos em cluster.
5119 MarkR

Respostas:


5

Embora eu não tenha implementado pessoalmente em nenhum lugar de nossos sistemas, observei bastante o Gluster . Conheço algumas pessoas em sites grandes que usam isso e aparentemente funciona muito bem. Eles o usam na produção para algumas aplicações de HPC para serviços pesados.


2

O GlusterFS pareceria a solução ideal para mim. Para o cara que afirma que Gluster exige muito esforço para montar, devo dizer que ele provavelmente nunca tentou. A partir do Gluster 3.2, os utilitários de configuração são impressionantes e são necessários 2 ou 3 comandos para aumentar e compartilhar um volume de gluster na rede. A montagem de volumes de gluster é igualmente simples.

No lado positivo, também oferece muito mais flexibilidade que o NFS. Faz striping, relication, georeplication, é claro compatível com POSIX e assim por diante. Há uma extensão chamada HekaFS, que também adiciona SSL e mecanismos de autenticação mais avançados, o que provavelmente é interessante para a computação em nuvem. Também escala! É o F / OSS e está sendo desenvolvido pela RedHat que comprou recentemente o Gluster.


1

Você já olhou para o mogileFS? http://danga.com/mogilefs/

Não é um sistema de arquivos no sentido tradicional, mas é bom para distribuir dados de arquivos em um cluster (com replicação e redundância levadas em consideração).

Se você estiver servindo arquivos para um aplicativo Web, precisará de algo para servi-los. Eu sugeriria um script PHP que usa a solicitação HTTP como a chave de pesquisa para encontrar o arquivo que você deseja no mogile FS. Você pode então ler o conteúdo do arquivo em um buffer e fazer eco / imprimi-lo.

O MogileFS já é bastante rápido, mas você pode combinar o mogileFS com o memcache para acelerar o acesso aos arquivos mais usados.


Eu me lembro que o MogileFS teve um único ponto de falha, no caso do nó de metadados. O HDFS tem um problema semelhante.
David Pashley

O MogileFS parece bastante interessante e sua replicação e redundância é ideal, no entanto, parece inadequado para uso geral, pois os aplicativos precisam estar cientes de que estão executando nele. Um sistema de arquivos mais tradicional, no qual os aplicativos podem ser independentes de FS, seria mais adequado.
2164 Jaunty

1
O MogileFS pode ter vários rastreadores em execução, e você pode ter o mysql de failover no back-end. Dessa forma, você pode remover todos os pontos únicos de falha.
Davidsheldon em 3/11/2009

1

Com o Luster, você precisa ter um kernel especial nos servidores, e eu só teria servidores como servidores e nada mais.

Estranhamente, a resposta mais sensata é o NFS. Nós usamos o NFS na nuvem da Amazon. Pode não ser tão dimensionável quanto alguns sistemas de arquivos, mas a simplicidade não deve ser esquecida. Um espaço de nome único provavelmente não vale o esforço necessário para implementar.


1

Você ainda está procurando o HDFS? Um dos caras da Cloudera deu uma palestra no VelocityConf este ano sobre o Hadoop e o HDFS focado no gerenciamento de clusters de big data, então ele falou bastante sobre o HDFS. Os slides são bastante informativos. Não trabalhei pessoalmente com o HDFS, mas conversei com algumas pessoas aleatórias do Velocity que o estão usando no Ubuntu para fazer várias análises de dados.


1

Colocar algum tipo de sistema de arquivos compartilhado atrás de um ambiente de virtualização é bastante comum. Você tem muitas opções, dependendo do que deseja realizar.

A solução mais simples é provavelmente o NFS, porque isso será suportado nativamente por qualquer distribuição que você esteja executando. O NFS pode funcionar razoavelmente bem como um sistema de arquivos de back-end de virtualização, embora não seja a coisa mais rápida por aí.

Se você estiver executando um cluster RedHat (ou derivado), terá um bom suporte pronto para uso para o GFS2, o sistema de arquivos em cluster do RedHat. Isso não aumenta para centenas de nós, mas é bom para clusters menores.

Além disso, você está começando a entrar no leque de coisas como Luster, Glusterfs, GPFS e assim por diante. Todos esses são sistemas de arquivos paralelos de alto desempenho, mas exigem muito mais trabalho para configurar do que as outras opções aqui. Se você tem um ambiente amplo, vale a pena examinar.


1

Eu concordo com o @larsks em que o NFS é a melhor opção; configure alguns destinos iSCSI, NFS, pronto. isso será dimensionado para cerca de 5 a 10 nós; YMMV com base em E / S, capacidade de rede etc. (alternativamente, configure o iSCSI com suporte a E / S de caminhos múltiplos).

Se você precisar de algo com mais de 20 nós, convém investigar o Ceph . O Lustre é promissor e estável, mas é um produto Oracle (F / OSS) e eu não gosto pessoalmente do Oracle. :)

Ceph também é bastante ativo; o lançamento mais recente foi há 5 dias.


Lustre não está mais sob o guarda-chuva da Oracle. Veja whamcloud.com
utopiabound

1

O XtreemFS pode ser uma solução para você. É bastante simples de instalar e configurar, também existem pacotes para o Ubuntu.



0

Não sei o que você está fazendo, mas isso parece um aplicativo potencialmente interessante para o CouchDB .


0

Você pode tentar o PVFS2 . É muito mais fácil configurar do que o Luster e geralmente mais rápido que o Gluster.


mais rápido que Gluster? você pode compartilhar dados sobre desempenho?
John-ZFS

Não tenho benchmarks recentes em mãos. Em 2008, o Gluster era muito mais lento que o Luster, enquanto o PVFS2 era apenas um pouco mais lento. Hoje em dia pode ser diferente, talvez eu faça um benchmark disso.
wazoox

obrigado, se você fizer benchmark, por favor me avise. maruti.j@gmail.com ou você pode fazer um post sobre serverfault para everyones beneficiar
John-ZFS
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.