Ceph offers a highly scalable and fault-tolerant storage system. Samba is already capable of sharing data located on the Ceph Filesystem, however scale-out sharing (the same data exposed by multiple Samba nodes) currently requires the use of CTDB for consistent and coherent state across Samba cluster nodes. In such a setup CTDB provides a clustered database with persistent key-value data storage and locking. Database usage is abstracted out via a generic dbwrap interface.

Ceph's librados library provides an API for the storage and retrieval of arbitrary key-value data via the omap functions. A watch/notify protocol is also provided as a mechanism for synchronising client state (locking). Key-value data stored in the RADOS back-end inherits the same redundancy features as regular objects, making it a potentially good candidate as a replacement for CTDB in scale-out Samba clusters.

Looking for mad skills in:

samba ceph ctdb

This project is part of:

Hack Week 17


Comments

  • dmdiss
    over 1 year ago by dmdiss | Reply

    I implemented a basic POC with fetch-locked functionality. The WIP changes (including TODOs) have been pushed to: https://git.samba.org/ddiss/?p=ddiss/samba.git;a=shortlog;h=refs/heads/wiphw2018dbwrap_ceph

Similar Projects

This project is one of its kind!