vfs_glusterfs - Man Page

Utilize features provided by GlusterFS

Synopsis

vfs objects = glusterfs

Description

This VFS module is part of the samba(8) suite​.

GlusterFS (http://www​.gluster​.org) is an Open Source clustered file system capable of scaling to several peta-bytes​. With its FUSE based native client, GlusterFS is available as a POSIX compliant file system and can hence be shared by Samba without additional steps​.

The vfs_glusterfs VFS module provides an alternative, and superior way to access a Gluster filesystem from Samba for sharing​. It does not require a Gluster FUSE mount but directly accesses the GlusterFS daemon through its library libgfapi, thereby omitting the expensive kernel-userspace context switches and taking advantage of some of the more advanced features of GlusterFS​.

This module can be combined with other modules, but it should be the last module in the vfs objects list​. Modules added to this list to the right of the glusterfs entry may not have any effect at all​.

Configuration

A basic configuration looks like this​.

		[share]
		vfs objects = glusterfs
		path = /relative/base/path
		glusterfs:volume = gv0
		kernel share modes = no

Note that since vfs_glusterfs does not require a Gluster mount, the share path is treated differently than for other shares: It is interpreted as the base path of the share relative to the gluster volume used​. Because this is usually not at the same time a system path, in a ctdb cluster setup where ctdb manages Samba, you need to set CTDB_SAMBA_SKIP_SHARE_CHECK=yes in ctdb's configuration file​. Otherwise ctdb will not get healthy​.

Note that currently kernel share modes have to be disabled in a share running with the glusterfs vfs module for file serving to work properly​.

Options

glusterfs:logfile = path

Defines whether and where to store a vfs_glusterfs specific logfile​. Client variable substitution is supported (i​.e​. %M, %m, %I), hence per client log file can be specified​.

Example: glusterfs:logfile = /var/log/samba/glusterfs-vol2​.%M​.log

glusterfs:loglevel = 0-9

Defines the level of logging, with higher numbers corresponding to more verbosity​. 0 - No logs; 9 - Trace log level; 7 being the info log level is preferred​.

If this option is not defined with an explicit loglevel, the glusterfs default is used (currently loglevel 7)​.

glusterfs:volfile_server = servername

Defines which volfile server to use, defaults to localhost​. It could be list of white space separated elements where each element could be

1​. unix+/path/to/socket/file

2​. [tcp+]IP|hostname|\[IPv6\][:port]

Note the restriction on naming a IPv6 host, it follows the same restriction that is based on IPv6 naming in URL as per RFC 2732​.

glusterfs:volume = volumename

Defines the glusterfs volumename to use for this share​.

Caveats

The GlusterFS write-behind performance translator, when used with Samba, could be a source of data corruption​. The translator, while processing a write call, immediately returns success but continues writing the data to the server in the background​. This can cause data corruption when two clients relying on Samba to provide data consistency are operating on the same file​.

The write-behind translator is enabled by default on GlusterFS​. The vfs_glusterfs plugin will check for the presence of the translator and refuse to connect if detected​. Please disable the write-behind translator for the GlusterFS volume to allow the plugin to connect to the volume​. The write-behind translator can easily be disabled via calling

                        gluster volume set <volumename> performance​.write-behind off

on the commandline​.

With GlusterFS versions >= 9, we silently bypass write-behind translator during initial connect and failure is avoided​.

Version

This man page is part of version 4​.25​.0 of the Samba suite​.

Author

The original Samba software and related utilities were created by Andrew Tridgell​. Samba is now developed by the Samba Team as an Open Source project similar to the way the Linux kernel is developed​.

Info

10/01/2026 Samba 4.25.0 System Administration tools