2 FreeBSd 5.4 Server redundant

Breiti

Well-Known Member
hallo,

ich habe 2 FreeBSD 5.4 server, die apache, mysql und samba/nfs laufen haben.
die mysql und apache daten befinden sich in /websystem . die samba und nfs daten
befinden sich in /netdrive . mit freevrrpd kann man wunderbar das switchen der
ips loesen falls ein server stirbt, aber wie bekomme ich mysql synchron, und die
daten, ich wollte nicht unbedingt mit rsync arbeiten. klappt die mysql 4.1.x syncronisiereung in beide richtungen verlaesslich, da man nie weiss welcher server
die graetsche mache waere es sinnvoll wenn es eine automatische loesung gebe die sich um das synchronisieren kuemmert.
bin offen fuer jede professionelle idee.

gruss Breiti
 
hi!


mysql kann man in einem cluster betreiben, dafür wird eine mysql-server als master betrieben und "beliebig" viele anderer server als slave. die anfragen werden dann an den master geschickt, der verteilt sie dann automatisch.

http://dev.mysql.com/doc/refman/5.0/en/ndbcluster.html


bei apache, da gibt es doch so was wie einen balancer, kenn ich jetzt aber nur von unsererm tomcat cluster (in der firma), da verteilt der apache die anfragen auf die tomcats. sollte aber auch für anderer apache server gehen. am besten mal google befragen.
 
moin vandom,

ja das mit dem mysql habe ich gesehen, ichhabe aber nur exact 2 server
also keinen dritten der als balancer davor haengt. ich habe mich gefragt
ob der slave wenn der master mal nicht da war die daten auch wieder
an den master schickt !? mal sehen, mache gerade ne parralel installation
unter vmware um das zu testen, mache ich ungerne mit echtservern :)

breiti
 
Die mir derzeit einzig aus dem Stehgreif, bekannte und optimalste Methode dein Ziel zu erreichen wäre die Verwendung von Sequoia (http://sequoia.continuent.org/HomePage).
Allerdings vermisse ich in deiner Umgebung einen Applicationserver und vermute daher, dass du eher mit PHP o.ä. unterwegs bist um die Daten ins MySQL zu bekommen. Die sollen aber auch einen C-Treiber haben. Schau dich dort doch einfach mal um.
 
hmmmm, nicht ganz, das problem das ich habe ist das ich hier 1 server habe,
der nfs samba und apache mit mysql laufen hat. sollte diesen server jemand ausschalten so merkt das ein 2 server der ein exakter spiegel ist und switched
die IP, somit waere der server wieder da bis der eigentliche server 1 wiederkommt,
dann geht server 2 auf eine backup ip zurueck. das ganze habe ich bereits mit
freevrrpd laufen, der vorteil gegemueber crap war in diesem fall das ich scripte
auslosen kann.

was mir jetzt fehlt ist den bestand der beiden server exact gleich zu aben.
das kann man mit rsync oder nfsmount + cpdup machen. aber, wenn der backup
server ( 2 ) mal einspringen soll, dann können die änderungen ja nichtmehr auf
den server 1 übertragen werden. waere alles kein problem, wenn man den rc
scripten undter bsd nicht immer in der etc/rc.conf sagen muesste das sie ueberhaupt
tartbar sind. denn dann wuerde ich bevor ich die services starte immer erst vom anderen server die daten holen.

argl, ich versuchs mal weiter, nen daemon der auf beinen maschinen lungert
und änderungen in einem verzeichniss auf einen 2 uebertraegt waere das richtige.
so ne art verzeichnis monitoring, dann waere jo sogar fast schon das arbeiten auf
beiden maschinen gleichzeitig denkbar :)

Breiti
 
als Loadbalancer habe ich mal pound, haproxy und pen ausprobiert. Diese werden vorrangig für HTTP, aber auch andere TCP Dienste verwendet. Von pen weiß ich dass auch der PEN selber per crrp z.B. redundant ausgelegt werden kann.
außerdem konnte ich mit pen am besten kompliziertes Sessionhandling durchführen. Der Content war nicht ganz sauber - aber nicht meine Schuld. Dafür kann haproxy easy per reg. expression in den http requests manipulieren.

http://siag.nu/pen/
http://w.ods.org/tools/haproxy/
http://www.apsis.ch/pound/

Der Trick besteht ja auch darin dass Du den Balancer selbst zumindest überwachst, aber besser auch redundant auslegst .oO(single Point of failure)

*bitte löschen @admin - dieser Text ist nicht relevant*
 
Breiti schrieb:
hmmmm, nicht ganz, das problem das ich habe ist das ich hier 1 server habe,
der nfs samba und apache mit mysql laufen hat. sollte diesen server jemand ausschalten so merkt das ein 2 server der ein exakter spiegel ist und switched
die IP, somit waere der server wieder da bis der eigentliche server 1 wiederkommt
Nur aus Neugierde, wie machst du das automatisch?

I.MC
 
moin i.mc

freevrrpd ( laeuft auf beiden maschinen ) spricht über das netz mit der anderen
maschine. antwortet diese nichtmehr switcht es die gewünschte ip ( alias ) dazu
und löst ein definiertes script aus. das ganze tut auch wieder zurueck wenn der
server wieder da ist. das tut ganz ordentlich, was mir fehlt ist ein filesystem was
sich über 2 server synchronisieren kann, dabei meine ich jetzt nicht den gesamten
platz beider server zusammen legen ( wie raid 0 ) sondern eine art raid 1 übers
netz.

auf die schnelle konnte ich nicht erlesen ob afs oder coda das leisten, irgentwie
spuki beschrieben was ich bisher zu lesen gefunden habe.

die ip übername und das netzwerk management ist nichtmehr das problem, den
gleichen datenbestand zu haben ist das therma. ich habe 2 server, einer ist davon
master ( nur auf diesem wird gearbeitet ) der andere slave. der slave kommt dann
zum einsatz wenn der master abstirbt. is der master wieder da muss natuerlich
das was auf dem slave erarbeitet wurde auf den master zurueck.

rsync und konsorten sind absolut schlecht da sie das nur zeitgesteuert tuen
koennen, zudem gibts szenarien in denen man manuell taetig werden muss, also
habe ich rsync und ko schopn aufgegeben.

nen daemon den man auf beiden maschinen laufen hat, und der ein verzeichnis
monitored und aktionen wie erstellen, löschen, move usw an den anderen gibt
und empfängt waere ne lösung.

2 server an einem san das das FS enthält kommt auch net in frage, da es eine
raeumliche trennung gibt, und wenn ,... das san abraucht, dann nutzen mir die
beiden server auch nix mehr :)

weiss wer ob coda oder afs das kann ?


gruss breiti
 
Breiti schrieb:
freevrrpd ( laeuft auf beiden maschinen ) spricht über das netz mit der anderen
maschine. antwortet diese nichtmehr switcht es die gewünschte ip ( alias ) dazu
und löst ein definiertes script aus.
Häh, welche IPs setzen die wo um? Muss das nicht den Klienten gesagt werden, dass die nun andere IPs nutzen sollen, oder wie ist das Szenario bei dir?

weiss wer ob coda oder afs das kann ?
Ich lese genau dazu gerade ein Kapitel im Rahmen einer Vorlesung Verteilter Systeme :-). Habe es aber noch nicht durch. Ich melde mich in 2 Tagen dazu noch einmal. Ich denke da steht was dazu drin, denn vorher kam NFS und das war auch schon recht ausführlich.

Gruß, I.MC
 
moin I.MC

was IPs der beiden Server betrifft, so hat der master server z.B. die 192.168.1.1 und
der backup server die 192.168.1.2. die clienten arbeiten immer auf 192.168.1.1.
wenn also jetzt die 192.168.1.1 ausfaellt, so bekommt der backup server als alias
die 192.168.1.1. somit können die clienten normal ihren dienst weiter verrichten.
ist der master wieder da, wird auf dem backup die ip 192.168.1.1 wieder
weggenommen. spätestens jetzt ist klar das ich also etwas brauche was eine art
replikation oder synchronisierung der server macht, denn die auf dem backup
geschriebenen daten sind ja jetzt auf dem master nichtmehr vorhanden, und
wuerden im normalfall durch die neuen daten des masters überschrieben. den
master vorher mit dem backup zu synchronisieren ist nicht ganz infach, bei
verschiendenen scenarien wuerde das immer auf probleme stossen. ich brauche
also eine replikation/synchronisierung auf filesystem ebene.

gruss stefan
 
Zurück
Oben