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_gpfs.8">
|
---|
4 |
|
---|
5 | <refmeta>
|
---|
6 | <refentrytitle>vfs_gpfs</refentrytitle>
|
---|
7 | <manvolnum>8</manvolnum>
|
---|
8 | <refmiscinfo class="source">Samba</refmiscinfo>
|
---|
9 | <refmiscinfo class="manual">System Administration tools</refmiscinfo>
|
---|
10 | <refmiscinfo class="version">3.6</refmiscinfo>
|
---|
11 | </refmeta>
|
---|
12 |
|
---|
13 |
|
---|
14 | <refnamediv>
|
---|
15 | <refname>vfs_gpfs</refname>
|
---|
16 | <refpurpose>gpfs specific samba extensions like acls and prealloc</refpurpose>
|
---|
17 | </refnamediv>
|
---|
18 |
|
---|
19 | <refsynopsisdiv>
|
---|
20 | <cmdsynopsis>
|
---|
21 | <command>vfs objects = gpfs</command>
|
---|
22 | </cmdsynopsis>
|
---|
23 | </refsynopsisdiv>
|
---|
24 |
|
---|
25 | <refsect1>
|
---|
26 | <title>DESCRIPTION</title>
|
---|
27 |
|
---|
28 | <para>This VFS module is part of the
|
---|
29 | <citerefentry><refentrytitle>samba</refentrytitle>
|
---|
30 | <manvolnum>7</manvolnum></citerefentry> suite.</para>
|
---|
31 |
|
---|
32 | <para>The <command>gpfs</command> VFS module is the home
|
---|
33 | for all gpfs extensions that Samba requires for proper integration
|
---|
34 | with GPFS. It uses the GPL library interfaces provided by GPFS.
|
---|
35 | </para>
|
---|
36 |
|
---|
37 | <para>Currently the gpfs vfs module provides extensions in following areas :
|
---|
38 | <itemizedlist>
|
---|
39 | <listitem><para>NFSv4 ACL Interfaces with configurable options for GPFS</para></listitem>
|
---|
40 | <listitem><para>Kernel oplock support on GPFS</para></listitem>
|
---|
41 | <listitem><para>Lease support on GPFS</para></listitem>
|
---|
42 | </itemizedlist>
|
---|
43 | </para>
|
---|
44 |
|
---|
45 | <para><command>NOTE:</command>This module follows the posix-acl behaviour
|
---|
46 | and hence allows permission stealing via chown. Samba might allow at a later
|
---|
47 | point in time, to restrict the chown via this module as such restrictions
|
---|
48 | are the responsibility of the underlying filesystem than of Samba.
|
---|
49 | </para>
|
---|
50 |
|
---|
51 | <para>This module is stackable.</para>
|
---|
52 |
|
---|
53 | </refsect1>
|
---|
54 |
|
---|
55 |
|
---|
56 | <refsect1>
|
---|
57 | <title>OPTIONS</title>
|
---|
58 |
|
---|
59 | <variablelist>
|
---|
60 |
|
---|
61 | <varlistentry>
|
---|
62 |
|
---|
63 | <term>gpfs:sharemodes = [ yes | no ]</term>
|
---|
64 | <listitem>
|
---|
65 | <para>
|
---|
66 | Enable/Disable cross node sharemode handling for GPFS.
|
---|
67 | </para>
|
---|
68 |
|
---|
69 | <itemizedlist>
|
---|
70 | <listitem><para>
|
---|
71 | <command>yes(default)</command> - propagate sharemodes across all GPFS nodes.
|
---|
72 | </para></listitem>
|
---|
73 | <listitem><para>
|
---|
74 | <command>no</command> - do not propagate sharemodes across all GPFS nodes.
|
---|
75 | This should only be used if the GPFS file system is
|
---|
76 | exclusively exported by Samba. Access by local unix application or
|
---|
77 | NFS exports could lead to corrupted files.
|
---|
78 | </para></listitem>
|
---|
79 | </itemizedlist>
|
---|
80 | </listitem>
|
---|
81 |
|
---|
82 | </varlistentry>
|
---|
83 | <varlistentry>
|
---|
84 |
|
---|
85 | <term>gpfs:leases = [ yes | no ]</term>
|
---|
86 | <listitem>
|
---|
87 | <para>
|
---|
88 | Enable/Disable cross node leases (oplocks) for GPFS.
|
---|
89 | You should also set the <command>oplocks</command> and <command>kernel oplocks</command>
|
---|
90 | options to the same value.
|
---|
91 | </para>
|
---|
92 |
|
---|
93 | <itemizedlist>
|
---|
94 | <listitem><para>
|
---|
95 | <command>yes(default)</command> - propagate leases across all GPFS nodes.
|
---|
96 | </para></listitem>
|
---|
97 | <listitem><para>
|
---|
98 | <command>no</command> - do not propagate leases across all GPFS nodes.
|
---|
99 | This should only be used if the GPFS file system is
|
---|
100 | exclusively exported by Samba. Access by local unix application or
|
---|
101 | NFS exports could lead to corrupted files.
|
---|
102 | </para></listitem>
|
---|
103 | </itemizedlist>
|
---|
104 | </listitem>
|
---|
105 |
|
---|
106 | </varlistentry>
|
---|
107 |
|
---|
108 | <varlistentry>
|
---|
109 |
|
---|
110 | <term>gpfs:hsm = [ yes | no ]</term>
|
---|
111 | <listitem>
|
---|
112 | <para>
|
---|
113 | Enable/Disable announcing if this FS has HSM enabled.
|
---|
114 | </para>
|
---|
115 |
|
---|
116 | <itemizedlist>
|
---|
117 | <listitem><para>
|
---|
118 | <command>no(default)</command> - Do not announce HSM.
|
---|
119 | </para></listitem>
|
---|
120 | <listitem><para>
|
---|
121 | <command>no</command> - Announce HSM.
|
---|
122 | </para></listitem>
|
---|
123 | </itemizedlist>
|
---|
124 | </listitem>
|
---|
125 |
|
---|
126 | </varlistentry>
|
---|
127 |
|
---|
128 | <varlistentry>
|
---|
129 |
|
---|
130 | <term>gpfs:getrealfilename = [ yes | no ]</term>
|
---|
131 | <listitem>
|
---|
132 | <para>
|
---|
133 | Enable/Disable usage of the <command>gpfs_get_realfilename_path()</command> function.
|
---|
134 | This improves the casesensitive wildcard file name access.
|
---|
135 | </para>
|
---|
136 |
|
---|
137 | <itemizedlist>
|
---|
138 | <listitem><para>
|
---|
139 | <command>yes(default)</command> - use <command>gpfs_get_realfilename_path()</command>.
|
---|
140 | </para></listitem>
|
---|
141 | <listitem><para>
|
---|
142 | <command>no</command> - do not use <command>gpfs_get_realfilename_path()</command>.
|
---|
143 | It seems that <command>gpfs_get_realfilename_path()</command> doesn't work on AIX.
|
---|
144 | </para></listitem>
|
---|
145 | </itemizedlist>
|
---|
146 | </listitem>
|
---|
147 |
|
---|
148 | </varlistentry>
|
---|
149 | <varlistentry>
|
---|
150 |
|
---|
151 | <term>gpfs:winattr = [ yes | no ]</term>
|
---|
152 | <listitem>
|
---|
153 | <para>
|
---|
154 | Enable/Disable usage of the windows attributes in GPFS.
|
---|
155 | GPFS is able to store windows file attributes e.g. HIDDEN,
|
---|
156 | READONLY, SYSTEM and others natively. That means Samba doesn't
|
---|
157 | need to map them to permission bits or extended attributes.
|
---|
158 | </para>
|
---|
159 |
|
---|
160 | <itemizedlist>
|
---|
161 | <listitem><para>
|
---|
162 | <command>no(default)</command> - do not use GPFS windows attributes.
|
---|
163 | </para></listitem>
|
---|
164 | <listitem><para>
|
---|
165 | <command>yes</command> - use GPFS windows attributes.
|
---|
166 | </para></listitem>
|
---|
167 | </itemizedlist>
|
---|
168 | </listitem>
|
---|
169 |
|
---|
170 | </varlistentry>
|
---|
171 | <varlistentry>
|
---|
172 |
|
---|
173 | <term>gpfs:merge_writeappend = [ yes | no ]</term>
|
---|
174 | <listitem>
|
---|
175 | <para>
|
---|
176 | GPFS ACLs doesn't know about the 'APPEND' right.
|
---|
177 | This optionen lets Samba map the 'APPEND' right to 'WRITE'.
|
---|
178 | </para>
|
---|
179 |
|
---|
180 | <itemizedlist>
|
---|
181 | <listitem><para>
|
---|
182 | <command>yes(default)</command> - map 'APPEND' to 'WRITE'.
|
---|
183 | </para></listitem>
|
---|
184 | <listitem><para>
|
---|
185 | <command>no</command> - do not map 'APPEND' to 'WRITE'.
|
---|
186 | </para></listitem>
|
---|
187 | </itemizedlist>
|
---|
188 | </listitem>
|
---|
189 |
|
---|
190 | </varlistentry>
|
---|
191 | <varlistentry>
|
---|
192 |
|
---|
193 | <term>gpfs:refuse_dacl_protected = [ yes | no ]</term>
|
---|
194 | <listitem>
|
---|
195 | <para>
|
---|
196 | As GPFS does not support the ACE4_FLAG_NO_PROPAGATE NFSv4 flag (which would be
|
---|
197 | the mapping for the DESC_DACL_PROTECTED flag), the status of this flag is
|
---|
198 | currently silently ignored by Samba. That means that if you deselect the "Allow
|
---|
199 | inheritable permissions..." checkbox in Windows' ACL dialog and then apply the
|
---|
200 | ACL, the flag will be back immediately.
|
---|
201 | </para>
|
---|
202 | <para>
|
---|
203 | To make sure that automatic migration with e.g. robocopy does not lead to
|
---|
204 | ACLs silently (and unintentionally) changed, you can set
|
---|
205 | <command>gpfs:refuse_dacl_protected = yes</command> to enable an explicit
|
---|
206 | check for this flag and if set, it will return NT_STATUS_NOT_SUPPORTED so
|
---|
207 | errors are shown up on the Windows side and the Administrator is aware of
|
---|
208 | the ACLs not being settable like intended
|
---|
209 | </para>
|
---|
210 |
|
---|
211 | <itemizedlist>
|
---|
212 | <listitem><para>
|
---|
213 | <command>no(default)</command> - ignore the DESC_DACL_PROTECTED flags.
|
---|
214 | </para></listitem>
|
---|
215 | <listitem><para>
|
---|
216 | <command>yes</command> - reject ACLs with DESC_DACL_PROTECTED.
|
---|
217 | </para></listitem>
|
---|
218 | </itemizedlist>
|
---|
219 | </listitem>
|
---|
220 |
|
---|
221 | </varlistentry>
|
---|
222 | <varlistentry>
|
---|
223 |
|
---|
224 | <term>nfs4:mode = [ simple | special ]</term>
|
---|
225 | <listitem>
|
---|
226 | <para>
|
---|
227 | Enable/Disable substitution of special IDs on GPFS. This parameter
|
---|
228 | should not affect the windows users in anyway. It only ensures that Samba
|
---|
229 | sets the special IDs - OWNER@ and GROUP@ ( mappings to simple uids )
|
---|
230 | that are relevant to GPFS.
|
---|
231 | </para>
|
---|
232 |
|
---|
233 | <para>The following MODEs are understood by the module:</para>
|
---|
234 | <itemizedlist>
|
---|
235 | <listitem><para><command>simple(default)</command> - do not use special IDs in GPFS ACEs</para></listitem>
|
---|
236 | <listitem><para><command>special</command> - use special IDs in GPFS ACEs. </para> </listitem>
|
---|
237 | </itemizedlist>
|
---|
238 | </listitem>
|
---|
239 |
|
---|
240 | </varlistentry>
|
---|
241 |
|
---|
242 |
|
---|
243 | <varlistentry>
|
---|
244 | <term>nfs4:acedup = [dontcare|reject|ignore|merge]</term>
|
---|
245 | <listitem>
|
---|
246 | <para>
|
---|
247 | This parameter configures how Samba handles duplicate ACEs encountered in GPFS ACLs.
|
---|
248 | GPFS allows/creates duplicate ACE for different bits for same ID.
|
---|
249 | </para>
|
---|
250 |
|
---|
251 | <para>Following is the behaviour of Samba for different values :</para>
|
---|
252 | <itemizedlist>
|
---|
253 | <listitem><para><command>dontcare (default)</command> - copy the ACEs as they come</para></listitem>
|
---|
254 | <listitem><para><command>reject</command> - stop operation and exit with error on ACL set op</para></listitem>
|
---|
255 | <listitem><para><command>ignore</command> - don't include the second matching ACE</para></listitem>
|
---|
256 | <listitem><para><command>merge</command> - bitwise OR the 2 ace.flag fields and 2 ace.mask fields of the 2 duplicate ACEs into 1 ACE</para></listitem>
|
---|
257 | </itemizedlist>
|
---|
258 | </listitem>
|
---|
259 | </varlistentry>
|
---|
260 |
|
---|
261 |
|
---|
262 | <varlistentry>
|
---|
263 | <term>nfs4:chown = [yes|no]</term>
|
---|
264 | <listitem>
|
---|
265 | <para>This parameter allows enabling or disabling the chown supported
|
---|
266 | by the underlying filesystem. This parameter should be enabled with
|
---|
267 | care as it might leave your system insecure.</para>
|
---|
268 | <para>Some filesystems allow chown as a) giving b) stealing. It is the latter
|
---|
269 | that is considered a risk.</para>
|
---|
270 |
|
---|
271 | <para>Following is the behaviour of Samba for different values : </para>
|
---|
272 | <itemizedlist>
|
---|
273 | <listitem><para><command>yes</command> - Enable chown if as supported by the under filesystem</para></listitem>
|
---|
274 | <listitem><para><command>no (default)</command> - Disable chown</para></listitem>
|
---|
275 | </itemizedlist>
|
---|
276 | </listitem>
|
---|
277 | </varlistentry>
|
---|
278 |
|
---|
279 | <varlistentry>
|
---|
280 | <term>gpfs:syncio = [yes|no]</term>
|
---|
281 | <listitem>
|
---|
282 | <para>This parameter makes Samba open all files with O_SYNC.
|
---|
283 | This triggers optimizations in GPFS for workloads that
|
---|
284 | heavily share files.</para>
|
---|
285 |
|
---|
286 | <para>Following is the behaviour of Samba for different
|
---|
287 | values:
|
---|
288 | </para>
|
---|
289 | <itemizedlist>
|
---|
290 | <listitem><para><command>yes</command>Open files with O_SYNC
|
---|
291 | </para></listitem>
|
---|
292 | <listitem><para><command>no (default)</command>Open files as
|
---|
293 | normal Samba would do
|
---|
294 | </para></listitem>
|
---|
295 | </itemizedlist>
|
---|
296 | </listitem>
|
---|
297 | </varlistentry>
|
---|
298 |
|
---|
299 | </variablelist>
|
---|
300 | </refsect1>
|
---|
301 |
|
---|
302 | <refsect1>
|
---|
303 | <title>EXAMPLES</title>
|
---|
304 |
|
---|
305 | <para>A GPFS mount can be exported via Samba as follows :</para>
|
---|
306 |
|
---|
307 | <programlisting>
|
---|
308 | <smbconfsection name="[samba_gpfs_share]"/>
|
---|
309 | <smbconfoption name="vfs objects">gpfs</smbconfoption>
|
---|
310 | <smbconfoption name="path">/test/gpfs_mount</smbconfoption>
|
---|
311 | <smbconfoption name="nfs4: mode">special</smbconfoption>
|
---|
312 | <smbconfoption name="nfs4: acedup">merge</smbconfoption>
|
---|
313 | </programlisting>
|
---|
314 | </refsect1>
|
---|
315 |
|
---|
316 | <refsect1>
|
---|
317 | <title>CAVEATS</title>
|
---|
318 | <para>
|
---|
319 | Depending on the version of gpfs, the <command>libgpfs_gpl</command>
|
---|
320 | library or the <command>libgpfs</command> library is needed at
|
---|
321 | runtime by the <command>gpfs</command> VFS module:
|
---|
322 | Starting with gpfs 3.2.1 PTF8, the complete <command>libgpfs</command>
|
---|
323 | is available as open source and <command>libgpfs_gpl</command> does no
|
---|
324 | longer exist. With earlier versions of gpfs, only the
|
---|
325 | <command>libgpfs_gpl</command> library was open source and could be
|
---|
326 | used at run time.
|
---|
327 | </para>
|
---|
328 | <para>
|
---|
329 | At build time, only the header file <command>gpfs_gpl.h</command>
|
---|
330 | is required , which is a symlink to <command>gpfs.h</command> in
|
---|
331 | gpfs versions newer than 3.2.1 PTF8.
|
---|
332 | </para>
|
---|
333 | </refsect1>
|
---|
334 |
|
---|
335 | <refsect1>
|
---|
336 | <title>VERSION</title>
|
---|
337 | <para>This man page is correct for version 3.0.25 of the Samba suite.
|
---|
338 | </para>
|
---|
339 | </refsect1>
|
---|
340 |
|
---|
341 | <refsect1>
|
---|
342 | <title>AUTHOR</title>
|
---|
343 |
|
---|
344 | <para>The original Samba software and related utilities
|
---|
345 | were created by Andrew Tridgell. Samba is now developed
|
---|
346 | by the Samba Team as an Open Source project similar
|
---|
347 | to the way the Linux kernel is developed.</para>
|
---|
348 |
|
---|
349 | <para>The GPFS VFS module was created with contributions from
|
---|
350 | Volker Lendecke and the developers at IBM.
|
---|
351 | </para>
|
---|
352 |
|
---|
353 | <para> This manpage was created by the IBM FSCC team </para>
|
---|
354 | </refsect1>
|
---|
355 |
|
---|
356 | </refentry>
|
---|