2 votes

Comment organiser une petite installation d'équilibre de charge basée sur Linux ?

J'ai récemment hérité d'une petite configuration de serveur web à charge équilibrée basée sur Linux. Malheureusement, il n'a jamais été complètement mis en ligne, alors je m'y emploie.

La configuration de base est la suivante :

  • Équilibreur de charge basé sur LVS. Agit également comme un simple NAT pour les serveurs web.
  • Deux serveurs web Apache/PHP5.
  • Serveur de base de données MySQL.

Le serveur de base de données se trouve à l'intérieur du pare-feu principal de l'entreprise, tandis que les trois autres sont dans la zone démilitarisée. L'équilibrage de charge de base fonctionne, mais j'ai eu des difficultés à faire persister les connexions avec LVS et comme le stockage des sessions pour PHP5 utilise des fichiers locaux, nous perdons des sessions. Je pourrais être en mesure de faire en sorte que LVS conserve les sessions, mais comme les connexions sont généralement destinées à un grand nombre de clients NATés derrière le même pare-feu avec des délais parfois longs entre les requêtes, je pense que c'est une proposition perdante. J'ai décidé de passer plutôt à memcached pour le stockage des sessions, car il sera rapide à mettre en place.

Ma question est la suivante : où doit se trouver le service memcached ? Je ne peux pas ajouter un autre serveur, donc il doit vivre soit avec l'équilibreur de charge, soit avec le serveur de base de données. Pour le moment, je penche pour le mettre avec le serveur de base de données, car il n'a pas de connexions externes, mais je crains que les deux puissent entrer en conflit dans une certaine mesure. Existe-t-il une meilleure pratique pour ce type de situation ? Ou d'autres conseils ?

2voto

David Pashley Points 22851

Si j'étais vous, j'économiserais la mémoire sur le serveur de base de données pour la base de données. Pour la résilience, j'installerais memcached sur vos deux serveurs web. Un petit problème avec l'utilisation de memcached pour les sessions est que le redémarrage de votre memcached détruira vos sessions. Vous pourriez envisager quelque chose comme memcachedb à la place, qui fait persister les objets.

-1voto

Dan Carley Points 24959

Je le placerais sur l'équilibreur de charge. Pour trois raisons :

  1. Cette machine n'utilise probablement pas beaucoup de CPU/RAM en ce moment (si ce n'est pas le cas, vous devrez y réfléchir à deux fois).
  2. Si l'équilibreur de charge tombe en panne, les sessions ne vous seront de toute façon d'aucune utilité.
  3. Les sessions ont une association un peu plus logique avec les connexions qu'avec les bases de données.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X