Table of Contents

CTDB

Beispiel anhand von einem 4 Node Glusterfs Cluster unter Ubuntu

Installation

apt-get install ctdb


Konfiguration

vim /etc/default/ctdb

CTDB_RECOVERY_LOCK=/mnt/gluster_clients/gvol01/ctdb/lock
CTDB_NODES=/etc/ctdb/nodes
CTDB_PUBLIC_ADDRESSES=/etc/ctdb/public_addresses
CTDB_LOGGING=file:/var/log/ctdb.log


CTDB_RECOVERY_LOCK
Ein Lockfile das von allen CTDB Nodes erreicht werden muss. Sprich hier wird ein Shared-Filesystem benötigt. Ich habe dazu das GlusterFS via FUSE auf jedem der 4 Nodes gemountet.

CTDB_NODES
Hier werden alle Nodes die am CTDB Cluster teilnehem via IP hinterlegt

vim /etc/ctdb/nodes

192.168.88.101
192.168.88.102
192.168.88.103
192.168.88.104


CTDB_PUBLIC_ADDRESSES
IPs die bei einem Ausfall einer oder auch mehrere Nodes übernommen werden sollen. Teilt man hier mehrere IPs zu versucht CTDB diese gleichmäßig über alle Nodes zu verteilen. In meinem Fall verwende ich 4 IPs die dann so verteilt werden das auf jeder Node eine aktiv ist. Fällt eine Node aus wird die IP auf eine andere Node migriert. Die Aufteilung der IPs kann man so sehr gut für ein DNS Round Robin nutzen um die Last zuverteilen.

vim /etc/ctdb/public_addresses

192.168.88.105/24 ens160
192.168.88.106/24 ens160
192.168.88.107/24 ens160
192.168.88.108/24 ens160


CTDB_LOGGING
Klassisches Logfile



Starten

Gestartet wird via init Script oder systemctl. Es empfiehlt bei den ersten Startversuchen das Logfile offen zu haben.



Befehle

Interessante Befehle sind:

ctdb status
ctdb uptime
ctdb ip
ctdb ping -n all