Table des matières

Pacemaker

Installation

Il est tout d'abord très important que les machines puissent communiquer entre elle avec leur nom (court ou fqdn). Si la résolution DNS ne le permet pas, ajouter les lignes nécessaires dans le fichier /etc/hosts.
Si vous utilisez OCFS2 entre autre, il est nécesaire d'activer le service cktp fournis par openais (le paquet du même nom doit être installé). Pour cela, créer le fichier /etc/corosync/service.d/cktp et ajouter y les lignes suivantes :
service {
        name: openais_ckpt
        ver: 0
}

L'installation est prête a être configurée. La commande crm status devrait retourné quelque chose comme :

Stack: corosync
Current DC: ldap1 (version 1.1.16-94ff4df) - partition with quorum
Last updated: Mon Mar 11 15:54:50 2019
Last change: Mon Mar 11 15:54:25 2019 by hacluster via crmd on ldap1

2 nodes configured
0 resources configured

Online: [ ldap1 ldap2 ]

No resources

Communication Unicast

Par défaut, le dialogue entre les nodes se fait en multicast. Il peut être utile dans certain cas de configurer celui-ci en unicast. Pour cela, Corosync support l'UDP Unicast (ou UDPU) depuis sa version 1.3.0 (pour Debian, il faut au moins la version disponible dans squeeze-backports).

La configuration du mode Unicast ce fait comme expliquer ci dessus aux exceptions décrite ci-dessous :

totem {
        [...]
        interface {
                ringnumber: 0
                bindnetaddr: 10.32.0.
                member {
                        memberaddr: 10.32.0.10
                }
                member {
                        memberaddr: 10.32.1.11
                }
                mcastaddr: 226.94.1.6
                mcastport: 5605
        }
        transport: udpu
}

Configuration de base pour un cluster à deux nœuds

Nous allons entre autre mettre en place un ping régulier pour s'assurer de la bonne connectivité réseaux des machines. Cette primitive pourra être utilisé pour établir les règles de localisation des ressources.

Exemple de mise en place d'une VIP

Nous allons mettre en place dans cette exemple :

Pour cela :

Trucs et astuces

Eviter que l'arrêt de ressources clonés au redémarrage d'un node

- Lorsque des ressources clonés sont ordonnés, au redémarrage d'un node, pour respecter l'ordre, les ressources du node déjà actif sont arrêtées puis relancer en même temps que le node arrivant. Pour éviter cela définissez vos clones comme cela :

clone cl_res res \
        params interleave="true"

- Si une node a par exemple monté une ressource drbd suite à la défaillance du master et que vous voulez le repasser sur la machine de nouveau opérationnelle :

On liste les ressources

      crm_resource -l

Puis on migre la resource

      crm_resource --resource <name> --move --node <node_name>