This shows you the differences between two versions of the page.
saisp:labs:09:contents:07 [2014/05/05 13:21] razvan.deaconescu |
saisp:labs:09:contents:07 [2014/05/05 14:24] (current) razvan.deaconescu |
||
---|---|---|---|
Line 5: | Line 5: | ||
<note tip> | <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''. | 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> | </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> |