s3:libsmb: allow store_cldap_reply() to work with a ipv6 response
[samba.git] / docs-xml / manpages / vfs_glusterfs.8.xml
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">
4
5 <refmeta>
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>
11 </refmeta>
12
13
14 <refnamediv>
15         <refname>vfs_glusterfs</refname>
16         <refpurpose>
17                 Utilize features provided by GlusterFS
18         </refpurpose>
19 </refnamediv>
20
21 <refsynopsisdiv>
22         <cmdsynopsis>
23                 <command>vfs objects = glusterfs</command>
24         </cmdsynopsis>
25 </refsynopsisdiv>
26
27 <refsect1>
28         <title>DESCRIPTION</title>
29
30         <para>This VFS module is part of the
31         <citerefentry><refentrytitle>samba</refentrytitle>
32         <manvolnum>8</manvolnum></citerefentry> suite.</para>
33
34         <para>
35                 GlusterFS
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.
41         </para>
42
43         <para>
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.
51         </para>
52
53         <para>
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.
58         </para>
59 </refsect1>
60
61 <refsect1>
62         <title>CONFIGURATION</title>
63
64         <para>
65                 A basic configuration looks like this.
66         </para>
67
68         <programlisting>
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>
74         </programlisting>
75
76         <para>
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.
85         </para>
86
87         <para>
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.
91         </para>
92 </refsect1>
93
94 <refsect1>
95         <title>OPTIONS</title>
96
97         <variablelist>
98
99                 <varlistentry>
100                 <term>glusterfs:logfile = path</term>
101                 <listitem>
102                 <para>
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.
106                 </para>
107                 <para>
108                         Example: glusterfs:logfile =
109                         /var/log/samba/glusterfs-vol2.%M.log
110                 </para>
111                 </listitem>
112                 </varlistentry>
113
114                 <varlistentry>
115                 <term>glusterfs:loglevel = 0-9</term>
116                 <listitem>
117                 <para>
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.
120                 </para>
121                 <para>
122                         If this option is not defined with an explicit loglevel,
123                         the glusterfs default is used (currently loglevel 7).
124                 </para>
125                 </listitem>
126                 </varlistentry>
127
128
129                 <varlistentry>
130                 <term>glusterfs:volfile_server = servername</term>
131                 <listitem>
132                 <para>
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
136                 </para>
137                 <para>
138                         1. unix+/path/to/socket/file
139                 </para>
140                 <para>
141                         2. [tcp+]IP|hostname|\[IPv6\][:port]
142                 </para>
143                 <para>
144                         Note the restriction on naming a IPv6 host, it follows
145                         the same restriction that is based on IPv6 naming in
146                         URL as per RFC 2732.
147                 </para>
148                 </listitem>
149                 </varlistentry>
150
151                 <varlistentry>
152                 <term>glusterfs:volume = volumename</term>
153                 <listitem>
154                 <para>
155                         Defines the glusterfs volumename to use for this share.
156                 </para>
157                 </listitem>
158
159                 </varlistentry>
160         </variablelist>
161
162 </refsect1>
163
164 <refsect1>
165         <title>CAVEATS</title>
166
167         <para>
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
174                 the same file.
175         </para>
176         <para>
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
183                 <programlisting>
184                         gluster volume set &lt;volumename&gt; performance.write-behind off
185                 </programlisting> on the commandline.
186         </para>
187         <para>
188                 With GlusterFS versions >= 9, we silently bypass write-behind
189                 translator during initial connect and failure is avoided.
190         </para>
191
192 </refsect1>
193
194
195 <refsect1>
196         <title>VERSION</title>
197
198         <para>
199                 This man page is part of version &doc.version; of the Samba suite.
200         </para>
201 </refsect1>
202
203 <refsect1>
204         <title>AUTHOR</title>
205
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>
210
211 </refsect1>
212
213 </refentry>