This shows you the differences between two versions of the page.
saisp:labs:05:contents:03 [2014/03/02 18:52] alexandru.carp [LVS-TUN (tunneling)] |
saisp:labs:05:contents:03 [2014/03/24 16:30] (current) alexandru.carp [03. [20p] Linux-HA] |
||
---|---|---|---|
Line 1: | Line 1: | ||
- | ==== 02. LVS-TUN (tunneling) ==== | + | ==== 03. [20p] Linux-HA ==== |
- | In continuare, vom configura directorul pentru a folosi modul LVS-TUN. Apoi, vom observa diferentele fata de LVS-DR. | + | **Linux-HA** este o solutie de clustering. Vom configura un cluster simplu, format 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-ul. Adăugați liniile corespunzătoare în /etc/hosts: | ||
+ | |||
+ | <code> | ||
+ | saisp-vm-2# echo "10.0.0.30 saisp-vm-3" >> /etc/hosts | ||
+ | </code> | ||
+ | <code> | ||
+ | saisp-vm-3# echo "10.0.0.20 saisp-vm-2" >> /etc/hosts | ||
+ | </code> | ||
+ | |||
+ | 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> | ||
+ | |||
+ | Linux-HA oferă suport pentru autentificarea conexiunii. Să configurăm folosirea SHA1: | ||
+ | * Fișierul de configurare corespunzător este ''authkeys'': | ||
+ | <code> | ||
+ | auth 1 | ||
+ | 1 sha1 42ade27dad9045964fab10a395ffe4e0f726a80b | ||
+ | </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> | ||
+ | saisp-vm-2 10.0.0.50 apache2 | ||
+ | </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. |