Bonjour tout le monde,


Voici mon problème, je suis sur un projet pour installer une solution haute disponibilité via Heartbeat 2.

Je suis sous RedHat Entreprise Linux Server 5 64-bits, j'ai installer les RPM heartbeat-pils-2.1.4-6.el5, heartbeat-ldirectord-2.1.4-6.el5, heartbeat-2.1.4-6.el5 et heartbeat-stonith-2.1.4-6.el5.

Voici le schéma de mon projet:

un serveur maitre : maitre 192.168.0.1
un serveur esclave : esclave 192.168.0.2
Un adresse Ip virtuel ( VIP ) 192.168.209.88


Sur chacun des serveur un serveur Apache est installe.

Le principe est d'envoyer tout le flux sur le serveur Maitre, si on detecte une erreur via heartbeat on bascule automatiquement tout le flux sur le serveur esclave ( puis lorsque maitre est de nouveau opérationnel tout rebasculer sur maitre )


On accede donc au service Apache via la VIP 192.168.209.88, la solution mis en place est donc de basculer la VIP sur maitre ou esclave en fonction de l'etat des machines.


Voici mes fichiers de conf :

  • ha.cf :

    autojoin none
    use_logd on
    keepalive 200ms
    deadtime 2
    warntime 500ms
    initdead 10
    udpport 694
    ping 192.168.209.94 # ping passerelle
    bcast bond0 # interface a broadcaster
    auto_failback on # On revient sur serveur maitre quand celui-ci est up
    node maitre # les nodes
    node esclave
    crm yes # active heartbeat 2
  • authkeys
    auth 1
    1 md5 #AdmiN
  • haresources
    maitre IPaddr::192.168.0.3
  • Fichier cib.xml (généré à partir de la commande: /usr/lib64/heartbeat/haresources2cib.py --stdout -c ha.cf haresources > /var/lib/heartbeat/crm/cib.xml)

    Code xml : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
     
    <?xml version="1.0" ?>
    <cib admin_epoch="0" epoch="0" num_updates="0">
            <configuration>
                    <crm_config>
                            <cluster_property_set id="cib-bootstrap-options">
                                    <attributes>
                                            <nvpair id="cib-bootstrap-options-symmetric-cluster" name="symmetric-cluster" value="true"/>
                                            <nvpair id="cib-bootstrap-options-no-quorum-policy" name="no-quorum-policy" value="stop"/>
                                            <nvpair id="cib-bootstrap-options-default-resource-stickiness" name="default-resource-stickiness" value="0"/>
                                            <nvpair id="cib-bootstrap-options-default-resource-failure-stickiness" name="default-resource-failure-stickiness" val
    ue="0"/>
                                            <nvpair id="cib-bootstrap-options-stonith-enabled" name="stonith-enabled" value="false"/>
                                            <nvpair id="cib-bootstrap-options-stonith-action" name="stonith-action" value="reboot"/>
                                            <nvpair id="cib-bootstrap-options-startup-fencing" name="startup-fencing" value="true"/>
                                            <nvpair id="cib-bootstrap-options-stop-orphan-resources" name="stop-orphan-resources" value="true"/>
                                            <nvpair id="cib-bootstrap-options-stop-orphan-actions" name="stop-orphan-actions" value="true"/>
                                            <nvpair id="cib-bootstrap-options-remove-after-stop" name="remove-after-stop" value="false"/>
                                            <nvpair id="cib-bootstrap-options-short-resource-names" name="short-resource-names" value="true"/>
                                            <nvpair id="cib-bootstrap-options-transition-idle-timeout" name="transition-idle-timeout" value="5min"/>
                                            <nvpair id="cib-bootstrap-options-default-action-timeout" name="default-action-timeout" value="20s"/>
                                            <nvpair id="cib-bootstrap-options-is-managed-default" name="is-managed-default" value="true"/>
                                            <nvpair id="cib-bootstrap-options-cluster-delay" name="cluster-delay" value="60s"/>
                                            <nvpair id="cib-bootstrap-options-pe-error-series-max" name="pe-error-series-max" value="-1"/>
                                            <nvpair id="cib-bootstrap-options-pe-warn-series-max" name="pe-warn-series-max" value="-1"/>
                                            <nvpair id="cib-bootstrap-options-pe-input-series-max" name="pe-input-series-max" value="-1"/>
                                    </attributes>
                            </cluster_property_set>
                    </crm_config>
                    <nodes/>
                    <resources>
                            <primitive class="ocf" id="IPaddr_192_168_209_88" provider="heartbeat" type="IPaddr">
                                    <operations>
                                            <op id="IPaddr_192_168_209_88_mon" interval="5s" name="monitor" timeout="5s"/>
                                    </operations>
                                    <instance_attributes id="IPaddr_192_168_209_88_inst_attr">
                                            <attributes>
                                                    <nvpair id="IPaddr_192_168_209_88_attr_0" name="ip" value="192.168.209.88"/>
                                            </attributes>
                                    </instance_attributes>
                            </primitive>
                    </resources>
                    <constraints>
                            <rsc_location id="rsc_location_IPaddr_192_168_209_88" rsc="IPaddr_192_168_209_88">
                                    <rule id="prefered_location_IPaddr_192_168_209_88" score="100">
                                            <expression attribute="#uname" id="prefered_location_IPaddr_192_168_209_88_expr" operation="eq" value="eul2400082"/>
                                    </rule>
                            </rsc_location>
                    </constraints>
            </configuration>
            <status/>
    </cib>



Je lance heartbeat via /etc/init.d/heartbeat start sur les 2 machines ( maitre/esclave ), il se lance bien mais lorsque je fais un crm_mon voila ce que j'obtiens :

============
Last updated: Thu Jul 16 11:41:35 2009
Current DC: esclave (8d1479a2-2b7b-4052-b0de-172e06301f2d)
2 Nodes configured.
1 Resources configured.
============

Node: esclave (8d1479a2-2b7b-4052-b0de-172e06301f2d): online
Node: maitre (7e824237-e459-4b74-ae3e-f1b7cf44d94f): online


Failed actions:
IPaddr_192_168_209_88_start_0 (node=eul2400083, call=3, rc=1): complete
IPaddr_192_168_209_88_start_0 (node=eul2400082, call=3, rc=1): complete
Lorsque je fais ifconfig -a sur le maitre aucune adresse ip virtuel de configuré, je bloque les ami(e)s.

Si une âme charitable pouvait mapporter un peu de son temps et son aide cela ne serait pas de refus.

Encore merci à tous par avance de toute l'aide que vous pourriez m'apporter,

PS : bonne journée au soleil ;-)


-------------------------------
hiko-seijuro: c'est moins brutal comme ca