Differences

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

Link to this comparison view

saisp:labs:05:contents:03 [2014/03/02 19:00]
alexandru.carp
saisp:labs:05:contents:03 [2014/03/24 16:30] (current)
alexandru.carp [03. [20p] Linux-HA]
Line 1: Line 1:
-==== 02LVS-TUN (tunneling) ​====+==== 03[20p] Linux-HA ====
  
-In continuare, vom configura directorul pentru a folosi modul LVS-TUNApoivom observa diferentele fata de LVS-DR.+**Linux-HA** este o solutie de clusteringVom configura un cluster simpluformat din două noduri.  
 + 
 +{{:​saisp:​labs:​05:​contents:​lab05-ha.jpg|}} 
 + 
 +Topologia conceptuala este cea din figura ​de mai sus. Observatii:​ 
 +  * Cele două realservere din topologia ​LVS vor fi configurate ca un cluster. 
 +  * Directorul din topologia LVS nu mai are nici un rol aici. Inchideti masina virtuala respectiva, pentru a nu consuma resurse inutil. 
 +  * Adresa IP prin care va fi accesibil serviciul HTTP este 10.0.0.50. 
 + 
 +Pachetul ''​heartbeat''​ este deja instalat pe **saisp-vm-2** si **saisp-vm-3**. 
 + 
 +Este necesar ca stațiile să se poată adresa una pe cealaltă folosind doar hostname-ulAdăugați liniile corespunzătoare în /etc/hosts:
  
-Analog punctului anterior, definiti serviciul HTTP pe director, apoi cele doua realservere in modul tunneling (folositi parametrul ''​-i''​). 
-<​solution -hidden> 
 <​code>​ <​code>​
-root@saisp-vm-1:~ipvsadm -A -t 10.0.0.1:80 +saisp-vm-2echo "10.0.0.30 saisp-vm-3" >> /​etc/​hosts 
-root@saisp-vm-1:~# ipvsadm -a -t 10.0.0.1:80 -r 10.0.0.20:​80 -i +</​code>​ 
-root@saisp-vm-1:~ipvsadm -a -t 10.0.0.1:80 -r 10.0.0.30:​80 ​-i+<​code>​ 
 +saisp-vm-3echo "10.0.0.20 saisp-vm-2" >> /etc/hosts
 </​code>​ </​code>​
-</​solution>​ 
  
-Pentru ca realserverele sa poata interpreta corect pachetele primite ​de la directortrebuie sa configuram cate o interfata tunelde tip **ipip**, pe fiecare dintre acestea.+Fișierele ​de configurare pentru heartbeat se găsesc în directorul ''/​etc/​ha.d/''​. Creați**pe ambele stații**fișierul ''​ha.cf''​. 
 +  ​Dezactivați ​**auto-discovery** (Nodurile vor fi specificate manual) 
 +<​code>​autojoin none</​code>​ 
 +  * Specificați modul de comunicare (unicast)interfața ​pe care se comunică (eth0) și **adresa celuilalt nod** (Linux-HA poate folosi, de asemenea, broadcast sau multicast) 
 +<​code>​ucast eth0 10.0.0.30</​code>​ 
 +  * Specificați nodurile care participă la cluster. Va trebui să specificați **inclusiv nodul local** - numele unui nod trebuie întotdeauna să coincidă cu hostname-ul masinii: 
 +<​code>​node saisp-vm-2 saisp-vm-3</​code>​
  
-Interfata tunel trebuie sa aiba aceeasi adresa IP cu adresa virtuala a directorului.+Linux-HA oferă suport pentru autentificarea conexiuniiSă configurăm folosirea SHA1: 
 +  * Fișierul de configurare corespunzător este ''​authkeys'':​
 <​code>​ <​code>​
-root@saisp-vm-2:​~#​ ip tunnel add tun0 mode ipip local 10.0.0.20 +auth 1 
-root@saisp-vm-2:​~#​ ip addr add 10.0.0.1/24 dev tun0+sha1 42ade27dad9045964fab10a395ffe4e0f726a80b
 </​code>​ </​code>​
 +  * Puteți genera un digest SHA1 folosind ''​echo "my secret"​ | openssl sha1''​.
 +  * Fișierul ''​authkeys''​ trebuie să poată fi citit numai de root: ''​chmod 600 /​etc/​ha.d/​authkeys''​.
  
 +Nu în ultimul rând, trebuie să configurăm serviciile oferite de cluster. În acest exemplu, vom configura HTTP.
 +  * Creați fișierul de configurare ''/​etc/​ha.d/​haresources'':​
 <​code>​ <​code>​
-root@saisp-vm-3:~# ip tunnel add tun0 mode ipip local 10.0.0.30 +saisp-vm-10.0.0.50 apache2
-root@saisp-vm-3:​~#​ ip addr add 10.0.0.1/24 dev tun0+
 </​code>​ </​code>​
 +  * Linia de mai sus configurează serviciile apache2 să ruleze inițial pe nodul ''​saisp-vm-2''​. Dacă acest nod pică, serviciile vor fi oferite de ''​saisp-vm-3''​.
 +  * **Atentie:​** Folositi **aceeasi linie** si pe saisp-vm-3 (resursa trebuie detinuta de un singur owner).
 +  * Este important de observat că, în acest exemplu, serviciile rulează pe ambele noduri tot timpul. Ceea ce se schimbă este nodul cu care este asociată adresa IP.
 +
 +Reporniți serviciul ''​heartbeat''​ pe ambele mașini și observați adresele lor IP.
 +
 +Folosind un browser, accesati adresa http://​10.0.0.50/​
 +
 +Experimentați oprind serviciul heartbeat de pe ''​saisp-vm-2''​. După un timeout, ''​saisp-vm-3''​ va avea configurată adresa serviciului pe interfața sa eth0.
 +
 +Accesati din nou adresa http://​10.0.0.50/​ dar observati ca de aceasta data va raspunde statia ''​saisp-vm-3''​.
  
 +**Atenție**:​ acest setup oferă redundanță la nivelul serviciilor,​ dar nu asigură și replicare. Într-o situație concretă, trebuie să ne asigurăm că ambele servere oferă aceleași informații.
saisp/labs/05/contents/03.1393779608.txt.gz · Last modified: 2014/03/02 19:00 by alexandru.carp
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