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_glusterfs.8">
6 <refentrytitle>vfs_glusterfs</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>
15 <refname>vfs_glusterfs</refname>
17 Utilize features provided by GlusterFS
23 <command>vfs objects = glusterfs</command>
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>
36 (<ulink url="http://www.gluster.org/">http://www.gluster.org</ulink>)
37 is an Open Source clustered file system capable of scaling to
38 several peta-bytes. With its FUSE based native client,
39 GlusterFS is available as a POSIX compliant file system and can
40 hence be shared by Samba without additional steps.
44 The <command>vfs_glusterfs</command> VFS module provides an
45 alternative, and superior way to access a Gluster filesystem
46 from Samba for sharing. It does not require a Gluster FUSE mount
47 but directly accesses the GlusterFS daemon through its library
48 <command>libgfapi</command>, thereby omitting the expensive
49 kernel-userspace context switches and taking advantage of some
50 of the more advanced features of GlusterFS.
54 This module can be combined with other modules, but it
55 should be the last module in the <command>vfs objects</command>
56 list. Modules added to this list to the right of the glusterfs
57 entry may not have any effect at all.
62 <title>CONFIGURATION</title>
65 A basic configuration looks like this.
69 <smbconfsection name="[share]"/>
70 <smbconfoption name="vfs objects">glusterfs</smbconfoption>
71 <smbconfoption name="path">/relative/base/path</smbconfoption>
72 <smbconfoption name="glusterfs:volume">gv0</smbconfoption>
73 <smbconfoption name="kernel share modes">no</smbconfoption>
77 Note that since <command>vfs_glusterfs</command> does not
78 require a Gluster mount, the share <command>path</command> is
79 treated differently than for other shares: It is interpreted as
80 the base path of the share relative to the gluster volume used.
81 Because this is usually not at the same time a system path, in a
82 ctdb cluster setup where ctdb manages Samba, you need to set
83 <command>CTDB_SAMBA_SKIP_SHARE_CHECK=yes</command> in ctdb's
84 configuration file. Otherwise ctdb will not get healthy.
88 Note that currently kernel share modes have to be disabled
89 in a share running with the glusterfs vfs module for file
90 serving to work properly.
95 <title>OPTIONS</title>
100 <term>glusterfs:logfile = path</term>
103 Defines whether and where to store a vfs_glusterfs specific
104 logfile. Client variable substitution is supported (i.e.
105 %M, %m, %I), hence per client log file can be specified.
108 Example: glusterfs:logfile =
109 /var/log/samba/glusterfs-vol2.%M.log
115 <term>glusterfs:loglevel = 0-9</term>
118 Defines the level of logging, with higher numbers corresponding to more verbosity.
119 0 - No logs; 9 - Trace log level; 7 being the info log level is preferred.
122 If this option is not defined with an explicit loglevel,
123 the glusterfs default is used (currently loglevel 7).
130 <term>glusterfs:volfile_server = servername</term>
133 Defines which volfile server to use, defaults to
134 localhost. It could be list of white space
135 separated elements where each element could be
138 1. unix+/path/to/socket/file
141 2. [tcp+]IP|hostname|\[IPv6\][:port]
144 Note the restriction on naming a IPv6 host, it follows
145 the same restriction that is based on IPv6 naming in
152 <term>glusterfs:volume = volumename</term>
155 Defines the glusterfs volumename to use for this share.
165 <title>CAVEATS</title>
168 The GlusterFS write-behind performance translator, when used
169 with Samba, could be a source of data corruption. The
170 translator, while processing a write call, immediately returns
171 success but continues writing the data to the server in the
172 background. This can cause data corruption when two clients
173 relying on Samba to provide data consistency are operating on
177 The write-behind translator is enabled by default on GlusterFS.
178 The vfs_glusterfs plugin will check for the presence of the
179 translator and refuse to connect if detected.
180 Please disable the write-behind translator for the GlusterFS
181 volume to allow the plugin to connect to the volume.
182 The write-behind translator can easily be disabled via calling
184 gluster volume set <volumename> performance.write-behind off
185 </programlisting> on the commandline.
188 With GlusterFS versions >= 9, we silently bypass write-behind
189 translator during initial connect and failure is avoided.
196 <title>VERSION</title>
199 This man page is part of version &doc.version; of the Samba suite.
204 <title>AUTHOR</title>
206 <para>The original Samba software and related utilities
207 were created by Andrew Tridgell. Samba is now developed
208 by the Samba Team as an Open Source project similar
209 to the way the Linux kernel is developed.</para>