PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Heartbeat und mon



axp
08.09.04, 22:59
Hallo Forum..

Habe ein HA-Cluster mit Heartbeat und DRBD, lauf soweit alles prima..

Ich möchte nun gewisse "labile" Dienste und die öffentliche Netzwerkverbindung mit "mon" überwachen, und bei einem hängendem Dienst dem entsprechenden Node den Heartbeat Prozess zu killen, damit der andere dann übernimmt.

Mit "mon" sollte das funzen... hat jemand damit Erfahrung, und was ähnliches schon mal aufgebaut, ev. in Kombination mit STONITH

axp
09.09.04, 12:09
Niemand Erfahrung mit "mon"

Hela Wann
17.11.04, 12:43
Also, ich suche gerade das Selbe, vielleicht können wir uns gegenseitig berichten, wenn einer was findet?

Hela

Hela Wann
18.11.04, 10:34
Naja, wie blöde kann man eigentlich sein (meine mich selbst damit) ;)

Einfach nen eigenen alert schreiben der ausgelöst wird, wenn der entsprechende Dienst versagt. Das Skript kann dann zuerst versuchen den Dienst neu zu starten. Geht das schief, dann einfach heartbeat herunterfahren (bei SuSE 9.1 mit "rcheartbeat stop"). Daraufhin übernimmt der andere Server die Dienste, die dann sehr wahrscheinlich laufen.

Demütigst schlage ich meine Stirn auf den Schreibtisch, mehrmals . . .

Hela

anquijix
07.02.05, 14:23
hi lleute

ich möchte diesen thread nochmals auffrischen...

um eine weitere möglichkeit zu haben, möchte ich es neben der script-lösung mal mit mon probieren...

ich habe das rpm-paket installiert und die abhängigen pakete dazu. will ich nun den mon-dienst starten, erhalte ich folgende fehlermeldung:



/etc/init.d/mon start
Starting Mon: Can't locate Time/Period.pm in @INC (@INC contains: /usr/lib/perl5/5.8.5/i386-linux-thread-multi /usr/lib/perl5/5.8.5 /usr/lib/perl5/site_perl/5.8.5/i386-linux-thread-multi /usr/lib/perl5/site_perl/5.8.4/i386-linux-thread-multi /usr/lib/perl5/site_perl/5.8.3/i386-linux-thread-multi /usr/lib/perl5/site_perl/5.8.2/i386-linux-thread-multi /usr/lib/perl5/site_perl/5.8.1/i386-linux-thread-multi /usr/lib/perl5/site_perl/5.8.0/i386-linux-thread-multi /usr/lib/perl5/site_perl/5.8.5 /usr/lib/perl5/site_perl/5.8.4 /usr/lib/perl5/site_perl/5.8.3 /usr/lib/perl5/site_perl/5.8.2 /usr/lib/perl5/site_perl/5.8.1 /usr/lib/perl5/site_perl/5.8.0 /usr/lib/perl5/site_perl /usr/lib/perl5/vendor_perl/5.8.5/i386-linux-thread-multi /usr/lib/perl5/vendor_perl/5.8.4/i386-linux-thread-multi /usr/lib/perl5/vendor_perl/5.8.3/i386-linux-thread-multi /usr/lib/perl5/vendor_perl/5.8.2/i386-linux-thread-multi /usr/lib/perl5/vendor_perl/5.8.1/i386-linux-thread-multi /usr/lib/perl5/vendor_perl/5.8.0/i386-linux-thread-multi /usr/lib/perl5/vendor_perl/5.8.5 /usr/lib/perl5/vendor_perl/5.8.4 /usr/lib/perl5/vendor_perl/5.8.3 /usr/lib/perl5/vendor_perl/5.8.2 /usr/lib/perl5/vendor_perl/5.8.1 /usr/lib/perl5/vendor_perl/5.8.0 /usr/lib/perl5/vendor_perl .) at /usr/bin/mon line 50.
BEGIN failed--compilation aborted at /usr/bin/mon line 50.
[FEHLGESCHLAGEN]


das modul Time::Period ist installiert (war eines der abhängigen pakete).
ich habe es auch versucht, die module per perl-shell (perl -MCPAN -eshell) zu installieren, das funzt zwar, aber löst mein problem nicht. leider hat es im internet auch nicht allzu viele stellungen zu diesem problem (google liefert mir ein resultat). darum frage ich jetzt mal hier nach. ich hoffe, jemand hat wenigstens ansatzweise eine lösung.

ich arbeite unter fedora core 3 kernel 2.6.9-1.667

grüsse

marce
08.02.05, 06:18
mach doch mal ein find / -name Period.pm - dann siehst Du, wo das Modul liegt - evtl. liegt es aus irgendeinem Grund nicht im Suchpfad von dem von Mon verwendeten Perl...

anquijix
08.02.05, 07:52
ich hab schon danach gesucht, aber wie/wo finde ich den suchpfad raus?

marce
08.02.05, 07:56
und, wo findet er Period.pm ?

anquijix
08.02.05, 08:04
an diversen orten:



find / -name Period.pm
/root/perl/lib/perl5/site_perl/5.8.5/Time/Period.pm
/root/.cpan/build/Period-1.20/Period.pm
/root/.cpan/build/Period-1.20/blib/lib/Time/Period.pm
/usr/lib/perl5/site_perl/5.6.1/Time/Period.pm
/usr/lib/perl5/5.8.5/i386-linux-thread-multi/Period.pm

marce
08.02.05, 08:30
ok, ist nicht im Suchtpfad enthalten - ausser ich habe was übersehen...

Du kannst nun entweder das VZ Time mit der entsprechenden Period.pm anlegen in einem der VZ von Perl oder den Suchpfad in dem mon-Script entsprechend erweitern (push @inc ... oder so) - evtl. hilft auch ein Update der Perl-Version oder eine andere mon-Version...

anquijix
08.02.05, 09:36
im suchtpfad isses sowieso nicht vorhanden ;)

ne, also ich hab alle pfade, die in der fehlermeldung enthalten sind, in meine suche eingefügt:



find /usr/lib/perl5/5.8.5/i386-linux-thread-multi /usr/lib/perl5/5.8.5 /usr/lib/perl5/site_perl/5.8.5/i386-linux-thread-multi /usr/lib/perl5/site_perl/5.8.4/i386-linux-thread-multi /usr/lib/perl5/site_perl/5.8.3/i386-linux-thread-multi /usr/lib/perl5/site_perl/5.8.2/i386-linux-thread-multi /usr/lib/perl5/site_perl/5.8.1/i386-linux-thread-multi /usr/lib/perl5/site_perl/5.8.0/i386-linux-thread-multi /usr/lib/perl5/site_perl/5.8.5 /usr/lib/perl5/site_perl/5.8.4 /usr/lib/perl5/site_perl/5.8.3 /usr/lib/perl5/site_perl/5.8.2 /usr/lib/perl5/site_perl/5.8.1 /usr/lib/perl5/site_perl/5.8.0 /usr/lib/perl5/site_perl /usr/lib/perl5/vendor_perl/5.8.5/i386-linux-thread-multi /usr/lib/perl5/vendor_perl/5.8.4/i386-linux-thread-multi /usr/lib/perl5/vendor_perl/5.8.3/i386-linux-thread-multi /usr/lib/perl5/vendor_perl/5.8.2/i386-linux-thread-multi /usr/lib/perl5/vendor_perl/5.8.1/i386-linux-thread-multi /usr/lib/perl5/vendor_perl/5.8.0/i386-linux-thread-multi /usr/lib/perl5/vendor_perl/5.8.5 /usr/lib/perl5/vendor_perl/5.8.4 /usr/lib/perl5/vendor_perl/5.8.3 /usr/lib/perl5/vendor_perl/5.8.2 /usr/lib/perl5/vendor_perl/5.8.1
/usr/lib/perl5/vendor_perl/5.8.0 /usr/lib/perl5/vendor_perl -name Period.pm

/usr/lib/perl5/5.8.5/i386-linux-thread-multi/Period.pm
/usr/lib/perl5/5.8.5/i386-linux-thread-multi/Period.pm
/usr/lib/perl5/site_perl/5.6.1/Time/Period.pm


die datei ist in drei verschiedenen pfaden innerhalb der suchpfade vorhanden. ich werd nicht schlau daraus
was meinst du mit vz?

marce
08.02.05, 09:46
Ok, das mit der Sucht ist klar ;-)

VZ = VerZeichnis ;-)

Bei einem include / use Time::Period sucht Perl nach einer Period.pm in Verzeichnis Time in den Verzeichnissen, die in den include-Pfaden [@INC] von Perl angeben sind.

funktionieren, wenn ich die bei Dir in @INC angebenen Verzeichnisse noch richtig im Kopf habe, müsste es, wenn Du in

/usr/lib/perl5/5.8.5/i386-linux-thread-multi/

ein Verzeichnis Time anlegst und dort die Period.pm reinkopierst.

anquijix
08.02.05, 10:15
wow cool, als nächstes hat er mir Convert/BER.pm verlangt, was ich auch auf diese weise, die du beschrieben hast, gelöst habe... danke dir erstmal, jetz kann ich endlich weiter machen :)