Cairregair serveres Drupal balanceados: uma boa maneira de compairtilhair dados entre os serveres?

Estou tentando obter uma visão geral de como eu iria sobre a criação de uma configuration de server web equilibrada. Configurair o balanceador de cairga real e adicionair dois ou mais serveres da Web pairece suficientemente justo. No entanto, não consigo decidir qual seria a melhor configuration paira os files.

Os serveres web estairão executando um sistema CMS (neste caso, Drupal). Pode haview files cairregados por users que se relacionam com conteúdo, e isso deve ser acessível a todos os serveres da Web. Agora, eu estava pensando em simplesmente ter um server de files designado e montair um diretório de files em cada server da web paira que os vários serveres da Web pudessem acessair esses files "compairtilhados".

No entanto, essa solução seria um gairgalo quando falamos de 4-5 serveres? Eu pensairia que a assembly seria feita por SSH.

Toda a ajuda muito apreciada!

Atualização (15 de janeiro de 2013)

Eu decidi ir com uma combinação de Csync2 e Lsyncd. Em seguida, configurei dois serveres que atuam como espelhos. O Lsyncd escuta as mudanças em determinados diretórios (e seus subdiretórios) e invoca o Csync2 que cuida da synchronization de files paira o outro server. Se você está interessado em saber mais, dê uma olhada nesse tutorial .

Antes de me mudair paira o CDN, eu tinha um site de cerca de 20 serveres. Comecei com o NFS até eu acertair um bug no kernel do linux cerca de 3 anos atrás, o que causou um problema ao não montair o volume e não estava crashndo corretamente.

Em seguida, criei um script rsync que sincronizairia os diários a cada 5 minutos paira cada server de image. Isso não era ideal, mas funcionou e não tive problemas com isso.

O próximo passo eu mudei paira o lsyncd que usa inotify paira monitorair um diretório e quando um file é alterado ele gera um process paira sincronizair esse file. Por padrão, isso é rsync. Essa solução era sólida e, se não fosse pela economia de um CDN, teria continuado com isso.

Lsyncd: http://code.google.com/p/lsyncd/

Espero que ajude.

O tutorial de cinco passos de John e Cailin sobre o dimensionamento do Drupal será muito útil paira você.

As duas primeiras etapas são as seguintes:

Etapa 1: sepaire seu server web do seu server de database.

Etapa 2: configure serveres web redundantes e balanceamento de cairga.

Bottom line: você não vai querer escalair horizontalmente (adicionando vários serveres com funções idênticas) sem primeiro dimensionamento viewticalmente (sepairando funções que atualmente residem no mesmo server em diferentes camadas).

Utilizei glusterfs ( http://www.gluster.org/ ) paira compairtilhair files entre serveres web balanceados por cairga. Eu também tentei também compairtilhair os files de database do MySQL entre os serveres com o Glusterfs, mas sem sucesso – recomendo sepairair a web do server de database como o primeiro cairtaz sugere.

Outras soluções paira compairtilhair files entre serveres são lustres ( http://wiki.lustre.org/index.php/Main_Page ) e, dependendo da configuration do balanceador de cairga, você também pode usair lsyncd ( http://code.google.com / p / lsyncd / ) paira sincronizair files entre os serveres.

Você pode definir um compairtilhamento NFS altamente disponível e montá-lo em cada server http paira servir seus files.

Encontre um tutorial paira um cluster MySQL altamente disponível: http://www.howtoforge.com/loadbalanced_mysql_cluster_debian