A situação: configurando um balanceador de carga
Atualmente, temos todos os nossos servidores (rodando o CentOS Linux) em pares em nosso data center: cada servidor tem um servidor de espelhamento. Não empregamos qualquer balanceamento de carga no momento, portanto, o servidorA obtém todo o tráfego e, quando ele falha (hardware ou software), podemos alternar rapidamente para o servidorB, configurando o endereço IP do servidorA no servidorB. Estamos usando a replicação master / master do MySQL (embora pudéssemos simplesmente usar a replicação master / slave para a configuração atual) e o rsync para manter os arquivos vhost em sincronia (serverA syncs to serverB).
Isso está funcionando bem para nós, mas é bastante ineficiente, já que temos 50% do seu hardware sem fazer nada até que uma máquina falhe. Estamos pensando em colocar balanceadores de carga na frente dos pares de servidores para que possamos dividir a carga para ambas as máquinas e também adicionar servidores extras por cluster.
O problema: compartilhamento de armazenamento de arquivos
Configurar isso provavelmente não levará muito mais do que colocar um balanceador de carga na frente de cada par de servidores e, em seguida, dividir o tráfego para cada servidor do par. Exceto por uma coisa: armazenamento de arquivos. Atualmente, o rsync 'empurra' as mudanças de serverA para serverB, mas não o contrário. Podemos configurá-lo para que o rsync também seja executado de serverB para serverA, mas o problema é que o rsync nunca sabe se deve criar ou excluir um arquivo que exista no serverA, mas não no serverB. Eu olhei para Unison , mas esse projeto parece ter sido descontinuado.
A pergunta: qual é a melhor solução para armazenamento de arquivos compartilhados baseado em software?
Então, estou procurando uma solução diferente. Por favor, note que eu não quero adicionar mais hardware (então nenhuma solução NAS / SAN). Lembre-se também que precisamos de uma baixa quantidade de armazenamento (abaixo de 500 GB) por cluster e que todos os servidores estejam na mesma rede local. Temos uma solução de back-up decente no local (backups a cada 3 horas).
Eu tenho procurado DRBD e isso parece se encaixar bem em nossa situação, mas eu não tenho experiência com isso . O DRBD é o caminho a percorrer para nós? Por favor, compartilhe sua experiência com esta e outras soluções semelhantes. Quaisquer armadilhas para pensar? Estou no caminho certo? Por favor, me ilumine:)