Estou procurando uma solução para espelhar ou replicar um diretório (ou um sistema de arquivos) em alguns servidores Linux. A solução ideal seria uma que permita a todos os servidores acesso de leitura e gravação. Eu também quero que ele seja resistente, se um dos servidores cair, o resto ainda funcionará sem perder nenhum dado.
Eu estive procurando algumas soluções:
- DRBD : replicações em nível de bloco, parece um pouco exagerado;
- lsyncd : parece muito simples, mas tenho dúvidas sobre desempenho;
- GlusterFS : parece que seria uma boa combinação, ainda não descobrimos exatamente como o modo de replicação funciona. Será que ele tem características que eu preciso?
Quaisquer outras sugestões são bem-vindas.
linux
filesystems
replication
cluster
mirroring
vartec
fonte
fonte
Respostas:
A primeira pergunta que gostaria de fazer é que você deseja que isso seja replicado para dois servidores ou mais do que dois servidores? Para dois servidores eu iria com DRDB, para três ou mais eu iria com gluster.
Se a latência de E / S não for uma preocupação crítica, eu iria com gluster. É muito fácil de configurar e pode claramente fazer o que você precisa. Tudo o que você precisa fazer é criar um servidor gluster exibindo os arquivos nas três caixas e também fazer com que cada caixa atue como um cliente gluster que monta os arquivos.
O DRDB será complicado para trabalhar no modo mestre <-> mestre com 3 ou mais servidores. Você precisa definir uma configuração baseada em anel e eu não a recomendaria. No entanto, para dois servidores, o DRDB é fantástico. Mestre <-> O modo mestre não é complicado de configurar e você não precisa aprender nada do sistema de arquivos.
O lsycd é ótimo para uma configuração mestre / escravo, mas você não parece querer isso.
O Ceph ainda é bastante novo, da última vez que verifiquei, ele ainda não tinha suporte ao fsck. Prefiro basear minha infraestrutura em algo mais estável.
O Luster é um produto fantástico para implantações em larga escala, mas você precisa configurar a pulsação e o failover para o servidor mds ou ele terá um único ponto de falha. Dado o número limitado de servidores de que ele está falando, suspeito que seja um exagero nesse caso.
fonte
Que tal Ceph ou Lustre ?
fonte
Você deve examinar o OpenAFS - é um sistema de arquivos distribuído principalmente que permite a existência de várias cópias de dados distribuídas pelo cluster e todos podem ler / gravar no FS ao mesmo tempo.
Também possui vários outros recursos úteis (boa autenticação, criptografia on the wire, armazenamento em cache local interno em clientes, cliente nativo do Windows, portátil em várias versões do unix, etc.)
É um pouco pesado para configurar, no entanto.
fonte
O NFS também pode funcionar bem, dependendo de suas necessidades.
fonte
Fazer com que isso funcione com o DRBD será realmente difícil - o problema não é que o n8whnp pareça pensar em um problema relacionado à replicação de várias maneiras (você apenas faz todas as faixas de nós em um conjunto de espelhos), mas tem controle de concorrência - você ' d precisa executar um sistema de arquivos em cluster em cima do espelhamento em cima do DRBD.
O lsyncd é ainda pior, pois não há solução prática para o controle de simultaneidade.
Eu recomendaria uma solução do tipo AFS (AFS, OpenAFS) como uma solução madura, estável e aberta. Eu ficaria sem brilho desde que a Oracle o desligou. Não familiarizado com o glusterfs, mas como ele se baseia no armazenamento distribuído e não no replicado, recomendo que você analise muito bem como ele se comportará na operação de cérebro dividido (o AFS OTOH foi projetado para funcionar no modo desconectado).
fonte