11.4. Configuration de CTDB

Le fichier de configuration de CTDB se trouve dans /etc/sysconfig/ctdb. Les champs devant être obligatoirement configurés pour opérer CTDB sont les suivants :
  • CTDB_NODES
  • CTDB_PUBLIC_ADDRESSES
  • CTDB_RECOVERY_LOCK
  • CTDB_MANAGES_SAMBA (doit être activé)
  • CTDB_MANAGES_WINBIND (doit être activé si exécuté sur un serveur membre)
L'exemple suivant montre un fichier de configuration avec les champs obligatoires pour opérer CTDB définis avec des exemples de paramètres :
CTDB_NODES=/etc/ctdb/nodes
CTDB_PUBLIC_ADDRESSES=/etc/ctdb/public_addresses
CTDB_RECOVERY_LOCK="/mnt/ctdb/.ctdb.lock"
CTDB_MANAGES_SAMBA=yes
CTDB_MANAGES_WINBIND=yes
La signification de ces paramètres est comme suit.
CTDB_NODES
Spécifie l'emplacement du fichier contenant la liste des nœuds du cluster.
Le fichier /etc/ctdb/nodes que CTDB_NODES référence répertorie simplement les adresses IP des nœuds du cluster, comme dans l'exemple suivant :
192.168.1.151
192.168.1.152
192.168.1.153
Dans cet exemple, il n'y a qu'une seule interface/adresse IP sur chaque nœud utilisé pour les communications cluster/CTDB et pour servir les clients. Cependant, il est fortement recommandé que chaque nœud de cluster possède deux interfaces réseau, ainsi un ensemble d'interfaces pourra être dédié aux communications cluster/CTDB et un autre ensemble pourra être dédié à l'accès public du client. Veuillez utiliser les adresses IP correctes du réseau du cluster et vous assurer que les nom d'hôtes/adresses IP utilisés dans le fichier cluster.conf sont bien les mêmes. De la même manière, veuillez utiliser les interfaces correctes du réseau public pour l'accès client dans le fichier public_addresses.
Il est critique que le fichier /etc/ctdb/nodes soit identique sur tous les nœuds car l'ordre est important et CTDB échouera si différentes informations se trouvent sur différents nœuds.
CTDB_PUBLIC_ADDRESSES
Spécifie l'emplacement du fichier qui répertorie les adresses IP pouvant être utilisées pour accéder aux partages Samba exportés par ce cluster. Ce sont les adresses IP que vous devriez configurer dans DNS pour le nom du serveur Samba clusterisé et les adresses auxquelles les clients CIFS se connecteront. Configurez le nom du serveur Samba clusterisé comme étant un enregistrement DNS de type A avec de multiples adresses IP et laissez le DNS Round-Robin distribuer les clients à travers les nœuds du cluster.
Pour cet exemple, nous avons configuré une entrée DNS Round-Robin csmb-server avec toutes les adresses répertoriées dans le fichier /etc/ctdb/public_addresses. Le DNS distribuera les clients utilisant cette entrée sur le cluster à l'aide de la technique du DNS Round-Robin.
Le contenu du fichier /etc/ctdb/public_addresses sur chaque nœud est comme suit :
192.168.1.201/0 eth0
192.168.1.202/0 eth0
192.168.1.203/0 eth0
Cet exemple utilise trois adresses qui sont actuellement inutilisées sur le réseau. Dans votre propre configuration, choisissez les adresses pouvant être accédées par les clients voulus.
Alternativement, cet exemple affiche le contenu des fichiers /etc/ctdb/public_addresses dans un cluster dans lequel se trouvent trois nœuds, mais un total de quatre adresses publiques. Dans cet exemple, l'adresse IP 198.162.2.1 peut être hébergée par le nœud 0 ou le nœud 1 et sera disponible aux clients aussi longtemps que l'un de ces nœuds sera disponible. Cette adresse publique sera indisponible aux clients uniquement si les nœuds 0 et 1 échouent. Toutes les autres adresses publiques peuvent uniquement être servies par un seul nœud respectivement et seront donc seulement disponibles si le nœud respectif est aussi disponible.
Le fichier /etc/ctdb/public_addresses sur le nœud 0 inclut le contenu suivant :
198.162.1.1/24 eth0
198.162.2.1/24 eth1
Le fichier /etc/ctdb/public_addresses sur le nœud 1 inclut le contenu suivant :
198.162.2.1/24 eth1
198.162.3.1/24 eth2
Le fichier /etc/ctdb/public_addresses sur le nœud 2 inclut le contenu suivant :
198.162.3.2/24 eth2
CTDB_RECOVERY_LOCK
Spécifie un fichier verrou que CTDB utilise de manière interne pour la récupération. Ce fichier doit être sur un stockage partagé afin que tous les nœuds du cluster puissent y accéder. L'exemple de cette section utilise le système de fichiers GFS2 qui sera monté sur /mnt/ctdb sur tous les nœuds. Ceci est différent du système de fichiers GFS2 qui hébergera le partage Samba devant être exporté. Ce fichier verrou de récupération est utilisé afin de prévenir les scénarios de type « split-brain ». Dans les versions plus récentes de CTDB (à partir de la version 1.0.112), la spécification de ce fichier est optionnelle à partir du moment où celle-ci est remplacée par un autre mécanisme de prévention de « split-brain ».
CTDB_MANAGES_SAMBA
Lorsqu'activé, en paramétrant sur yes, cette valeur spécifie que CTDB est autorisé à démarrer et arrêter le service Samba comme nécessaire, afin de fournir un basculement ou une migration du service.
Lorsque CTDB_MANAGES_SAMBA est activé, vous devriez désactiver le démarrage automatique init des démons smb et nmb en exécutant les commandes suivantes :
[root@clusmb-01 ~]# chkconfig snb off
[root@clusmb-01 ~]# chkconfig nmb off
CTDB_MANAGES_WINBIND
Lorsqu'activé, en paramétrant sur yes, cette valeur spécifie que CTDB est autorisé à démarrer et arrêter le démon winbind comme requis. Celui-ci devrait être activé lorsque CTDB est utilisé dans un domaine Windows ou en mode de sécurité de répertoire actif.
Lorsque CTDB_MANAGES_WINBIND est activé, vous devriez désactiver le démarrage automatique init du démon winbind en exécutant la commande suivante :
[root@clusmb-01 ~]# chkconfig windinbd off