Heartbeat Apache Cluster Debian

uz par komandi i editiranje par fajlova dobicete jednostavno i efikasno rijesenje Apache Clustera na Debianu (za pocetnike sam napisao kompletan HowTo negdje :slight_smile: ) za one koji vec nesto znaju o linuxu:

  1. apt-get install apache2 heartbeat

  2. editiraj /etc/hosts (ukucaj imena Servera i njihove IP adrese)

Linlab1 192.168.0.135
Linlab2 192.168.0.136
Virtual 192.168.0.153 #optionalno

  1. editiraj /etc/apache2/apache2.conf i dodaj (ovo je virtualna adresa na kojoj ce laufati apache):

Listen 192.168.0.153:80

4.editiraj /etc/apache/ports.conf i deaktiviraj sa ‘#’ sledece:

#NameVirtualHost *:80
#Listen 80

  1. editiraj na svakom serveru /var/www/index.html i ubaci nesto kao " wooow sad si na Linlab1", broj ili ime izmjeni za svakog servera posebito.

  2. kopiraj fajlove iz /usr/share/doch/heartbeat u direktorij /etc/ha.d/ , treba nam authkeys, ha.cf, haresources (ako su upakovani kao .gz
    korisiti gunzip :wink: )

7.editiraj ha.cf :

logfile /var/log/ha-log
logfacility local0
keepalive 2
deadtime 30
initdead 120
udpport 694
auto_failback on
node Linlab1
node Linlab2

8.editiraj haresources i dodaj :

Linlab2 IPaddr::192.168.0.153 apache2

9.editiraj authkeys poslije promjeni premisije na isti fajl:

auth 1
1 sha1 test-ha
chmod 600 authkeys

  1. testiraj
    startaj heartbeatove na svim Serverima pa ih zaustavi na jednom od njih:
    /etc/init.d/heartbeat start|stop

gledaj u log file:
tail -f /var/log/ha-log

pukni ping na virtualnu ip adresu
ping 192.168.0.153 (pod windowsom -t za beskonacnu paljubu)

otvori neki od brovsera i ukucaj tvoju virtualnu IP i to je to sa obzirom na to koji je server aktivan prikazace vam se text koji ste na istom utipkali

  1. zapali jos jednu cigaru i popij jos jedan lavor kafe jer ko zna sta sljedi poslije ovoga :slight_smile:

P.S ako nije funkcionisalo onda je do tebe , procitaj ponovo, pronadji greske u koracima i popravi

Zar ovo nije ancient history?

Heartbeat 1 koliko mogu primjetiti. Plus za ovo ti treba neki rsync ili neki drugi nacin da sinkronizujes web sadrzaj.

[quote=Amar]Zar ovo nije ancient history?

Heartbeat 1 koliko mogu primjetiti. Plus za ovo ti treba neki rsync ili neki drugi nacin da sinkronizujes web sadrzaj.[/quote]
zasto bi bilo “ancient history” ja sam se polomio dok nisam skuzio da za debian moram izkomentirati stvarcice u ports.conf, to nisam nasao gogletom :slight_smile: znaci da je za squeeze aktuelno :slight_smile:

Dobro ovo je samo prijemer za WEB naravno da treba rsync ako je staticka stranica ili neki mount inace za dinamicnu + DB ako se nalazi na istom serveru moguca je i multimaster replikacija ovisno o kojoj je DB rijec i to sve putem heartbeata.
Naravno i svi ostali servisi idu.

Heartbeat 1? Moze li me malo prosvijetliti?

Hvala

Ma odrzavaju se heartbeat paketi, bez obzira na verziju. Tako i na squeeze-u mozes odraditi klasicni heartbeat v.1 + rsync i imas bazicni web cluster.
Prosao sam to sve, i ja krenuo od verzije 1 dok me @maher nije uputio na pravi put :slight_smile:

evo ti tema:

http://forum.linux.org.ba/viewtopic.php?id=6006

Ukratko, replikaciju radis na block device nivou, koristeci shared disk, najbolje sa DRBD-om. A za cluster koristis Pacemaker+Heartbeat3 ili openAIS.

Zahtijeva dooooosta vise konfiguracije, poznavanje OCF skripti ali je puno bolje od klasicnog Heartbeat-a.

Plus, gotovo sve web stranice danas su dinamickog sadrzaja. A to je malo teze sync-ati bez shared diska.

super uputa, hvala mada mene DRBD puno ne tangira draza mi je stara skola sa nfs i DB konekcijom, usput pogledaj metodu kojom se koristi HAProxy radi “spasa” sesije :slight_smile: intrersantna stvar

ovaj pristup ti omogucava samo da pratis da li je node ziv ili ne. Recimo ovaj scenario:

Linlab1 ti je aktivni node.
na njemu ti se vrti apache.
iz bilo kojeg razloga apache prestane da radi.

Problem je sto u ovom slucaju, heartbeat nece prijaviti nikakav problem jer iz njegove perspektive, sve je ok, oba node-a su ziva. Odnosno, nece pogasiti preostale resurse na Linlab1 i podici Linlab2 kao primarni node.
Heartbeat v.1 radi samo monitoring node-a, resurse ne nadgleda. Za tako nesto ti treba http://www.linux-ha.org/mon.
Ili jednostavno novija verzija heartbeata koja nadgleda i resurse.

[quote=Amar]ovaj pristup ti omogucava samo da pratis da li je node ziv ili ne. Recimo ovaj scenario:

Linlab1 ti je aktivni node.
na njemu ti se vrti apache.
iz bilo kojeg razloga apache prestane da radi.

Problem je sto u ovom slucaju, heartbeat nece prijaviti nikakav problem jer iz njegove perspektive, sve je ok, oba node-a su ziva. Odnosno, nece pogasiti preostale resurse na Linlab1 i podici Linlab2 kao primarni node.
Heartbeat v.1 radi samo monitoring node-a, resurse ne nadgleda. Za tako nesto ti treba http://www.linux-ha.org/mon.
Ili jednostavno novija verzija heartbeata koja nadgleda i resurse.[/quote]
uvjern :slight_smile: mada je tesko starom skriptasu (resurse sam provjeravo scriptama) pa sam iste startovao preci na nove automatske metode ali bum pogledal :slight_smile:

Neces se pokajati :slight_smile:

Plus, ako si skriptas, onda ce ti OCF skripte doci kao izazov, a HA community je odlican.