Enorme sistema de arquivos?

6

Suponha que haja 100 máquinas (cada uma com um disco rígido de 2 TB), todas conectadas em uma rede.

Existe uma maneira (no Linux) de unir esses 200 TB de espaço em disco combinado em uma pasta, que pode ser compartilhada usando o NFS entre todas as máquinas que estão na rede?

Indo por esse caminho, todas as máquinas poderão ler / gravar na mesma pasta e, assim, a E / S será distribuída uniformemente entre elas. Essa é uma boa ideia se você precisar de um sistema de arquivos grande para armazenar 100 TB de dados? (nota: os dados serão divididos em vários arquivos menores, de tamanho ~ 500GB cada).

Existe uma solução pronta (preferível, uma de código aberto) que atinja exatamente isso?

    
por user76976 12.07.2011 / 21:41

6 respostas

7

Duas opções que vêm à mente são GlusterFS e Hadoop HDFS .

    
por 12.07.2011 / 21:50
4

O GPFS da IBM pode fazer isso (nota: não é open-source).

Com o GPFS, você pode criar discos compartilhados de rede (NSDs) que são compostos de qualquer tipo de armazenamento em bloco (local ou apresentado via iSCSI ou FC, por exemplo). Seria perfeitamente possível criar um sistema de arquivos GPFS (dispositivo) composto de NSDs que abrangem cada disco rígido de 2TB em seus 100 servidores.

Eu não pretendo lembrar todos os números de marketing malucos, mas o GPFS está entre os sistemas de arquivos em cluster mais populares para supercomputadores na lista "Top 500" porque suporta volumes extremamente grandes de dados e E / S paralela incrivelmente alta . Wikipedia tem alguns números.

O GPFS pode replicar dados e blocos de metadados em todo o sistema de arquivos. Quando você cria seus NSDs, define um "grupo de falhas", faz isso para que o GPFS grave suas réplicas de bloco em outro lugar (ou seja, você não deseja que as duas cópias de seu bloco estejam no mesmo grupo de falhas). Você também pode escalonar o armazenamento usando seu conceito de "pools de armazenamento", através do qual você pode definir comportamentos como ... arquivos acessados na última semana em minhas unidades Fusion IO ou SSD, mas depois disso mover os blocos para um armazenamento mais barato. / p>

Todos os nós em seu cluster teriam acesso a um dispositivo (como / dev / gpfs0) que eles poderiam montar e acessar, já que o sistema de arquivos inteiro era local para cada nó. Você mencionou o NFS; neste modelo, no entanto, não é necessário introduzir o protocolo adicional a menos que você tenha sistemas fora do cluster de 100 nós que estejam atuando como consumidores / clientes dos dados e não deseje torná-los servidores GPFS / clientes NSD (carregando o Módulo do kernel GPFS). No entanto, você pode exportar os sistemas de arquivos GPFS via NFS e até mesmo aproveitar o CNFS (Clustered-NFS), se necessário.

  • Eu não trabalho para a IBM, mas eu joguei com o GPFS um pouco e gostei.
por 13.07.2011 / 00:16
3

Eu não tive a chance de jogar com ele ainda assim eu não posso dar uma revisão completa, mas eu diria que tenho um olhar para os materiais da nuvem Openstack - > link

    
por 12.07.2011 / 21:46
2

Você provavelmente quer algo como PVFS .

    
por 12.07.2011 / 21:59
2

Existe uma lista completa na Wikipedia.

    
por 12.07.2011 / 22:37
1

Ceph é outro, embora ainda não esteja pronto. link

    
por 14.07.2011 / 22:45