Newsgroup: it.comp.os.linux.sys
Titolo: Consiglio per Cluster Linux RedHat PHP Mysql

Ciao
Premetto che non ho esperienza di clustering
e cose simili ... per questo chiedo consiglio
a qualche esperto che ci è già passato ... :-)
Attualmente ho un server biprocessore raid servelinux
con SO RedHat 7.3 che gestisce un applicativo
abbastanza complesso che gira su PHP 4.2.3 e
MySql.
Ho la necessità di garantire che il servizio stia su
"ad ogni costo" ;-)
Il fatto che sia Raid 2 ( 2 dischi ) non mi da tutta questa
sicurezza e quindi devo inventarmi qualche cosa ...
Avrei pensato, visto che è già in mio possesso,
di utilizare una bilanciatore HD ( il PHOBOS IPXPRERSS)
che fra le sue diversi algoritmi è anche in grado
di redirezionare il traffico sulla macchina "raggiungibile".
Quindi avrei pensato di affiancare un secondo server "inutilizzato",
tutte le notti mirrorarne sopra tutto, e nel caso di rottura del
server 1, redirezionare sul 2.
Il fatto è che non mi pare una soluzione estremamente "elegante"
e lo switch andrebba fatto manualmente, anche se da remoto.
La soluzione più interessante sarebbe far andare i 2 server
contemporaneamente come se fossero uno solo.... solo che non ho idea
di come si faccia ...( dritte, esperienze personali, doc ... sarebbero
provvidenziali :-)
Grazie per la pazienza di chi si è letto sta sleppa....
                                            -- Yena --

Fare una migrazione notturna o redirezioni manuali non ti salva da
down-time, affianca un altro server e utilizza mon + heartbit per gestire il
failover e su una macchina esterna a monte puoi utilizzare ipvsadm per
gestire il bilanciamento del traffico.
Dave

--------------------------------
Inviato via 
http://usenet.libero.it

 Dave
Cosa ne pensi di openmosix?
 
http://www.openmosix.org
                                                    -- Yena --


Ricominciamo ... tu hai bisogno di Fail-over, di Load Balancing, di un
"super-computer" ..
Fammi capire cosa hai, cosa non va e quindi cosa vorresti. Da li poi vediamo
di capire che cosa effettivamente di serve.
OpenMosix distribuisce il carico di lavoro su più macchine ed è conveniente
per parecchi server (la media d'uso credo di ricordare sia con 25 server),
se vuoi 'solo' avere più availability dirigiti sul fail-over con facility di
load balancing. Se invece effettivamente hai un server stracarico e vuoi
ripartizionare il carico puoi andare su openmosix, ma nel msg originale
credo che tu cada nella prima scelta.
 Dave



La soluzione ideale, penso sia un sistema fatto in questo modo:
Un nodo che smista le chiamate che può essere o uno "switch" (o bilancino
.. )
o una macchina linux dedicata allo scopo.
Queste chiamate vengono smistate su un cluster che dovrebbe essere
visto come un unica macchina con FS unico ( quello che viene chiamato
file system distribuito o "MFS") e per questo pensavo a OpenMosix poichè
ho letto che lo supporta...... Questo mi elimina anche i vari
problemi sulle sessioni ( dove metterle, perdita in caso di rottura di una
macchina )
e sul dove mettere il DB.
La necessità di un MFS deriva dal fatto che non vorrei modificare il
software che
già gira e con un sistema così fatto ( da quanto ho capito ) anche se mi si
rompe la scheda madre del server2, il server1 continua a funzionare seza
problemi;
Inoltre , si può fare anche del Load Balancing che con l'aumentare
delle richieste non guasterebbe oltre al fatto di avere un sistema
scalabile,
potendo in seguito aggiungere altre macchine anche differenti fra loro.
Cosa dici Dave ... ti sembrano sensate le mie valutazioni ?
                                    -- Yena --


uhmmmm .... tu vuoi bilanciamento del traffico di rete + cluster con
bilanciamento del carico di lavoro con FS condiviso per avere i file di
sessione in comune, right?
Non sono preparatissimo su OpenMosix ma non credo che faccia bilanciamento
network (adesso verifico .... certo se qualcuno lo sa già e posta ..... !!!
) quindi se è vero hai bisogno (come dicevi giustamente tu) di una macchina
a monte che smista il traffico e sotto un cluster OpenMosix. Si può andare
... l'alternativa sarebbe bilancino con 2 server gestiti da heartbeat con
drdb (per le sessioni), ma non hai la gestione del carico lavoro.
Per bilanciare (e per risparmiare) basta una macchina low-budget con linux e
ipvsadm.



Grazie Dave del tuo tempo :-)
Per il bilancino userei un "bagaglio" che ho già:
il PHOBOS ipxpress che dovrebbe fare al caso mio....
e OpenMosix lo utilizzerei per rendere i 2 server una "sola macchina".
( Che io sappia Mosix fa anche il bilancino volendo )
Comunque mi sto documentando e sto rompendo un po' a tutti ....
ti faccio sapere i progressi al prossimo post :-)
                                                                        --
Yena --

 > > e sul dove mettere il DB.
Riflettevo su sto punto, anch'io mi sto documentando ora e per quello che ho
capito (ma potrei sbagliarmi) avere MFS non ti risolve i problemi di
sessione. MFS ti permette di montare un remote FS in locale e lavorarci
'come se fosse locale' :
Dal manuale di OM:
oMFS is a feature of openMosix which allows you to access remote filesystems
in a cluster as if they were locally mounted. The filesystems of your other
nodes can be mounted on /mfs and you will, for instance, find the files in
/home on node 3 on each machine in /mfs/3/home.
IMHO se quello che vuoi è aumentare l'availability del tuo web server
aggiungendo un'altra macchina e bilanciando il traffico, gestendo il tutto
di modo che se una macchina va giù l'altra risponde, ma non vuoi perdere le
sessioni, ti conviene fare un load-balancing classico sui 2 web-server e per
le sessioni è suff. esportare le directory in modo incrociato
(DIR_A-->host_B e DIR_B--->host_A ) di modo che se uno va giù nell'altro hai
le sessioni del web server unavailable.


 Dave
Si mi pare che tu abbia proprio ragione .... e cosa dici, per il DB cosa mi
conviene,
io pensavo a sto punto di farlo girare su una delle 2 macchine e averne un
mirror
sulla seconda, e nello script gli aggiungo un "if" che gli dice che se non č
disponibile
la connessione sulla prima vada a connettersi sulla seconda ....
Non č proprio il mio "mondo ideale" ma potrebbe andare...
                                                                    --
Yena --

 Yena --
Per i DB hai sempre la possibilità di replicarli, avere quindi un MASTER e
uno SLAVE, inoltre per aumentare le performance, se hai molte query che non
fanno update, puoi mandarle sullo SLAVE, mentre le altre le fai gestire al
MASTER ...
Dave.
