Bonjour,
J'essaie de mettre en place une petite infrastructure ( 2 serveurs apache, php, mysql ) avec un load balancer. Mais je bloque sur la partie replication, sachant que les deux serveurs doivent avoir la même configuration et disposer des mêmes fichiers je ne sais pas trop comment m'y prendre. Pour l'instant mes deux serveurs disposent de la même conf. Ce que j'aimerais savoir, c'est que dois-je replique. Dans le cas d'apache par exemple je dois repliquer le dossier /var/www ? bref aider moi a y voire plus clair ^^.

3 réponses


Alors là c'est trop poussé pour moi. Peut être si tu fais ça avec un outil de déploiement genre ansible.

Ton post me donne envie d'en savoir plus sur le domaine.
J'ai donc vite fait regarder google, j'ai trouver ce tuto qui semble interessant :
http://networkgeekstuff.com/networking/master-master-apache-mysql-synchronization-tutorial-example-config/

Concernant le load-balancing j'ai vu qu'apache a des algo de calcul de charge et un module intégré :
https://httpd.apache.org/docs/2.4/fr/mod/mod_proxy_balancer.html

Si tu trouve des ressources interessante sur le sujet n'hesite pas a revenir poster et partager car cela m'interesse

brokleen
Auteur

Hello,
du coup j'ai potassé plusieurs nuits sur le sujet.
Pour répondre à mes besoins il me fallait :
Une infrastructure scalable ( processeur , espace disque, ram ) avec un répartitieur de charge physique.
( Le loadbalancing virtuel est une vraie catastrophe en matière de performance et mise en place )
Une infrastructure toujours disponible, si un serveur tombe en panne un autre prend le relai, si un serveur est planté il est automatiquement détruit et reconstruit.
Un système de backup bien foutu.
Et tout ca pour moins de 50$ par mois.

Arrivé ici tu commences à avoir peur, car ayant déjà monté des petits serveurs sous debian tu te dis que ca va pas être la même chose.
Il me fallait donc aux minimums deux serveurs et un load balancer pour réaliser mon projet.

N'étant pas sysadmin est n'ayant pas une année tous frais payés pour me former il fallait trouver un moyen disposant en partie de solutions préconcu ( bye bye les serveurs dédiés ). Je me suis donc tourné vers le cloud. Inscription chez amazon aws, Oh 24h d’attente pour pouvoir commencer dommage :(. Inscription chez google cloud, 5 min plus tard j'étais prêt à bosser.

Après avoir étudié leurs services et épluché la doc, j'ai enfin trouvé le graal ! CONTAINER ENGINE. Pour faire simple, cela te permet de créer un cluster de serveur dans lequel tu pourras ajouter ou supprimer des serveurs à tout moment en fonction de tes besoins. Ensuite google a mis au point une solution open source qui va se charger de gérer des containers docker (kubernetes). Je vais pas trop rentrer dans les détails mais kubernetes gère le déploiement de containers docker mais aussi leurs réplications à travers le cluster ( 100 apache sur 2 serveurs no problem ^^). Si on le souhaite on peut même régler le cluster pour qu’il ajoute ou supprimer automatiquement des serveurs en fonction de la charge. Le système de loadbalancer répartit la charge entre les containers. Bref il y a une immensité de chose à essayer, et il y a encore beaucoup de chose que je n’ai pas approfondi, je fais ce post à chaud après 4h de tests.

Pour l’instant, j’ai réussis à :
Mettre en place un cluster de 2 serveurs.
Redimensionner le cluster avec 4 serveurs.
Mettre en place le système de load balancing
Installer apache pour m’assurer que le système de container fonctionnait bien
Planter intentionnellement un des serveurs du cluster pour constater que le système le réinitialisait et que l’ensemble de la structure continuait à fonctionner correctement.

Voilà les amis.