libsmb: Move unix_filetype_to_wire() to libcli/smb
[samba4-gss.git] / docs-xml / manpages / vfs_ceph_new.8.xml
blobeaf5b66ccebf076fbbdfa01e15c2389128408c95
1 <?xml version="1.0" encoding="iso-8859-1"?>
2 <!DOCTYPE refentry PUBLIC "-//Samba-Team//DTD DocBook V4.2-Based Variant V1.0//EN" "http://www.samba.org/samba/DTD/samba-doc">
3 <refentry id="vfs_ceph_new.8">
5 <refmeta>
6         <refentrytitle>vfs_ceph_new</refentrytitle>
7         <manvolnum>8</manvolnum>
8         <refmiscinfo class="source">Samba</refmiscinfo>
9         <refmiscinfo class="manual">System Administration tools</refmiscinfo>
10         <refmiscinfo class="version">&doc.version;</refmiscinfo>
11 </refmeta>
14 <refnamediv>
15         <refname>vfs_ceph_new</refname>
16         <refpurpose>
17                 Utilize features provided by libcephfs low-level APIs
18         </refpurpose>
19 </refnamediv>
21 <refsynopsisdiv>
22         <cmdsynopsis>
23                 <command>vfs objects = ceph_new</command>
24         </cmdsynopsis>
25 </refsynopsisdiv>
27 <refsect1>
28         <title>DESCRIPTION</title>
30         <para>This VFS module is part of the
31         <citerefentry><refentrytitle>samba</refentrytitle>
32         <manvolnum>8</manvolnum></citerefentry> suite.</para>
34         <para>
35                 The <command>vfs_ceph_new</command> VFS module exposes
36                 CephFS specific features for use by Samba.
37         </para>
39         <para>
40                 Ceph is a distributed network file system designed to provide
41                 excellent performance, reliability, and scalability. This is a
42                 shared library allowing applications to access a Ceph
43                 distributed file system via a POSIX-like interface.
44         </para>
46         <para>
47                 This module can be combined with other modules, but it
48                 should be the last module in the <command>vfs objects</command>
49                 list. Modules added to this list to the right of the ceph
50                 entry may not have any effect at all.
51         </para>
53         <para>
54                 <command>vfs_ceph_new</command> performs mapping between Windows
55                 and POSIX Access Control Lists (ACLs). To ensure correct
56                 processing and enforcement of POSIX ACLs, the following Ceph
57                 configuration parameters are automatically applied:
58         </para>
59         <programlisting>
60                 <command>client acl type = posix_acl</command>
61                 <command>fuse default permissions = false</command>
62         </programlisting>
64         <para>
65         <emphasis role="strong">NOTE</emphasis>:
66         This is a second implementation of a ceph module which uses libcephfs
67         low-level APIs (compared to the original
68         <citerefentry><refentrytitle>vfs_ceph</refentrytitle>
69         <manvolnum>8</manvolnum></citerefentry> module which uses path-based
70         APIs). Using the low-level API allows more optimized and fine-grained
71         access to the Ceph storage layer.
72         </para>
73 </refsect1>
75 <refsect1>
76         <title>CONFIGURATION</title>
78         <para>
79                 <command>vfs_ceph_new</command> requires that the underlying
80                 share path is a Ceph filesystem.
81         </para>
83         <programlisting>
84                 <smbconfsection name="[share]"/>
85                 <smbconfoption name="vfs objects">ceph_new</smbconfoption>
86                 <smbconfoption name="path">/non-mounted/cephfs/path</smbconfoption>
87                 <smbconfoption name="kernel share modes">no</smbconfoption>
88         </programlisting>
90         <para>
91                 Since <command>vfs_ceph_new</command> does not require a
92                 filesystem mount, the share <command>path</command> is treated
93                 differently: it is interpreted as an absolute path within the
94                 Ceph filesystem on the attached Ceph cluster.
95                 In a ctdb cluster environment where ctdb manages Samba,
96                 <command>CTDB_SAMBA_SKIP_SHARE_CHECK=yes</command> must be
97                 configured to disable local share path checks, otherwise ctdb
98                 will not reach a healthy state.
99         </para>
101         <para>
102                 Note that currently <command>kernel share modes</command> have
103                 to be disabled in a share running with the CephFS vfs module for
104                 file serving to work properly.
105         </para>
106 </refsect1>
108 <refsect1>
109         <title>OPTIONS</title>
111         <variablelist>
113                 <varlistentry>
114                 <term>ceph_new:config_file = path</term>
115                 <listitem>
116                 <para>
117                         Allows one to define a ceph configfile to use. Empty by default.
118                 </para>
119                 <para>
120                         Example: ceph_new:config_file =
121                         /etc/ceph/ceph.conf
122                 </para>
123                 </listitem>
124                 </varlistentry>
126                 <varlistentry>
127                 <term>ceph_new:user_id = name</term>
128                 <listitem>
129                 <para>
130                         Allows one to explicitly set the client ID used for the
131                         CephFS mount handle. Empty by default (use the libcephfs
132                         client default).
133                 </para>
134                 <para>
135                         Example: ceph_new:user_id = samba
136                 </para>
137                 </listitem>
138                 </varlistentry>
140                 <varlistentry>
141                 <term>ceph_new:filesystem = fs_name</term>
142                 <listitem>
143                 <para>
144                         Allows one to explicitly select the CephFS file system
145                         to use when the Ceph cluster supports more than one
146                         file system. Empty by default (use the default file
147                         system of the Ceph cluster).
148                 </para>
149                 <para>
150                         Example: ceph_new:filesystem = myfs2
151                 </para>
152                 </listitem>
153                 </varlistentry>
155                 <varlistentry>
156                 <term>ceph_new:proxy = [ yes | no | auto ]</term>
157                 <listitem>
158                 <para>
159                         Allows one to indicate use of the libcephfs proxy library
160                         for optimized resource utilization, allowing more simultaneous
161                         client connections. Prerequisites include the presence of
162                         <emphasis>libcephfs_proxy.so.X</emphasis> shared library file
163                         under loadable locations for dynamic linker and an active(running)
164                         <emphasis>libcephfsd</emphasis> daemon.
165                 </para>
167                 <itemizedlist>
168                         <listitem><para><constant>no</constant> (default) - Do
169                         not use the proxy library but regular connection through
170                         <emphasis>libcephfs.so.X</emphasis>.</para></listitem>
172                         <listitem><para><constant>yes</constant> - Always use
173                         the proxy library and fail the client connection request
174                         if prerequisites are unmet.</para></listitem>
176                         <listitem><para><constant>auto</constant> - Attempt to
177                         use the proxy library but fall back to the regular cephfs
178                         connection if prerequisites are unmet.</para></listitem>
180                 </itemizedlist>
182                 </listitem>
183                 </varlistentry>
184         </variablelist>
186 </refsect1>
188 <refsect1>
189         <title>VERSION</title>
191         <para>
192                 This man page is part of version &doc.version; of the Samba suite.
193         </para>
194 </refsect1>
196 <refsect1>
197         <title>AUTHOR</title>
199         <para>The original Samba software and related utilities
200         were created by Andrew Tridgell. Samba is now developed
201         by the Samba Team as an Open Source project similar
202         to the way the Linux kernel is developed.</para>
204 </refsect1>
206 </refentry>