Fórum Ubuntu CZ/SK

Ostatní => Ubuntu Server => Téma založeno: locus 07 Července 2011, 21:29:31

Název: cluster ha na dvou web serverch
Přispěvatel: locus 07 Července 2011, 21:29:31
Zdravím,

nemáte někdo zkušenosti s clusterem na Ubuntu serveru? Běží na strojích apache2 a mysql, ftp a ssh. Jde mi o to aby služby i data byli co nejvíce dostupné.

Předem děkuji za reakci.
Název: Re: cluster ha na dvou web serverch
Přispěvatel: Tomáš Břinčil 07 Července 2011, 23:38:10
mod_proxy_balancer pro Apache2?
Název: Re: cluster ha na dvou web serverch
Přispěvatel: locus 08 Července 2011, 00:14:24
no ja spíš ten cluster. Jde mi o max dostupnost serverů. Na googlu jsem narazil na cluster pomocí Heartbeat ale popravně s tímto mám nulové zkušenosti tak snažím pochopit dokumentaci.

Jde oto že mám dva stoje a to jeden s ip 192.168.1.2 a druhý s ip 192.168.1.4. Aktuálně je port forwarding z veřejné ip na 192.168.1.2 což je zároveň jako primární stroj. Jde mi oto aby stroj s ip 192.168.1.4 přebral veškerou funkcionalitu při výpadku primarního stroje tedy 192.168.1.2.

Zároveň je potřeba udržovat na obouch strojích souběžně stejná data.

Máte s tím někdo nějakou zkušenost?
Název: Re: cluster ha na dvou web serverch
Přispěvatel: Tomáš Břinčil 08 Července 2011, 09:50:08
Zkušenost s tím nemám, možná Martin Kiklhorn, když se tu objeví, tak třeba napíše.
Ale tohle je vyšší dívčí a určité know-know. Nebo zkus NTZ, třeba bude mít náladu ;D
Název: Re: cluster ha na dvou web serverch
Přispěvatel: ntz_reloaded 08 Července 2011, 11:25:39
Zkušenost s tím nemám, možná Martin Kiklhorn, když se tu objeví, tak třeba napíše.
Ale tohle je vyšší dívčí a určité know-know. Nebo zkus NTZ, třeba bude mít náladu ;D
;) ntz nebude mit naladu vodit nekoho za rucicku kdyz neni nic jednodusiho nez napsat do guglu "linux apache cluster howto" .. ale ukazu i lidskou tvar:

http://www.linuxvirtualserver.org/index.html

a zhruba tohodle potrebujes dosahnout (jeden z mych clusteru):

Kód: [Vybrat]
# ipvsadm | egrep cucm\|60.7
TCP  cucm02.testnet.local:http rr persistent 360
  -> 192.168.60.79:http           Masq    1      0          0
  -> 192.168.60.78:http           Masq    1      0          0

jinak rad bych upozornil na to, ze mam s debianima (a ubuntima) balickama jen tu nejstrasnejsi zkusenost .. hotove *hruzne zazitky a v zivote bych na tohle debian (ubuntu) nepouzil .. ja mam load balancery v soucasne dobe na suse (ale naprosto v poho je fedora, centOS) a backend bezi na centOS.

ave, ntz
Název: Re: cluster ha na dvou web serverch
Přispěvatel: locus 08 Července 2011, 13:07:27
No tak je mi jasne že to je know-how nicméně si myslim že by to mohlo být zajímavé i pro ostatní. Na googlu jsem narazil na jedno řešení pomocí http://www.drbd.org/ (http://www.drbd.org/)

Co si o tom myslíte. Zkoušel jste toto řešení někdo?
Název: Re: cluster ha na dvou web serverch
Přispěvatel: ntz_reloaded 08 Července 2011, 13:10:03
ja osobne ti doporucuju drzet se ip_vs .. az v tom budes trocha chodit tak si experimentuj dle libosti .. pokud chces nejake rady tak na standardni metodu co jsem ti nabidl jich sezenes vic nez nejake obligatni drbd co moc lidi nezna
Název: Re: cluster ha na dvou web serverch
Přispěvatel: locus 08 Července 2011, 13:28:38
rozumím jsem v clasteru opravdu amatér. Tím chci říct že si rád nechám poradit. Tedy jdu si nainstalovat fedoru. Ještě moc nevím o postupu který je nutný udělat abych IP_VS dosáhl. Hledám nějaký how to.
Název: Re: cluster ha na dvou web serverch
Přispěvatel: ntz_reloaded 08 Července 2011, 13:36:54
rozumím jsem v clasteru opravdu amatér. Tím chci říct že si rád nechám poradit. Tedy jdu si nainstalovat fedoru. Ještě moc nevím o postupu který je nutný udělat abych IP_VS dosáhl. Hledám nějaký how to.
nemusis instalovat fedoru, klidne to zkus na ubuntu .. ja jsem jen referoval o svych spatnych zkusenostech (par let starych), treba se to zmenilo .. pokud chces jednoduchej http|https|ftp cluster tak ti staci jen *nejake sdilene storage (NFS, CIFS, iSCSI) a dva stroje .. doporucuju ti naucit se to na jedne masine s kvm ..

udelej si dve minimalisticke virtualky v kvm a nainstaluj do nich co budes potrebovat ... na tom samem kompu si normalne vytvor nejake sdileni pomoci vyse uvedenych metod a zclusteruj ty dve virtualky ... nic vic ;)
Název: Re: cluster ha na dvou web serverch
Přispěvatel: locus 08 Července 2011, 14:27:14
tedy jestli to již aspon trochu chápu tak potom to bude fungovat tedy pracovat tak že budou dva stroje tedy stroj s ip 192.168.1.2 a pak druhý stroj s ip 192.168.1.4 a potom k tomu bude ještě pak ještě ten sdílenej storage kde budo data. Jde mi teď oto jak se bude třeba řešit apache 2 s mysql databazi.
Název: Re: cluster ha na dvou web serverch
Přispěvatel: ntz_reloaded 08 Července 2011, 14:38:17
vsechno je jednoduse vyguglitelne na netu .. apache|mysql cluster je 1000+1x popsanej .. psat sem nejake navody je noseni drivi do lesa a ztrata casu ..
Název: Re: cluster ha na dvou web serverch
Přispěvatel: locus 19 Července 2011, 11:41:08
JJ takže KVM jsem vzdal a na desktopu s Win 7 jsem nahral virtuál box a zprovoznil jsem dvě ubuntu stanice s Web serverem. Můžete mi doporučit nějaký ozkoušený návod na ten cluster prosím.
Název: Re: cluster ha na dvou web serverch
Přispěvatel: ntz_reloaded 19 Července 2011, 12:04:21
http://code.google.com/p/linux-ha-examples/wiki/SanActivePassiv
http://www.teegee.de/index2.php?option=com_docman&task=doc_view&gid=16&Itemid=7
http://tldp.org/HOWTO/Cluster-HOWTO.html
http://www.gentoo.org/proj/en/cluster/
http://www.centos.org/docs/5/html/Cluster_Suite_Overview/s1-clstr-basics-CSO.html
http://prefetch.net/presentations/CentosClusterServer.pdf

^^ cluster je uz trosku vyssi divci .. abys ho udelal tak musis mit nejake zkusenosti a snahu. v tomto pripade (9vic nez v jinych) je googl tvuj pritel ;)
Název: Re: cluster ha na dvou web serverch
Přispěvatel: RapMan 19 Července 2011, 16:32:14
Cus, Heartbeat spolecne s drbd mame v praci nasazeny pro provoz mysql databaze (opensuse).

Principielne to funguje zhruba takto -
2 stejne servery, kazdy server ma jedno Gbit rozhrani do vnejsi site, a jedno gbit rozhrani pro pripojeni primo na druhy server + jeste kazdy server ma svuj iLO board.

Jeden server provozuje obe sluzby (apache, mysql) a na druhy se data dostavaji pomoci drbd). Pokud klekne, sluzby automaticky prebira druhy server. Pokud jeden server zjisti, ze druhy nejede, pripoji se na jeho iLO board a zkusi ho resetovat.

Je to v provozu na jedne pobocce v CR a 2 pobockach v Nemecku, zatim to pry bezi spolehlive. Urcite riziko muze byt, kdyz z nejakeho duvodu spadnou oba servery a pak najede jen jeden - v tu chvili ceka na ten druhy server, nebo se mu musi natvrdo rict, ze ma byt master. Tahle situace zatim ale jeste nenastala.
Název: Re: cluster ha na dvou web serverch
Přispěvatel: Tomáš Břinčil 19 Července 2011, 18:46:34
Což znamená, že oproti nějakému cloudu máš výkon jedné mašiny i v normálním režimu.
Stalo se už někdy, že se provoz musel přepínat?
Název: Re: cluster ha na dvou web serverch
Přispěvatel: RapMan 19 Července 2011, 21:24:07
da se rict ze ano, nebo resp. o nula cela nula nic slabsi, protoze napr. u zapisu to probiha nasledovne - klient posle insert, ten se zapise na bezicim serveru, pres drbd se zapisi zmenene sektory na druhem serveru, prvni server dostane odpoved, ze se to zadarilo, a az teprve potom posle klientovi ze je operace ok.
V realnem provozu k prepnuti jeste nemuselo dojit, pri testovani vse fungovalo spravne.
Název: Re: cluster ha na dvou web serverch
Přispěvatel: locus 20 Července 2011, 16:58:04
Kód: [Vybrat]
[code]No tak na DRDB jsem narazil jako jednu z první varianty velice mě zaujala. Postupoval jsem pode tohoto postupu: [url=https://help.ubuntu.com/10.04/serverguide/C/drbd.html]https://help.ubuntu.com/10.04/serverguide/C/drbd.html[/url] upravil jsem si /etc/hosts a /etc/drbd.conf


no zasekl jsem se tady:

[code]
 * Starting DRBD resources                                                                                                   [
r0
no suitable meta data found :(
Command '/sbin/drbdmeta 0 v08 /dev/sda1 internal check-resize' terminated with exit code 255
drbdadm check-resize r0: exited with code 255
d(r0) 0: Failure: (104) Can not open backing device.

[r0] cmd /sbin/drbdsetup 0 disk /dev/sda1 /dev/sda1 internal --set-defaults --create-device  failed - continuing!
 
s(r0) n(r0) ]..........
***************************************************************
 DRBD's startup script waits for the peer node(s) to appear.
 - In case this node was already a degraded cluster before the
   reboot the timeout is 60 seconds. [degr-wfc-timeout]
 - If the peer was available before the reboot the timeout will
   expire after 15 seconds. [wfc-timeout]
   (These values are for resource 'r0'; 0 sec -> wait forever)
 To abort waiting enter 'yes' [  14]:


Takto mám /etc/drdb.conf:

Kód: [Vybrat]
global { usage-count no; }
common { syncer { rate 100M; } }
resource r0 {
        protocol C;
        startup {
                wfc-timeout  40;
                degr-wfc-timeout 60;
        }
        net {
                cram-hmac-alg sha1;
                shared-secret "secret";
        }
        on test1 {
                device /dev/drbd0;
                disk /dev/sda1;
                address 192.168.1.14:7788;
                meta-disk internal;
        }
        on test2 {
                device /dev/drbd0;
                disk /dev/sda1;
                address 192.168.1.16:7788;
                meta-disk internal;
        }
}

takto mám /etc/hosts

Kód: [Vybrat]
127.0.0.1               localhost.localdomain     localhost
192.168.1.14            test1                        test1
192.168.1.16            test2                        test2
[/code][/code]
Název: Re: cluster ha na dvou web serverch
Přispěvatel: locus 21 Července 2011, 08:55:37
Toto jsem našel v syslogu:


Kód: [Vybrat]
Jul 21 08:51:12 test1 kernel: [37321.982425] drbd: module cleanup done.
Jul 21 08:51:13 test1 kernel: [37322.053541] drbd: initialized. Version: 8.3.9 (api:88/proto:86-95)
Jul 21 08:51:13 test1 kernel: [37322.053545] drbd: srcversion: CF228D42875CF3A43F2945A
Jul 21 08:51:13 test1 kernel: [37322.053546] drbd: registered as block device major 147
Jul 21 08:51:13 test1 kernel: [37322.053548] drbd: minor_table @ 0xf3e36f80
Jul 21 08:51:13 test1 kernel: [37322.063921] block drbd0: Starting worker thread (from kworker/u:0 [5])
Jul 21 08:51:13 test1 kernel: [37322.066052] block drbd0: open("/dev/sda1") failed with -16
Jul 21 08:51:13 test1 kernel: [37322.070137] block drbd0: drbd_bm_resize called with capacity == 0
Jul 21 08:51:13 test1 kernel: [37322.070141] block drbd0: worker terminated
Jul 21 08:51:13 test1 kernel: [37322.070143] block drbd0: Terminating drbd0_worker


Název: Re: cluster ha na dvou web serverch
Přispěvatel: Tomáš Břinčil 21 Července 2011, 20:59:30
Ten první log je dost výmluvný ne?
Je čas začít používat vlastní hlavu nebo zkusit hledat podobné chyby na internetu.
Název: Re: cluster ha na dvou web serverch
Přispěvatel: locus 21 Července 2011, 22:21:21
no ja fakt nevím, Prosím mohli by jste mě někdo nasměrovat. Prosím
Název: Re: cluster ha na dvou web serverch
Přispěvatel: RapMan 22 Července 2011, 00:03:22
Pustil jsi daemona na obouch strojich? Ma primountovano sudo mount /dev/drbd0 /srv z toho navodu?


Podle toho logu drbd ceka na ten druhy stroj.
 
Název: Re: cluster ha na dvou web serverch
Přispěvatel: locus 22 Července 2011, 09:15:19
No právě že jo ale píše mi to že je to chráněno proti zápisu


Kód: [Vybrat]
root@test1:~# sudo mount /dev/drbd0 /srv
mount: blokové zařízení /dev/drbd0 je chráněno proti zápisu, připojuji pouze pro čtení
mount: Chybný typ média
root@test1:~# sudo mkfs.ext3 /dev/drbd0
mke2fs 1.41.14 (22-Dec-2010)
mkfs.ext3: Chybný typ média při pokusu zjistit velikost systému souborů
root@test1:~#
Název: Re: cluster ha na dvou web serverch
Přispěvatel: locus 22 Července 2011, 09:39:06
je to divné

Kód: [Vybrat]
root@test1:/var/log# cat /proc/drbd
version: 8.3.9 (api:88/proto:86-95)
srcversion: CF228D42875CF3A43F2945A
 0: cs:Unconfigured
Název: Re: cluster ha na dvou web serverch
Přispěvatel: locus 28 Července 2011, 14:01:59
no tak udělal jsem si nové dva virtualy na Virtualboxu www1 a www2

vše jsem udělal stejně. a stále né a né jet.

zkusil jsem i monuntnout k srv a toto jsem obdržel na obou strojích.

Kód: [Vybrat]
root@www2:~# sudo mount /dev/drbd0 /srv
mount: blokové zařízení /dev/drbd0 je chráněno proti zápisu, připojuji pouze pro čtení
mount: Chybný typ média

na oficiálním webu drbd.org jsem našel java managment. No ale nevím proč ale oba jsou jako sekundarní nejde mi ani jeden nastavit jako primarní

[attachment deleted by admin]