[Résolu] Heartbeat2 et Samba3

Heartbeat2 et Samba3 [Résolu] - Codes et scripts - Linux et OS Alternatifs

Marsh Posté le 11-09-2007 à 21:32:08    

Bonjour,
Je cherche une solution à mon problème depuis quelque jours. J'ai configuré un cluster avec DRBD, Heartbeat-2, MySql et Samba, le tout en Debian Etch. DRBD fonctionne parfaitement et heartbeat fait la reprise en cas de problème sur l'un des serveur. Mon problème se trouve du côté du monitoring de Samba par heartbeat.
J'explique... La version 2 de heartbeat permet de faire le monitoring des services que l'on veut mettre en redondance. Par exemple si mysqld tombe en panne; heartbeat le détecte et transfert cette ressource sur un autre noeud du cluster. Pour ce faire, heartbeat utilise le script /etc/init.d/mysql. Ces scripts qu'utilise heartbeat doivent au moins répondre aux commandes "start/stop/status/monitor".
 
Mon problème est que Samba ne répond pas à toutes ces commandes. Par exemple: impossible de faire /etc/init.d/samba status. Résultat: heartbeat démarre samba; fait une requète pour le status et ne reçois pas de réponse; Heartbeat pense à ce moment que samba n'a pas démarré correctement et reprend la procédure: arrêt du service, démarrage et demande de status...
 
Quelqu'un aurait une solution?


Message édité par Hub_qc le 13-09-2007 à 20:35:18
Reply

Marsh Posté le 11-09-2007 à 21:32:08   

Reply

Marsh Posté le 11-09-2007 à 21:53:43    

vim /etc/init.d/samba

Reply

Marsh Posté le 11-09-2007 à 22:09:32    

M300A a écrit :

vim /etc/init.d/samba



 
:bounce: Wow je peux éditer un script!! (lire un peu d'ironie ici S.V.P.)
 
Non mais sérieux, si j'étais assez bon pour rajouter ce qui me manque au script je l'aurais fait moi même. C'est justement ca mon problème, par contre chu peut-être trop con...
 
Donc je précise ma question pour ceux qui pourrait penser que je ne sais pas me servir d'un éditeur de texte: quelqu'un pourrait m'aider à ajouter ce qu'il me faut au script?

Reply

Marsh Posté le 11-09-2007 à 22:12:02    

En gros la méthode:
 
T'ajoute une option status dans le script.
Tu regarde le fonctionnement du start; je pense qu'un fichier de pid est créé pour les deux démons samba (smbd & nmbd).
Une fois que t'as les fichiers de pid, tu lis le pid dedans et tu test si il est vivant.  
Si oui ta fonction status retourne 0, si au moins un des deux ne l'est pas elle retourne 1.
 
Par contre je connais pas heartbeat, tu as peut être d'autre moyen de faire ça.
 
Voir aussi du côté de samba, y'a peut être une commande toute simple qui permet de vérifier l'état général du samba.

Reply

Marsh Posté le 12-09-2007 à 03:15:54    

Et pour la fonction "monitor"?

Reply

Marsh Posté le 12-09-2007 à 11:08:20    

Tu as tout la :
http://www.linux-ha.org/ResourceAg [...] 1efd728e34
 
Et pour le monitor :

Citation :

monitor - monitor the health of a resource. Exit 0 if the resource is running, 7 if it is stopped and anything else if it is failed


Mais je ne sais pas si le monitor est utilisé sur les scripts basiques de type LSB, il me semble que non.
Essaye de voir si un script OCF n'a pas déja été écrit pour Samba, ou voit à l'ecrire toi-même.


---------------
Ce n'est point ma façon de penser qui a fait mon malheur, c'est celle des autres.
Reply

Marsh Posté le 13-09-2007 à 10:01:43    

En regardant dans la Doc HeartBeat utilise soit le format LSB (start,stop,status -> http://linux-ha.org/LSBResourceAgent) soit OCF (start,stop,monitor + sortie XML -> http://linux-ha.org/OCFResourceAgent)
Donc sur LSB tu n'a pas de monitor mais status (qui est la même chose)
 
Je suis  en train de tester, tu as testé "hb_gui" l'interface graphique ?
Je n'arrrive pas à enregistrer correctement "mysqld", j'ai réussi pour "Ip", "DRBD", "Filesystem".
Il ne monitor pas "mysqld", il le lance mais si je le "kill" il ne sa passe rien

Reply

Marsh Posté le 13-09-2007 à 15:11:49    

Non j'ai pas essayé l'interface graphique. C'est, éventuellement, pour un serveur de prod, je ne veux donc pas m'encombrer d'une interface graphique.
Pour ton problème de mysql, tu utilises quel version de heartbeat, version 1 ou 2? Si version 2 es-ce que t'as spécifier "crm yes" dans le fichier ha.cf? Et es-ce que c'est possible de voir ton fichier haresources?
 
P.S. Merci à e_esprit et steph1066 pour les liens; c'est exactement ce que je cherchais.

Reply

Marsh Posté le 13-09-2007 à 16:13:03    

Merci, j'ai réussi à le faire marcher en "crm yes"
Sinon l'interface graphique s'installe sur une machine cliente, ça évite de se taper "cib.xml" à la main
Par contre le fichier haresources n'est plus utilisé quand tu précise "crm yes" c'est le fichier "cib.xml"

Reply

Marsh Posté le 13-09-2007 à 16:24:58    

Hub_qc a écrit :

Non j'ai pas essayé l'interface graphique. C'est, éventuellement, pour un serveur de prod, je ne veux donc pas m'encombrer d'une interface graphique.


Alors dans le cas de HB2, tu as bien tort, surtout que comme dit ci-dessus, cela peut s'installer sur une machine cliente (qui se connecte ensuite à l'un des noeuds et récupère les informations).


Message édité par e_esprit le 13-09-2007 à 16:30:19

---------------
Ce n'est point ma façon de penser qui a fait mon malheur, c'est celle des autres.
Reply

Marsh Posté le 13-09-2007 à 16:24:58   

Reply

Marsh Posté le 13-09-2007 à 16:26:19    

Oui je sais que le fichier haresources n'est plus utilisé; par contre il est très facile de générer le fichier cib.xml a partir du fichier haresources:
 
/usr/lib/heartbeat/haresources2cib.py --stdout -c ha.cf haresources > /var/lib/heartbeat/crm/cib.xml

Reply

Marsh Posté le 13-09-2007 à 16:32:46    

Oui, je suis d'accord pour l'option d'installer l'interface graphique sur une machine cliente, ce serait une très bonne idée.

Reply

Marsh Posté le 13-09-2007 à 20:33:58    

Bon finalement après avoir ajouté la fonction "status" au script tout fonctionne #1.

Reply

Marsh Posté le 21-06-2008 à 10:32:00    

bonjour
 
tu pourrais le donner ton script ?
 
Merci


---------------
L.M.S.
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed