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 hackers with the skills:

samba ceph ctdb

This project is part of:

Hack Week 17

Activity

  • over 6 years ago: dmdiss started this project.
  • almost 7 years ago: dmdiss added keyword "samba" to this project.
  • almost 7 years ago: dmdiss added keyword "ceph" to this project.
  • almost 7 years ago: dmdiss added keyword "ctdb" to this project.
  • almost 7 years ago: dmdiss originated this project.

  • Comments

    • dmdiss
      about 6 years 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

      • dmdiss
        about 6 years ago by dmdiss | Reply

        Fixed link to git repo

    Similar Projects

    This project is one of its kind!