Differences

This shows you the differences between two versions of the page.

Link to this comparison view

saisp:labs:09:contents:07 [2014/05/05 13:03]
razvan.deaconescu
saisp:labs:09:contents:07 [2014/05/05 14:24] (current)
razvan.deaconescu
Line 1: Line 1:
 ==== 07. [BONUS - 10p] Load balancing în Varnish ==== ==== 07. [BONUS - 10p] Load balancing în Varnish ====
  
-Dorim să facem load balancing (denumit și [[https://​www.varnish-cache.org/​docs/​3.0/​tutorial/​advanced_backend_servers.html#​directors|directors]] în Varnish). Înainte de această configurare,​ opriți mașina virtuală ''​web''​ și creați o copie a imaginii ''​web.qcow2''​. Apoi editați scriptul ''​xlr8-start-kvm''​ pentru a porni o nouă mașina ''​web'',​ cu altă adresă IP. Această mașină web este al doilea back end.+Dorim să facem load balancing (denumit și [[https://​www.varnish-cache.org/​docs/​3.0/​tutorial/​advanced_backend_servers.html#​directors|directors]] în Varnish). Înainte de această configurare,​ opriți mașina virtuală ''​web''​ și creați o copie a imaginii ''​web.qcow2''​ într-un alt fișier, de exemplu ''​web-copy.qcow2''​. Apoi editați scriptul ''​xlr8-start-kvm''​ pentru a porni o nouă mașina ''​web'',​ cu altă adresă IP. Această mașină web este al doilea back end. 
 + 
 +<note tip> 
 +Porniți doar copia mașinii virtuale, ca să nu aveți conflict de adresă IP. Apoi schimbați adresa IP în ''​192.168.0.4''​ în fișierul ''/​etc/​network/​interfaces''​. 
 + 
 +Schimbați adresa MAC a copiei mașinii virtuale în scriptul ''​xlr8-start-kvm''​ ca să fie diferită de adresele MAC ale celorlalte mașini virtuale. 
 + 
 +În scriptul ''​xlr8-start-kvm''​ folosiți o nouă interfață TAP, de exemplu ''​tap3'',​ și stabiliți un nou port VNC, de exemplu '':​3''​. 
 +</​note>​ 
 + 
 +<​solution -hidden>​ 
 +Fișierul ''​xlr8-start-kvm''​ trebuie actualizat pentru a permite a treia mașină virtuală:<​code>​ 
 +student@mjolnir:​~/​saisp$ cat xlr8-start-kvm  
 +[...] 
 +web_copy_hdd="​web-copy.qcow2"​ 
 +[...] 
 +sudo kvm -hda "​$web_copy_hdd"​ \ 
 +    -m 512 -smp 1 \ 
 +    -net nic,​macaddr=52:​54:​00:​12:​34:​53 \ 
 +    -net tap,​ifname=tap3,​script=no,​downscript=no \ 
 +    -vnc :3 -daemonize 
 +[...] 
 +sudo brctl addif br-kvm tap3 
 +[...] 
 +sudo ip link set dev tap3 up 
 +[...] 
 +</​code>​ 
 +De asemenea, în fișierul ''/​etc/​network/​interfaces''​ din sistemul de fișiere al mașinii virtuale ''​web-copy.qcow2'',​ am configurat adresa IP ''​192.168.0.4''​. 
 + 
 +Pornim mașinile virtuale folosind scriptul ''​xlr8-start-kvm''​. 
 +</​solution>​
  
 Configurați Varnish pe mașina virtuală ''​varnish''​ să folosească cele două servere web de pe celelalte două mașini virtuale în load balancing de tip round robin. Configurați Varnish pe mașina virtuală ''​varnish''​ să folosească cele două servere web de pe celelalte două mașini virtuale în load balancing de tip round robin.
  
 +<note tip>
 +Va trebui să configurați directorul pe post de backend folosind ''​set req.backend ...''​. Urmăriți și exemplul de [[http://​opentsdb.net/​docs/​build/​html/​user_guide/​utilities/​varnish.html|aici]].
 +</​note>​
 +
 +<​solution -hidden>
 +Realizăm configurarea în fișierul ''/​etc/​varnish/​default.vcl'':<​code>​
 +root@varnish:​~#​ vi /​etc/​varnish/​default.vcl
 +root@varnish:​~#​ cat /​etc/​varnish/​default.vcl
 +[...]
 +backend default {
 +    .host = "​192.168.0.2";​
 +    .port = "​80";​
 +}
 +backend new {
 +    .host = "​192.168.0.4";​
 +    .port = "​80";​
 +}
 +
 +director sample round-robin {
 +  {
 +    .backend = default;
 +  }
 +  {
 +    .backend = new;
 +  }
 +}
 +
 +sub vcl_recv {
 +  set req.backend = sample;
 +}
 +</​code>​
 +Repornim serviciul Varnish:<​code>​
 +root@varnish:​~#​ service varnish restart
 +</​code>​
 +și apoi verificăm prin accese repetate folosirea unui back end și apoi a altuia. Pentru validare folosim comanda:<​code>​
 +root@varnish:​~#​ varnishlog -i RxHeader -I Cookie
 +</​code>​
 +</​solution>​
saisp/labs/09/contents/07.1399284235.txt.gz · Last modified: 2014/05/05 13:03 by razvan.deaconescu
CC Attribution-Share Alike 3.0 Unported
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0