CTDB remix - II: Designing the Reality

WhoMartin Schwenke
WhereSambaXP 2017, Göttingen, Germany
WhenMay 2017

CTDB development has been fraught with many pitfalls owing to its organically evolved, monolithic code base. The only reasonable way forward seemed to split the code into multiple daemons to make the code manageable. After addition of more than 30,000 lines of code creating new abstractions, separating protocol marshalling and re-implementing the client API, the dream of splitting CTDB daemon code seems closer than ever.

There have been questions whether CTDB can be used with a 3rd party cluster manager such as etcd. Similar questions have been asked about integration with 3rd party high availability and load balancing tools. To achieve such integration, CTDB will move towards a set of loosely coupled, separate deamons for cluster management, failover and service management. Glue will be needed so that 3rd party tools can be integrated in a way that satisfies some simple assumptions that CTDB needs to make. Though some services, such as NFS Ganesha's lock management, introduce challenges to the loose coupling, this plan looks to be achievable.

If we can get there then we can leave a slim clustered database to help achieve highly scalable clustered Samba.

SlidesPDF (202.9 kB)