PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : DRBD Problem: primary wird secondary



darktemplaaa
06.08.04, 11:03
Hallo zusammen!

Ich habe hier einen heartbeat cluster mit drbd installiert. Soweit scheint alles zu laufen nur habe ich das Problem, dass der primary zum secondary wird. Das gestaltet sich so:

Ich boote den ersten server. Er fragt mich, ob er primary sein soll, was ich bestätige. Starte ich den zweiten server, wird dieser korrekt als secondary erkannt und synchronisiert sich mit dem primary. Nachdem die Synchronisation abgeschlossen ist und der zweite server vollständig hochgefahren ist, wird der primary server aufeinmal auch zum secondary. Ich habe also dann zwei secondaries. Warum? Wo könnte der Fehler liegen? Als Quelle und Eintieg habe ich den Artikel "Linux-HA Cluster mit Heartbeat und DRBD" aus dem Linux Magazin Ausgabe 07/04 genommen.


Vielen Dank im Vorraus

darktemplaaa

darktemplaaa
06.08.04, 12:23
O.K. ich hab noch ne neue Erkenntnis:

Mache ich auf dem primären Knoten ein "drbdsetup /dev/nb0 primary" switcht er diesen vernünftig um. Der sekundäre Knoten registriert das auch und erkennt den primären. Ein "cat /proc/drbd" belegt das. Die Frage ist jetzt nur warum übernimmt er dies nicht beim booten? Warum wird der primäre zum sekundären, so dass schließlich zwei sekundäre vorhanden sind?

couchpotato
08.08.04, 10:48
... und auch noch keine wirkliche Lösung gefunden. Ich habe ein ha-cf-Script gefunden, das eine stonith-Lösung für einen über serial und ppp vernetzten Cluster ohne zusätzliche Hardware steuerte, indem es einen nicht erreichten Node rebootete, aber es bezog sich auf Release 0.5.8 und leider musste ich feststellen, dass die Befehle in den Scripten andere sind als bei 0.6.xx und mir wäre dann schleierhaft, wie ich herauskriege, wie ich das script auf unser release anpasse. Infolgedessen habe ich natürlich auch bedenken beim updaten. Die Befehle haben sich auch schon geändert zwischen der Howto und unserem Release (die in der Howto sind älter). Have al lot of idears ...

darktemplaaa
10.08.04, 08:09
Keiner eine Idee?

darktemplaaa
10.08.04, 08:54
So ich habe die Lösung gefunden. Zum einen musste der UDP-Port 694 in der /etc/ha.d/ha.cf Datei angegeben werden, der durch die IANA vorgegeben ist. In der /etc/ha.d/haresources fehlte dann noch die Netzmaske. Die Server hatten eine Adresse aus dem A-Klasse Netz. Der Subnetz Bereich, im meinem Fall 24Bit, wurde aber nicht angegeben. Dass ein Broadcast dann ins Nirvana läuft versteht sich von selbst. Es war also ein klares heartbeat Problem.

theWireless
26.08.04, 03:14
Ich hab hier in der Konstelation das gleiche Prob.

Hab jedoch erstmal ne Frage dazu:

Muss ich drbd manuell (bzw. per runlevel) vor heartbeat starten? Denn starte ich nur heartbeat meckert er, er könne /proc/drbd nich finden. Starte ich aber zuerst heartbeat findet er es und kommt auch sauber hoch.

da du ja was bzgl. dem Subnet sagtest, hier mal meine haresources:


# /etc/ha.d/haresources
# legt fest, welche Dienste mit welcher IP
# immer im Netz erscheinen sollen

# - edeltraut ist der primaere Knoten
# der Knotenname muss mit dem ha.cf-Eintrag
# uebereinstimmen und einen echten Server
# benennen
# - der freigegebene Dienst ist Apache
# - der Dienst wird under der IP
# 192.168.0.250 angeboten

edeltraut 192.168.0.250 datadisk mysql apache

muss ich da nun auch das subnet angeben? Oder rafft er das von alleine?

darktemplaaa
26.08.04, 10:00
Also ich habs hinbekommen! Der Fehler lag darin , dass ich ein Klasse A Netzwerk benutze und natürlich auch die Subnetmask angeben muss in meinem Fall /24. Was ausserdem noch sein muss ist die Angabe des UDP Ports 694. Danach läuft er prima. Ich habe für mein Projekt eine Doku geschrieben, die meines erachtens etwas deutlicher und präziser ist, als die im Linux Magazin. Ich werde sie in den nächsten Tagen hier veröffentlichen.

theWireless
26.08.04, 13:00
klasse, habe mich auch an die Doku des LM gehalten... nur hat da einiges nich wirklich so funktioniert ;)

aber wie ist das denn nun mit drbd? muss ich das manuell vor heartbeat starten? (siehe obigen post)

darktemplaaa
30.08.04, 08:54
Ja drbd muss vorher laufen. Ich würde gerne die Doku hier posten nur ist sie leider ca. 180KB groß. Dieses Forum hat aber eine Begrenzung bei ca. 120KB. Wer also die Doku haben möchte kann mir ne email schicken.


Gruss darktemplaaa

Petz
06.12.04, 15:52
Hi,
ist es möglich eine Kopie deiner Doku über drbd zu bekommen ?

Gruss, Petz :)