Vernice & Heartbeat come bilanciere del carico

Ecco l'impostazione che sto cercando di realizzare

Questa è la configurazione

Quindi, quello che sto cercando di realizzare è: un utente va a 10.0.0.1 lo passa a qualunque loadbalancer gestisce le richieste. Vorrei che la vernice effettivamente gestisca la richiesta.

Ecco il mio 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 

* Questo è lo stesso su loadb2. Inoltre ho l'abilitazione di debug per scopi di test. Sarà rimosso quando la sua produzione è pronta.

Ecco le forms di haresources

 loadb1 IPaddr::10.0.11.200/32 varnishd 

* Ancora una volta, lo stesso su loadb2 (ho anche cercato di farlo in modo che il battito cardiaco non gestisca altro che l'IP, quindi non "varnishd" alla fine nelle lepri)

La mia configuration vernice è la seguente:

  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; } } 

Ho il mio battito cardiaco funzionante bene. L'ip 10.0.0.1 è completamente pingabile. Ma quando sono arrivato a 10.0.0.1 in un browser ho un reset di connessione. (niente sta ascoltando sulla port 80). So che funziona la vernice di configuration. So che funziona il funzionamento del heartbeat. Non posso convincerli a lavorare insieme. Qualcuno ha suggerimenti o idee? Mi piacerebbe molto apprezzare each consiglio, direzione, ecc che qualcuno può fornire. Grazie.

3 Solutions collect form web for “Vernice & Heartbeat come bilanciere del carico”

È ansible eseguire il proprio script in risorse.d in modo che il battito cardiaco possa gestire il deamon di vernice.

Una soluzione semplice sarebbe

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

Potete trovare un piccolo manuale in lingua tedesca sotto http://foobar.lamp-solutions.de/howtos/lamp-administration/tuning/tuning-einzelansicht/archive/2011/may/article/hoechverfuegbarer-http-loadbalancer-mit- vernice-und-battito cardiaco-unter-ubuntu-1004.html

Ok, le basi:

  • Puoi vedere l'indirizzo IP 10.0.0.1 su una delle macchine per verniciatura? ( ip ad show )
  • La vernice sta ascoltando correttamente sulla port 80, tutti gli indirizzi IP? ( netstat -tanp )

Se questi due sono corretti, accade qualcosa di più eccitante 🙂 Utilizzo una soluzione simile a quella che ho descritto su questa risposta , puoi usare la stessa roba e utilizzare solo 1 ip per get lo stesso effetto che vuoi.

Sì. Il problema sembrava essere che il mio battito cardiaco fosse necessario configurare per non avere il "varnishd" in esso. Per qualunque ragione, il battito cardiaco odiava questo. Quindi il battito cardiaco non gestisce completamente la vernice. Ma ho cronjob che sta eseguendo uno script per vedere se la vernice è in esecuzione. Se non lo è, riavviarlo.

Suggerimenti per Linux e Windows Server, quali Ubuntu, Centos, Apache, Nginx, Debian e argomenti di rete.