Mon n'éxecute pas les commandes

Debian lenny 2.6.26-2 sous virtualbox.

Contexte:
[]Réplication MySQL
[
]Load Balancing apache
[]FailOver
[
]Liaison chiffré
Outils:
[]MySQL
[
]Apache
[]OpenVPN
[
]HeartBeat
[*]Mon

debian => Master
debian2 => Slave

Lancement des services apache et mysql(le VPN tourne déjà):

debian:~# /etc/init.d/apache2 start debian:~# /etc/init.d/mysql start debian2:~# /etc/init.d/apache2 start debian2:~# /etc/init.d/mysql start

lancement de heartbeat sur le master puis le slave:

debian:~# /etc/init.d/heartbeat start debian2:~# /etc/init.d/heartbeat start

Lors de la coupure de heartbeat sur le master (arrêt de la machine ou du service heartbeat), l’ip virtuel est bien attribuer au slave. En bref MySQL, Apache, OpenVPN, HeartBeat fonctionne.

Pour que le failover s’exécute lorsque c’est seulement le service mysql et apache j’ai donc mis en place MON. Seulement celui-ci ne fonctionne pas comme prévus.

Lors de l’arrêt d’un service (MySQL et Apache) MON exécute un script, dans mon cas il doit arrêter le service Hearbeat afin de faire basculer l’IP virtuel sur l’esclave.

Jusque la tout va bien. Je coupe donc le service apache sur le maitre.

[code]debian:~# monshow

 server: localhost
 time: Mon Jan 25 22:24:05 2010
 state: scheduler running

GROUP SERVICE STATUS LAST NEXT ALERTS SUMMARY
R server http FAIL 1s 8s 1 127.0.0.1
R server mysql - 4s 5s none[/code]

Lors du fail mon doit exécuter /etc/mon/alert.d/heartbeat.alert qui contient:

#!/bin/bash /etc/init.d/heartbeat stop

Dans le syslog je retrouve ceci:

Jan 25 22:23:34 debian mon[19074]: failure for server http 1264454614 127.0.0.1 Jan 25 22:23:34 debian mon[19074]: calling alert heartbeat.alert for server/http (/etc/mon/alert.d/heartbeat.alert,) 127.0.0.1 Jan 25 22:23:34 debian incrond[24466]: (root) CMD (echo IN_ACCESS) Jan 25 22:23:34 debian incrond[24466]: (root) CMD (echo IN_CLOSE_NOWRITE) Jan 25 22:23:34 debian incrond[24466]: (root) CMD (echo IN_OPEN) Jan 25 22:23:34 debian incrond[24466]: (root) CMD (echo IN_ACCESS) Jan 25 22:23:34 debian incrond[24466]: (root) CMD (echo IN_ACCESS) Jan 25 22:23:34 debian logd: [22114]: ERROR: Could not read from /proc/18436/exe: Permission denied Jan 25 22:23:34 debian incrond[24466]: (root) CMD (echo IN_ACCESS) Jan 25 22:23:34 debian incrond[24466]: (root) CMD (echo IN_CLOSE_NOWRITE)

J’ai ajouter incrond pour voir si le fichier /etc/mon/alert.d/heartbeat.alert était bien exécuter, on peux voir que oui.

Le fichier /proc/18436/exe est un lien symbolique vers /usr/lib/heartbeat/ha_logd

debian:~# ls -l /usr/lib/heartbeat/ha_logd -rwxr-xr-x 1 root root 33788 avr 30 2009 /usr/lib/heartbeat/ha_logd

Le service MON tourne avec l’utilisateur mon

Le fichier de conf de mon, mon.cf:

[code]alertdir = /etc/mon/alert.d/
mondir = /etc/mon/mon.d/
statedir = /etc/mon/state.d/
logdir = /var/log/mon/
maxprocs = 20
histlength = 100
randstart = 10s

hostgroup server 127.0.0.1

watch server
service http
interval 10s
monitor http.monitor
period wd {Sun-Sat}
numalerts 1
alert heartbeat.alert
service mysql
interval 10s
monitor msql-mysql.monitor --mode mysql --username=root --password=XXXX --database=shutdown76
period wd {Sun-Sat}
numalerts 1
alert heartbeat.alert[/code]

/etc/heartbeat/ha.cf

logfile /var/log/ha-log keepalive 2 deadtime 5 initdead 20 bcast eth0 node debian node debian2 auto_failback off ping 10.1.1.1 respawn hacluster /usr/lib/heartbeat/ipfail

/etc/heartbeat/haresources

Je ne sais plus trop ou chercher donc si quelqu’una une moindre piste, je prend ou si vous remarqué une éventuel coquille de conf.

Si besoin de plus d’info n’hésiter pas a demander.
Merci d’avance.