45Drives Knowledge Base |
KB450182 - Configuring CTDB (4.9 and above) https://knowledgebase.45drives.com/kb/kb450182-configuring-ctdb-4-9-and-above/ |
CTDB being updated to a version in 4.9.x series brings an overhaul in configuration file format, parameters and default locations. Thus in an environment where CTDB configuration under /etc/sysconfig/ or /etc/ctdb/ctdbd.conf has been modified previously might experience some irregularities unless proper migration procedures are performed after the update.
Config files:
/etc/sysconfig/ctdb
# grep -v '^$\|^\s*\#' /etc/sysconfig/ctdb CTDB_RECOVERY_LOCK="!/usr/libexec/ctdb/ctdb_mutex_ceph_rados_helper ceph client.admin cephfs_metadata lockfile" #CTDB_RECOVERY_LOCK=/mnt/cephfs/ctdb/.lockfile CTDB_NODES=/etc/ctdb/nodes CTDB_PUBLIC_ADDRESSES=/etc/ctdb/public_addresses CTDB_MANAGES_SAMBA=yes CTDB_DEBUGLEVEL=NOTICE CTDB_SET_MonitorInterval=5 CTDB_SET_TakeoverTimeout=5 CTDB_SET_ElectionTimeout=2 CTDB_SET_KeepaliveLimit=3 CTDB_SET_KeepaliveInterval=1 CTDB_SET_ControlTimeout=15 CTDB_NOSETSCHED=yes
/etc/ctdb/nodes
192.168.102.50 192.168.102.51
/etc/ctdb/public_addresses
192.168.102.52/16 eth0
/etc/samba/smb.conf
# cat /etc/samba/smb.conf # See smb.conf.example for a more detailed config file or # read the smb.conf manpage. # Run 'testparm' to verify the config is correct after # you modified it. clustering = yes workgroup = SAMBA security = user passdb backend = tdbsam log level = 3 path = /mnt/cephfs/fsgw valid users = root write list = root
systemctl stop ctdb
yum update -y
reboot
# cat /etc/centos-release CentOS Linux release 7.7.1908 (Core) # rpm -qa | egrep "samba|ctdb" samba-winbind-modules-4.9.1-6.el7.x86_64 samba-winbind-krb5-locator-4.9.1-6.el7.x86_64 samba-common-libs-4.9.1-6.el7.x86_64 samba-client-libs-4.9.1-6.el7.x86_64 samba-common-tools-4.9.1-6.el7.x86_64 samba-winbind-4.9.1-6.el7.x86_64 samba-winbind-clients-4.9.1-6.el7.x86_64 samba-4.9.1-6.el7.x86_64 ctdb-4.9.1-6.el7.x86_64 samba-common-4.9.1-6.el7.noarch samba-libs-4.9.1-6.el7.x86_64
# mkdir /tmp/ctdb-migration/
Assuming "/etc/ctdb" as ctdb configuration directory If that's not correct, please specify config dir with -d
# mkdir /etc/ctdb/events/legacy CTDB# ln -s /usr/share/ctdb/events/legacy/00.ctdb.script /etc/ctdb/events/legacy/ IP # ln -s /usr/share/ctdb/events/legacy/10.interface.script /etc/ctdb/events/legacy/ SMB # ln -s /usr/share/ctdb/events/legacy/50.samba.script /etc/ctdb/events/legacy/ WINB# ln -s /usr/share/ctdb/events/legacy/49.winbind.script /events/ctdb/events/legacy/ NFS # ln -s /usr/share/ctdb/events/legacy/06.nfs.script /events/ctdb/events/legacy/
# mkdir /var/lib/ctdb/volatile
# mkdir /var/lib/ctdb/persistent
# mkdir /var/lib/ctdb/state
# mkdir /etc/ctdb/events/legacy/
# mv /etc/ctdb/ctdb.conf /etc/ctdb/ctdb.conf.default
# mv ctdb.conf /etc/ctdb/
# mv script.options /etc/ctdb/
# mv ctdb.tunables /etc/ctdb/
systemctl start ctdb
Config files:
/etc/ctdb/ctdb.conf
realtime scheduling = false recovery lock = !/usr/libexec/ctdb/ctdb_mutex_ceph_rados_helper ceph client.admin cephfs_metadata lockctdb # recovery lcok = /mnt/cephfs/ctdb/.lockctdb
/etc/ctdb/ctdb.tunables
ControlTimeout=15 ElectionTimeout=2 KeepaliveInterval=1 KeepaliveLimit=3 MonitorInterval=5 TakeoverTimeout=5
EVENT SYMLINKS
CTDB # ln -s /usr/share/ctdb/events/legacy/00.ctdb.script /etc/ctdb/events/legacy/ IP # ln -s /usr/share/ctdb/events/legacy/10.interface.script /etc/ctdb/events/legacy/ SMB # ln -s /usr/share/ctdb/events/legacy/50.samba.script /etc/ctdb/events/legacy/
/etc/ctdb/nodes
192.168.102.50 192.168.102.51
/etc/ctdb/public_addresses
192.168.102.52/16 eth0
/etc/samba/smb.conf
# See smb.conf.example for a more detailed config file or # read the smb.conf manpage. # Run 'testparm' to verify the config is correct after # you modified it. clustering = yes workgroup = SAMBA security = user passdb backend = tdbsam log level = 3 path = /mnt/cephfs/fsgw valid users = root write list = root