Vernis et battements de coeur comme chargebalancers

Voici la configuration que j'essaie d'accomplir

C'est la configuration

Donc, ce que j'essaie d'accomplir est: un user passe à 10.0.0.1 il le transmet à quelquelle loadbalancer gère les requests. Je souhaite ensuite que le vernis traite la request.

Voici mon file ha.cf:

debug 3 debugfile /var/log/ha-debug logfile /var/log/ha-log bcast eth0 keepalive 2 warntime 5 deadtime 15 initdead 30 udpport 694 udp eth0 auto_failback yes node loadb1 node loadb2 

* C'est la même chose sur loadb2. J'ai également la possibilité de déboguer à des fins de test. Il sera supprimé lorsque sa production sera prête.

Voici les sources

 loadb1 IPaddr::10.0.11.200/32 varnishd 

* Encore une fois, sur loadb2 (j'ai également essayé de le faire de sorte que le battement de coeur ne gère rien d'autre que l'IP, donc pas de "vernis" à la fin dans les sources de données)

Ma configuration de vernis est la suivante:

  backend server1 { .host = "10.5.0.111"; .probe = { .url = "/"; .interval = 5s; .timeout = 1 s; .window = 5; .threshold = 3; } } backend server2 { .host = "10.5.0.112"; .probe = { .url = "/"; .interval = 5s; .timeout = 1 s; .window = 5; .threshold = 3; } } director example_director random { { .backend = server1; .weight = 2; } { .backend = server2; .weight = 1; } } sub vcl_recv { if (req.http.host ~ "^(www.)?bps101.net$") { set req.backend = example_director; } } 

J'ai un battement de coeur qui fonctionne bien. L'ip 10.0.0.1 est entièrement puissant. Mais quand je suis arrivé à 10.0.0.1 dans un browser, j'ai une réinitialisation de connection. (rien n'écoute sur le port 80). Je sais que les outils de configuration du vernis. Je sais que la configuration du battement de coeur fonctionne. Je ne peux pas les faire travailler set. Est-ce que quelqu'un a des suggestions ou des idées? J'apprécierais grandement tous les conseils, directives, etc. que tout le monde peut fournir. Merci.

Vous pouvez créer votre propre script sous les ressources.d afin que les battements de coeur puissent gérer le deamon de vernis.

Une solution simple serait

 #!/bin/bash case $1 in start) /etc/init.d/varnish start ;; stop) /etc/init.d/varnish stop ;; status) ;; esac 

Vous pouvez find un petit manuel en allemand dans http://foobar.lamp-solutions.de/howtos/lamp-administration/tuning/tuning-einzelansicht/archive/2011/may/article/hoechverfuegbarer-http-loadbalancer-mit- vernis-und-heartbeat-unter-ubuntu-1004.html

Ok, les bases:

  • Pouvez-vous voir l'adresse IP 10.0.0.1 sur l'une des machines à vernis? ( ip ad show )
  • Le vernis est-il correctement écouté sur le port 80, toutes les adresses ip? ( netstat -tanp )

Si ces deux sont corrects, certains autres se produisent 🙂 J'utilise une solution similaire à la vôtre que j'ai décrite sur cette réponse , vous pouvez utiliser les mêmes éléments et utilisez uniquement 1 ip pour get le même effet que vous voulez.

Oui, ça l'est. Le problème semblait être que mes configurations de bases de données ne nécessitaient pas le "vernis". Pour une raison quelconque, les battements de coeur l'ont détesté. Donc le battement de coeur n'est pas entièrement la gestion du vernis. Mais j'ai cronjob qui exécute un script pour voir si le vernis est en cours d'exécution. Si ce n'est pas le cas, redémarrez-le.