Sistema de arquivos distribuídos com cache de disco local

4

Minha infraestrutura de servidores está crescendo rapidamente e decidi criar um cluster de armazenamento distribuído. Eu tenho procurado por um sistema de arquivos adequado para esta tarefa que atenda ao meu requisito, mas nenhum deles suporta uma funcionalidade de cache de disco local. Cada um dos meus servidores tem dois discos rígidos SAS de 600 GB e eu gosto de usá-los como um armazenamento em cache para os arquivos acessados com mais freqüência a partir do armazenamento distribuído.

Algum sistema de arquivos opensource suporta esta funcionalidade? Eu gosto de usar Ceph ou GlusterFS, mas não encontrei nada sobre o cache de disco local. Eu acho que é um dos recursos básicos que o sistema de arquivos distribuído deve suportar.

    
por Galmi 23.11.2013 / 02:52

8 respostas

6

Confira OpenAFS que tem cache de disco local, veja: link

    
por 28.11.2013 / 09:09
3

Outro concorrente é XtreemFS : o conjunto de recursos inclui

In addition to full replicas that contain a complete copy, XtreemFS also supports partial replicas. These replicas are filled on demand when a client accesses data.

    
por 02.12.2013 / 00:17
2

Como com comentários em outros lugares - seria possível usar o armazenamento em disco local para armazenar em cache o I / O do gluster, embora ao custo do cache do VFS, o AFS pareça ser apropriado. Mas as grandes omissões de sua pergunta são se você está tentando obter tolerância a falhas ou desempenho, e se o armazenamento replicado deve suportar transações ou gravações frequentes.

Outras opções incluem

  • usando um banco de dados nosql de replicação
  • bcache (que fornecerá melhorias de desempenho, mas não aprimoramentos de resiliência e problemas de gravação / consistência de cache frequentes)
  • NAS / SAN
por 03.12.2013 / 15:42
1

O OpenAFS tem um cache de arquivos local, mas também o NFSv4 com a configuração apropriada.

link

No entanto, a menos que o acesso a arquivos seja em grande parte somente de leitura, o armazenamento em cache pode gerar um desempenho muito menor do que você poderia esperar. Em situações em que muitos clientes tentam gravar nos mesmos servidores, isso pode realmente diminuir o desempenho.

    
por 01.12.2013 / 23:48
1

E o flashcache e o ceph?

link

    
por 02.12.2013 / 01:19
1
Vale a pena investigar o

IPFS , apesar de ainda ser relativamente novo e o desempenho ainda não se equiparar ao Ceph ou ao GlusterFS.

Eu o recomendo porque o design é exatamente o que você precisa para um cache local eficiente. Todo o conteúdo (incluindo a estrutura de diretório) é imutável e endereçado por um hash criptograficamente verificável. Isso significa que o conteúdo pode ser recuperado de qualquer lugar - na memória, no disco ou até mesmo em um ponto não confiável. Além disso, você obtém deduplicação gratuitamente.

Ao pesquisar um arquivo por hash, não é necessário entrar em contato com um servidor remoto para saber das atualizações e não é necessário manipular a invalidação de cache para nada além de liberar espaço em disco. Endereços mutáveis podem ser obtidos com IPNS, mas são apenas ponteiros para hashes de arquivos, o que significa que apenas uma única solicitação é necessária para descobrir uma árvore de arquivos atualizada.

    
por 10.11.2016 / 08:09
1

Você pode experimentar o MooseFS no sistema de arquivos distribuídos. Na máquina MooseFS Master, a estrutura completa do sistema de arquivos é armazenada em cache na RAM para melhor velocidade.

    
por 06.07.2018 / 17:28
0

Parece que o gluster realiza o armazenamento em cache de arquivos locais. Alguns dos valores ajustáveis são

Option  Description     Default Value   Available Options 
performance.cache-size          Size of the read cache.     32 MB   size in bytes
performance.cache-max-file-size     Sets the maximum file size cached by the io-cache translator. Can use the normal size descriptors of KB,MB,GB,TB or PB (ie. 6GB). Maximum size uint64.  2 ^ 64 -1 bytes     size in bytes
performance.cache-min-file-size     Sets the minimum file size cached by the io-cache translator. Values same as "max" above.   0B  size in bytes
performance.cache-refresh-timeout   The cached data for a file will be retained till 'cache-refresh-timeout' seconds, after which data re-validation is performed.  1 sec   0 < cache-timeout < 61 
    
por 01.12.2013 / 23:02