J'ai 2 serveurs Web, avec la possibilité d'avoir à ajouter plus de serveurs en cours de route. En ce moment, je garde ces serveurs synchronisés en utilisant lsyncd + csync2. Cela fonctionne bien en termes de performances car tous les fichiers sont sur les deux serveurs (aucun accès réseau requis pour ouvrir les fichiers localement), mais pas si bien dans d'autres cas.
Un exemple de ceci est si je supprime un fichier sur le serveur 1 et télécharge immédiatement un nouveau fichier sur le serveur 1 qui porte le même nom. Le fichier serait alors supprimé du serveur 2 entre-temps, entraînant la suppression du fichier nouvellement téléchargé sur le serveur 1 car le serveur 2 envoie l'événement de suppression au serveur 1 pour terminer le "cercle de mise à jour".
Je ne peux m'empêcher de penser qu'il doit y avoir une meilleure façon de garder les serveurs synchronisés. J'ai regardé GlusterFS, et je vois qu'une configuration où tous les fichiers sont répliqués sur tous les serveurs est déconseillée. Cependant, j'exécute des systèmes CMS comme Drupal sur ces serveurs. De tels systèmes CMS ouvrent souvent un certain nombre de fichiers, et je crains qu'un trafic réseau trop important pour mettre la main sur ces fichiers ne ralentisse les demandes.
Serait-ce une idée de chercher à remplacer lsyncd + csync2 par GlusterFS configuré pour répliquer tous les fichiers sur tous les nœuds, ou est-ce une mauvaise idée?