Accès rapide
Avoir un compte
Messagerie
Wifi 
12 : 12 [CriNET] FERME Probleme clime salle 123
2 : 12 [CriNET] OUVERT Probleme clime salle 123
5 : 11 [CriNET] INFO Probleme eduroam
4 : 11 [CriNET] INFO Probleme eduroam
S'abonner au flux RSS
Problème
Impossible de charger http://factuel.univ-lorraine.fr/feed/rss-breves.xml
Rechargez cette page
Tickets CRINet
2014120200FERME
Probleme clime salle 123
2014110400INFO
Probleme eduroam
2014110500INFO
Probleme eduroam
2014102300FERME
Intervention switch sale123

Heartbeat 2


Principales nouveautés d'heartbeat 2 : la gestion de plus de 2 noeuds et la gestion en natif du monitoring de services (à la place de mon sous heartbeat 1).

Docs :
CRM : http://clusterlabs.org/wiki/Image:Configuration_Explained.pdf

/etc/ha.cf :

# Nouvelle gestion des logs (ver 2)
use_logd on

# Check toutes les secondes
keepalive 1

# Delai avant de considerer le noeud inactif
deadtime 6

warntime 3

# Pareil que deadtime mais pour le démarrage
initdead 80

udpport 694

# Test du host pour vérifier que le host est toujours en ligne
# La passerelle par défaut en général
ping 192.168.0.254

# Interface sur laquelle les "Heartbeats" sont envoyés
# Utiliser "serial" pour un port série,
# "mcast" et "ucast" respectivement pour multicast et unicast
#bcast eth0
ucast eth0 192.168.0.1
ucast eth0 192.168.0.2

# Serie en secours
baud   115200
serial /dev/ttyS0

# La resource bascule sur le noeud primaire dès qu'il redevient disponible
auto_failback on

# Liste des noeuds faisant partie du cluster (uname -n)
node noeud1
node noeud2

# Activer la config Heartbeat 2
crm yes

# Permet d'ajouter un nouveau en live
#autojoin any


Nouveaux paramètres :
  • use_logd on : Nouvelle gestion des logs via le daemon ha_logd (conf : /etc/logd.cf)
  • crm yes : Gestion en version 2 et donc plus de haressources. Toute la conf est maintenant gérée en XML dans le fichier /var/lib/heartbeat/crm/cib.xml.


Test des connexions ethernet et série :
noeud1# ping noeud2
noeud2# ping noeud1


noeud1# cat < /dev/ttyS0
noeud2# echo test > /dev/ttyS0
noeud1# test

/etc/ha.d/authkeys :

auth 1
1 md5 unmotdepasse

chmod 600 /etc/ha.d/authkeys

Initialisation du cluster :


La conf du cluster est stockée en XML sous /var/lib/heartbeat/crm/cib.xml. Deux façons de la modifier, soit en créant manuellement ce fichier
(pas conseillé et il ne faut absolument pas le modifier si heartbeat est lancé), soit en utilisant des outils comme cibadmin (ligne de commande)
ou graphique comme hb_gui.
Ce fichier contient principalement : une section avec les paramètres généraux du cluster (cluster_property_set), une section décrivant les ressources (resources) et une autre les contraintes (constraints). Les contraintes permettent entre autres de définir des dépendances ou de localiser une ressources.
Important : Les modifications de conf sont automatiquement répercutées sur l'ensemble des noeuds actifs par le DC.

- Fichier bootstrap.xml : (infos sur les paramètres dans /usr/share/heartbeat/crm.dtd)
<cluster_property_set id="cib-bootstrap-options">
  <attributes>
     <nvpair id="cib-bootstrap-options-symmetric-cluster" name="symmetric-cluster" value="false"/>
     <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" value="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="2min"/>
     <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-election_timeout" name="election_timeout" value="1min"/>
  </attributes>
</cluster_property_set>


- Initialisation du cluster par la commande cibadmin :
cibadmin -C -o crm_config -x bootstrap.xml
# ou si la ressource existe déjà par :
cibadmin -M crm_config -x bootstrap.xml
# Pour afficher toute la conf 
cibadmin -Q

Attention: La commande cibadmin peut être très dangereuse, bien vérifier les options utilisées.

- On peut aussi partir du fichier haresources (v1) pour créer le fichier cib.xml :
python /usr/lib/heartbeat/haresources2cib.py


- Ajout de ressources :

Deux solutions, soit en utilisant cibadmin ou de façon plus convivial avec l'outil graphique hb_gui.
# Ajout d'une ressource (attention : une par une, un fichier par ressource)
cibadmin -C -o resources -x fichier-ressource.xml
# Ajout d'une contrainte (attention : une par une, un fichier par contrainte)
cibadmin -C -o constraints -x fichier-contrainte.xml
# Avec hb_gui :
ssh -X noeud1
aptitude install heartbeat-gui
hb_gui &

Test de fonctionnement :


On peut lancer heartbeat pour vérifier le fonctionnement :
noeud1# /etc/init.d/heartbeat start 
noeud2# /etc/init.d/heartbeat start 
# monitoring/check
noeud1# cl_status hbstatus
noeud1# crm_mon -i5

============
Last updated: Mon May 25 10:29:03 2009
Current DC: noeud1 (c0e948f1-2c20-4e50-afd5-d2ff57322fe4)
2 Nodes configured.
1 Resources configured.
============

Node: noeud1 (c0e948f1-2c20-4e50-afd5-d2ff57322fe4): online
Node: noeud2 (09b53355-cc2f-4ffe-aad1-a915a37fbfc9): online

Resource Group: group_Xen_Noeud1
    Xen_Sites64_Noeud1     (heartbeat::ocf:Xen):   Started noeud1

crm_mon permet de vérifier, ici toutes les 5 secondes l'état du cluster (noeud, ressources, ...).
Ici le DC (Designated Coordinator) est noeud1, c'est lui qui gère le cluster et est choisi dynamiquement entre les noeuds actifs.

Commandes utiles:

crm_mon : vérifier l'état du cluster (neouds et ressources)
    crm_mon -s : permet une utilisation avec nagios
crm_verify -LV : pour vérifier la conf du cluster
crm_resource : gestion des ressources (affichages, modifications, suppressions, migration)
crm_standby : migration de ressource.
  Par exemple, pour migrer les ressources de noeud1 vers noeud2,
    on met noeud1 en standby: noeud1# crmstandby -U noeud1 -v true_
    Pour relancer noeud1, noeud1# crmstandby -U noeud1 -v false_

Check des ressources (après un crash d'une ressource par ex) :
  Recheck des ressources : crm_resource -P
  Réinitialisation de la ressource : crm_resource –C –r ressource1