Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 23/07/2014, à 15:08

Havany

Heartbeat, DRBD et Statd.

Bonjour,

J'ai de gros soucis pour la haute disponibilité avec statd.

Environnement :
- 2 serveurs, 1 maître, 1 secondaire
- Chacun proposent entre autre service nfs, samba et ldap en haute disponibilité
- les fichiers de conf se trouvent sur un système de fichier DRBD synchro entre les deux serveurs.

Lorsque je tente une bascule, elle échoue parce que le serveur maître est incapable d'arrêter statd, du coup il ne peux pas démonter le disque DRBD etc...

Avant pour le service statd il y avait un script LSB appelé nfs-common. C'était donc très facile de killer statd afin de permettre une bascule.
Hors il y a un script statd mais heartbeat se plaint disant que ce n'est pas un script LSB.

J'ai essayé de créer un script dans /etc/ha.d/ressources.d/ permettant d'arrêter ou de relancer statd, mais ce script bien qu'il fonctionne manuellement semble ne plus fonctionner lorsque heartbeat le lance.

Je sèche depuis un moment sur ça, quelqu'un peut m'aider ?

Si vous voulez des infos supplémentaire, je les ajouteraient, voilà le script que j'ai créé pour permettre à heartbeat de lancer ou couper statd :

#!/bin/bash

#. ${OCF_ROOT}/resource.d/heartbeat/.ocf-shellfuncs

export PID=/var/run/rpc.statd.pid
export INITSCRIPT="/usr/sbin/service statd"

case  "$1" in
        start)
                ${INITSCRIPT} start &> /dev/null && exit || exit 1;
        ;;

        stop)
                ${INITSCRIPT} stop &> /dev/null && exit || exit 1;
        ;;

        status)
                if [ -f "${PID}" ]; then
                        kill -0 `cat ${PID}` &> /dev/null && exit;
                fi

                exit 1;
        ;;

        monitor)
                if [ -f "${PID}" ]; then
                        kill -0 `cat ${PID}` &> /dev/null && {
                                exit 0;
                        }
                fi

                exit 7;
        ;;

        meta-data)
                cat <<END
<?xml version="1.0"?>
<!DOCTYPE resource-agent SYSTEM "ra-api-1.dtd">
<resource-agent name="statd">
        <version>1.0</version>

        <longdesc lang="en">
                OCF Ressource Agent for postgrey.
        </longdesc>

        <shortdesc lang="en">OCF Ressource Agent for postgrey.</shortdesc>

        <actions>
                <action name="start" timeout="90" />
                <action name="stop" timeout="100" />
                <action name="status" timeout="60" />
                <action name="monitor" depth="0" timeout="30s" interval="10s" start-delay="10s" />
                <action name="meta-data" timeout="5s" />
                <action name="validate-all" timeout="20s" />
        </actions>
</resource-agent>
END
        ;;
esac

Hors ligne