O que exatamente Gluster faz?

11

Eu tenho jogado com gluster nos últimos 2 dias e tenho feito perguntas aqui e no sistema de perguntas deles. Eu realmente não entendo algumas das coisas. Eu vejo pessoas dizendo coisas como

Set up replicated bricks between the servers (since you are only using 3, replicated would be safer), and each server will see the files of all other servers as being 'local' - even if one server fails, the files have been replicated to the other servers.

ou

Gluster will maintain the file synchronization across volumes (bricks), and has 'self-healing' capabilities that will deal with any inconsistencies due to one server being offline.

Como eu monte um volume remoto do servidor para o (s) cliente (s), como o gluster trata a falha do nó do servidor, a partir da qual os volumes são montados? Do que eu tentei a pasta no cliente onde o volume foi montado se torna inacessível e eu tenho que usar umount para desbloqueá-lo. E depois disso, não há conteúdo do servidor.

Isso é basicamente o que eu não vejo coberto em nenhuma explicação: o que acontece quando o nó do servidor falha e se é possível realmente replicar o conteúdo, como o unison ou o rsync?

    
por cbaltatescu 22.09.2011 / 21:42

4 respostas

8

Recentemente, começamos a pesquisar o GlusterFS para uso próprio, então essa pergunta foi interessante para mim. O Gluster usa o que é chamado de 'tradutores' no cliente do FUSE para manipular como você armazena dados. Existem vários tipos de tradutores que são descritos aqui:

link

O que você está perguntando especificamente é chamado de Automatic Replication Translator ou AFR, e é abordado em detalhes aqui:

link

Olhando para o código fonte, parece que os dados são realmente gravados em nós simultaneamente, muito melhor que o rsync!

Em relação à recuperação de uma situação de falha, há uma nota interessante que encontrei. O sistema Gluster é diferente do Ceph, pois não está ativamente ciente das mudanças de estado de replicação e precisa ser "acionado". Então, se você perder um nó em seu cluster, terá que procurar cada arquivo para que o Gluster tenha certeza de que foi replicado:

link

Não consegui encontrar uma boa página descrevendo internamente os mecanismos do cenário de falha, como a forma como o cliente detecta que as coisas estão quebradas. No entanto, ao baixar o código-fonte e procurar no cliente, aparecem vários tempos limites que ele usa para os comandos e um teste que, de vez em quando, faz com outros sistemas no cluster. Parece que a maioria delas tem marcas TODO e não são configuráveis atualmente, exceto através da modificação do código-fonte, o que pode ser uma preocupação para você se o tempo de convergência for crítico.

    
por 23.09.2011 / 05:28
3

Com apenas 2 nós replicando, o gluster não é muito diferente de um script rsync automático. As coisas realmente só começam a ficar interessantes quando você tem 4 ou mais nós de armazenamento - suas máquinas cliente veem um pool de espaço, mas os arquivos constituintes estão espalhados por todos os nós de armazenamento (bricks). Isso significa que, se seus 4 servidores tiverem 10 TB de espaço local, suas máquinas clientes poderão ver um único namespace de 20 TB (replicado ou 40 TB de armazenamento desprotegido).

Eu vi um breve soluço - talvez 30 segundos ou mais - em uma máquina cliente quando ele tenta IO depois que um bloco de armazenamento se torna indisponível. Depois do soluço, no entanto, o IO continuará normalmente enquanto houver servidores on-line que ainda mantenham um conjunto completo de dados de volume.

    
por 23.09.2011 / 04:52
1

Você está descrevendo um comportamento inesperado - eu consultaria #gluster em irc.freenode.net ou [email protected] ou link

-John Mark Gluster Community Guy

    
por 23.09.2011 / 20:38
0

Quando o servidor voltado para o cliente falha (ou seja, o servidor cujo IP / DNS foi usado pelo cliente para montar o sistema de arquivos), todo o volume fica off-line para esse cliente, ou seja, não pode ler / gravar no volume.

No entanto, se o cliente montou usando IP / DNS de outro servidor, o volume ainda estará online para esse cliente. No entanto, as leituras / gravações não irão para a instância com falha / falha.

    
por 15.05.2013 / 06:45