Outils pour utilisateurs

Outils du site


pacemaker

DRBD, Pacemaker, Corosync, OCFS2 sur Debian 10 (buster)

Mise en place sur deux serveurs, préparation du premier serveur, puis ajout de l'autre. Les serveurs sont relié au réseau par une adresse de la plage 192.168.0.0/24 et ils sont reliés directement par une autre interface réseau par une adresse sur la plage 10.0.0.0/24. D'autres approches sont envisageable mais la procédure reste sensiblement la même. Les noms des serveurs sont cluster1 et cluster2.

Nous avons, sur chaque système, un disque ou une partition dédiée à DRBD/OCFS2 sur chaque serveur. La taille de la partition doit être identique. Tout au long de ce document nous utiliserons /dev/sdb. Il possible d'utiliser une volume logique LVM, un volume dm-raid, …

La console pour le cluster sera crmsh. Il semble que RedHat utilise plutôt pcs, à prendre en compte lorsque vous vous documentez sur le sujet (les commandes sont similaires donc on peut les confondre).

Préparation

Installation des paquets nécessaires :

  • ocfs2-tools
  • drbd-utils
  • corosync
  • crmsh
  • pacemaker

DRBD

Nous commençons par créer notre ressource pour DRBD. Si vous voulez plusieurs volume DRBD, vous créez autant de ressources que nécessaire. Le nom de cette ressource est 'stcluster', donc nous créons le fichier '/etc/drbd.d/stcluster.res' (je n'ai pas vérifié si on pouvait utiliser un nom de fichier différent que le nom de la ressource mais ça me semble possible).

resource stcluster {
  net {
    allow-two-primaries; 
    after-sb-0pri discard-zero-changes;
    after-sb-1pri discard-secondary;
    after-sb-2pri disconnet;
  }
  on cluster1 {
    device /dev/drbd0;
    disk /dev/sdb;
    address 10.0.0.1:7780;
    meta-disk internal;
  }
  on cluster2 {
    device /dev/drbd0;
    disk /dev/sdb;
    address 10.0.0.2:7780;
    meta-disk internal;
  }
}

Les directives s'expliquent comme suit :

  • allow-two-primaries : indique que la ressource peut fonctionner en mode actif/actif, ce qui est voulu pour l'usage d'OCFS2.
  • on cluster1 et cluster2 : section décrivant les nœuds de notre cluster, les informations sont locales à la machine. De fait on peut utiliser des périphérique différent entre les nœuds (par exemple /dev/sdc sur l'un et /dev/sdb sur l'autre).
  • device : le nom du périphérique DRBD, c'est celui-ci que nous pourrons utiliser pour créer notre système OCFS2
  • disk : le volume sur le serveur qui doit être répliqué.
  • address : adresse IP suivi du numéro de port.
  • meta-disk : DRBD a besoin d'un espace pour stocker ses données de fonctionnement. Celles-ci peuvent être sur un disque externe et cette directive qui le définit. Dans notre cas nous utilisons le stockage interne. Pour plus d'informations, reportez vous à la section 16.1 du manuel.

Corosync

Générer l'authentification

DLM

Créez le répertoire /etc/dlm et ajoutez-y un fichier “dlm.conf” avec le contenu suivant :

protocol=1

Si vous ne le faites pas vous rencontrerez l'erreur suivante :

dlm: TCP protocol can't handle multi-homed hosts, try SCTP
dlm: cannot start dlm lowcomms -22

Pour vérifiez que la valeur est correctement initialisée, vous pouvez utiliser le fichier /sys/kernel/config/dlm/cluster/protocol

pacemaker.txt · Dernière modification: 2020/09/26 13:23 de admin