| 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>
|
|---|