Que sistema de arquivos distribuídos como back-end para computação em nuvem?

11

Eu tenho uma nuvem básica em execução no Ubuntu Server (9.04) e no Eucalyptus. O Walrus (implementação S3 compatível com API do Eucalyptus) armazena arquivos no controlador de nuvem. No entanto, cada um dos outros 4 servidores tem 1 TB de armazenamento, o que é largamente não utilizado. Eu estou procurando uma maneira de reunir todo o armazenamento em conjunto para fazer uso de todos os recursos disponíveis. Eu tenho gostado de várias opções, incluindo PVFS, Lustre, HDFS (Hadoop).

Meus únicos requisitos são que ele precisa ser escalável e funcionar bem no Ubuntu. Eu gostaria de ouvir de qualquer pessoa que tenha experiência com essas tecnologias e estou ansioso para ouvir suas sugestões.

    
por Jaunty 05.07.2009 / 16:22

11 respostas

5

Embora eu não tenha implementado isso pessoalmente em nenhum lugar de nossos sistemas, procurei bastante no Gluster . Eu conheço algumas pessoas em alguns 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.

    
por 05.07.2009 / 18:44
2

O GlusterFS parece a solução ideal para mim. Para o cara que afirma que Gluster precisa de muito esforço para se preparar, tenho que dizer que ele provavelmente nunca tentou. A partir do Gluster 3.2, os utilitários de configuração são bastante impressionantes e são necessários 2 ou 3 comandos para aumentar o volume e o compartilhamento na rede. Montar volumes gluster é igualmente simples.

No lado positivo, ele também oferece muito mais flexibilidade do que o NFS. Ele faz striping, relication, georeplicação, é claro compatível com POSIX e assim por diante. Existe 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! É F / OSS e está sendo desenvolvido pela RedHat que recentemente comprou a Gluster.

    
por 19.01.2012 / 22:47
1

Você já olhou para o mogileFS? link

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

Se você estiver veiculando arquivos para um aplicativo da Web, precisará de algo para veicular os arquivos. Eu sugeriria um script PHP que usa a solicitação HTTP como chave de busca 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.

    
por 05.07.2009 / 17:34
1

Com o Lustre, você precisa ter um kernel especial nos servidores, e eu teria apenas servidores sendo servidores e nada mais.

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

    
por 05.07.2009 / 20:47
1

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

por 09.07.2009 / 10:51
1

Colocar algum tipo de sistema de arquivos compartilhado por trás de um ambiente de virtualização é bastante comum. Você tem muitas opções, dependendo do que você está procurando 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 backend de virtualzation, embora não seja a coisa mais rápida disponível.

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

Além disso, você está começando a entrar no leque de coisas como Lustre, Glusterfs, GPFS e assim por diante. Esses são todos sistemas de arquivos paralelos de alto desempenho, mas eles exigem muito mais trabalho para configurar do que as outras opções aqui. Se você tem um ambiente grande, pode valer a pena olhar.

    
por 10.05.2011 / 18:49
1

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

Se você precisar de algo sobre mais de 20 nós, poderá investigar Ceph . O Luster é promissor e estável, mas é um produto Oracle (F / OSS) e não agradeço a Oracle. :)

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

    
por 10.05.2011 / 20:00
1

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

    
por 06.07.2009 / 16:59
1

MooseFS (Sistema de Arquivos Distribuídos) se adapta às suas necessidades. É escalável e funciona bem no Ubuntu. Também pode ser útil para você ver como instalar o install / update MooseFS do repositório oficialmente suportado no Ubuntu .

    
por 25.06.2018 / 18:04
0

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

    
por 05.07.2009 / 23:49
0

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

    
por 06.07.2009 / 12:20