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).
Installation des paquets nécessaires :
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 :
Générer l'authentification
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