vfs_ceph_new — Utilize features provided by libcephfs low-level APIs
vfs objects = ceph_new
This VFS module is part of the samba(8) suite.
The vfs_ceph_new
VFS module exposes
CephFS specific features for use by Samba.
Ceph is a distributed network file system designed to provide excellent performance, reliability, and scalability. This is a shared library allowing applications to access a Ceph distributed file system via a POSIX-like interface.
This module can be combined with other modules, but it
should be the last module in the vfs objects
list. Modules added to this list to the right of the ceph
entry may not have any effect at all.
vfs_ceph_new
performs mapping between Windows
and POSIX Access Control Lists (ACLs). To ensure correct
processing and enforcement of POSIX ACLs, the following Ceph
configuration parameters are automatically applied:
client acl type = posix_acl
fuse default permissions = false
NOTE: This is a second implementation of a ceph module which uses libcephfs low-level APIs (compared to the original vfs_ceph(8) module which uses path-based APIs). Using the low-level API allows more optimized and fine-grained access to the Ceph storage layer.
vfs_ceph_new
requires that the underlying
share path is a Ceph filesystem.
[share]
vfs objects = ceph_new
path = /non-mounted/cephfs/path
kernel share modes = no
Since vfs_ceph_new
does not require a
filesystem mount, the share path
is treated
differently: it is interpreted as an absolute path within the
Ceph filesystem on the attached Ceph cluster.
In a ctdb cluster environment where ctdb manages Samba,
CTDB_SAMBA_SKIP_SHARE_CHECK=yes
must be
configured to disable local share path checks, otherwise ctdb
will not reach a healthy state.
Note that currently kernel share modes
have
to be disabled in a share running with the CephFS vfs module for
file serving to work properly.
Allows one to define a ceph configfile to use. Empty by default.
Example: ceph_new:config_file = /etc/ceph/ceph.conf
Allows one to explicitly set the client ID used for the CephFS mount handle. Empty by default (use the libcephfs client default).
Example: ceph_new:user_id = samba
Allows one to explicitly select the CephFS file system to use when the Ceph cluster supports more than one file system. Empty by default (use the default file system of the Ceph cluster).
Example: ceph_new:filesystem = myfs2