Estou trabalhando com um cluster de servidores Linux atrás do recurso de dimensionamento automático de nuvem da Amazon ( documentação ). Existem arquivos que se acumulam em cada servidor, eles são arquivos de cache para o aplicativo. Estou procurando uma maneira automatizada de fazer com que os servidores sincronizem essa pasta entre si.
Rsync
funcionaria se alguém tivesse uma maneira inteligente de fazer a detecção por pares.- O mesmo vale para
Unison
. - Também consideramos usar um SaaS como o Dropbox.
- O Gluster parece um exagero e não sei ao certo como é fácil ter um novo computador ingressar automaticamente no cluster.
Idealmente, o que aconteceria é quando um novo servidor é iniciado, ele descobre seus pares e começa a sincronizar a pasta. A partir desse momento, o último carimbo de arquivo ganha a sincronização P2P.
Alguma coisa lá fora que faz isso?
Respostas:
Você sabe o quão estranho pode parecer, mas o uso do rtorrent com o DHT ativado no intervalo ec2 privado pode funcionar
Isso daria a você
fonte
O Rsync upstream fornece suporte para SLP (Service Location Protocol). Ele não está ativado nas fontes vanilla rsync, mas você pode encontrar o suporte ao SLP no taryn do rsync-patches na página inicial do rsync (slp.diff). Por exemplo, o pacote rsync do SUSE é criado com esse patch; Não conheço outras distribuições.
Não tenho certeza se é isso que você está procurando nem tenho experiência com o SLP.
fonte
Talvez esteja faltando alguma coisa aqui, mas há algum motivo para você não apenas configurar um diretório NFS simples e ter todas as máquinas montadas? Sempre que o aplicativo grava o novo arquivo de cache, ele deve substituir os antigos.
fonte
Tenho certeza de que existe alguma ferramenta de gerenciamento da Amazon, como Command Line Tools , que permite escrever um script de inicialização para fazer com que os nós se descubram, por meio de endereços IP públicos ou privados.
A propósito, rsync e Unison não são a ferramenta certa, se eles tiverem que distribuir alterações para armazenar em cache com muita frequência. Nesse caso, você deve considerar um sistema de arquivos realmente distribuído.
fonte
Talvez DRBD (dispositivo de bloco distribuído)?
fonte