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

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

  • Comments

    • dmdiss
      almost 3 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

    Similar Projects

    Developing an opinionated storage appliance by asettle

    [comment]: # (Please use the project descriptio...


    k8s-rook-client by haass

    [comment]: # (Please use the project descriptio...


    knots by LarsMB

    Summary

    knots aims to be a multi-node S3...