mount.gfs(8) GFS mount options

SYNOPSIS

mount [StandardMountOptions] -t gfs DEVICE MOUNTPOINT -o [GFSOption1,GFSOption2,GFSOptionX...]

DESCRIPTION

GFS may be used as a local (single computer) filesystem, but its real purpose is in clusters, where multiple computers (nodes) share a common storage device.

Above is the format typically used to mount a GFS filesystem, using the mount(8) command. The device may be any block device on which you have created a GFS filesystem. Examples include a single disk partition (e.g. /dev/sdb3), a loopback device, a device exported from another node (e.g. an iSCSI device or a gnbd(8) device), or a logical volume (typically comprised of a number of individual disks).

device does not necessarily need to match the device name as seen on another node in the cluster, nor does it need to be a logical volume. However, the use of a cluster-aware volume manager such as CLVM2 (see lvm(8)) will guarantee that the managed devices are named identically on each node in a cluster (for much easier management), and will allow you to configure a very large volume from multiple storage units (e.g. disk drives).

device must make the entire filesystem storage area visible to the computer. That is, you cannot mount different parts of a single filesystem on different computers. Each computer must see an entire filesystem. You may, however, mount several GFS filesystems if you want to distribute your data storage in a controllable way.

mountpoint is the same as dir in the mount(8) man page.

This man page describes GFS-specific options that can be passed to the GFS file system at mount time, using the -o flag. There are many other -o options handled by the generic mount command mount(8). However, the options described below are specifically for GFS, and are not interpreted by the mount command nor by the kernel's Virtual File System. GFS and non-GFS options may be intermingled after the -o, separated by commas (but no spaces).

As an alternative to mount command line options, you may send mount options to gfs using "gfs_tool margs" (after loading the gfs kernel module, but before mounting GFS). For example, you may need to do this when working from an initial ramdisk initrd(4). The options are restricted to the ones described on this man page (no general mount(8) options will be recognized), must not be preceded by -o, and must be separated by commas (no spaces). Example:

# gfs_tool margs "lockproto=lock_nolock,ignore_local_fs"

Options loaded via "gfs_tool margs" have a lifetime of only one GFS mount. If you wish to mount another GFS filesystem, you must set another group of options with "gfs_tool margs".

If you have trouble mounting GFS, check the syslog (e.g. /var/log/messages) for specific error messages.

OPTIONS

lockproto=LockModuleName
This specifies which inter-node lock protocol is used by the GFS filesystem for this mount, overriding the default lock protocol name stored in the filesystem's on-disk superblock.

The LockModuleName must be an exact match of the protocol name presented by the lock module when it registers with the lock harness. Traditionally, this matches the .o filename of the lock module, e.g. lock_dlm, or lock_nolock.

The default lock protocol name is written to disk initially when creating the filesystem with mkfs.gfs(8), -p option. It can be changed on-disk by using the gfs_tool(8) utility's sb proto command.

The lockproto mount option should be used only under special circumstances in which you want to temporarily use a different lock protocol without changing the on-disk default.

locktable=LockTableName
This specifies the identity of the cluster and of the filesystem for this mount, overriding the default cluster/filesystem identify stored in the filesystem's on-disk superblock. The cluster/filesystem name is recognized globally throughout the cluster, and establishes a unique namespace for the inter-node locking system, enabling the mounting of multiple GFS filesystems.

The format of LockTableName is lock-module-specific. For lock_dlm, the format is clustername:fsname. For lock_nolock, the field is ignored.

The default cluster/filesystem name is written to disk initially when creating the filesystem with mkfs.gfs(8), -t option. It can be changed on-disk by using the gfs_tool(8) utility's sb table command.

The locktable mount option should be used only under special circumstances in which you want to mount the filesystem in a different cluster, or mount it as a different filesystem name, without changing the on-disk default.

localcaching
This flag tells GFS that it is running as a local (not clustered) filesystem, so it can turn on some block caching optimizations that can't be used when running in cluster mode.

This is turned on automatically by the lock_nolock module, but can be overridden by using the ignore_local_fs option.

localflocks
This flag tells GFS that it is running as a local (not clustered) filesystem, so it can allow the kernel VFS layer to do all flock and fcntl file locking. When running in cluster mode, these file locks require inter-node locks, and require the support of GFS. When running locally, better performance is achieved by letting VFS handle the whole job.

This is turned on automatically by the lock_nolock module, but can be overridden by using the ignore_local_fs option.

oopses_ok
Normally, GFS automatically turns on the "kernel.panic_on_oops" sysctl to cause the machine to panic if an oops (an in-kernel segfault or GFS assertion failure) happens. An oops on one machine of a cluster filesystem can cause the filesystem to stall on all machines in the cluster. (Panics don't have this "feature".) By turning on "panic_on_oops", GFS tries to make sure the cluster remains in operation even if one machine has a problem. There are cases, however, where this behavior is not desirable -- debugging being the main one. The oopses_ok option causes GFS to leave the "panic_on_oops" variable alone so oopses can happen. Use this option with care.

This is turned on automatically by the lock_nolock module, but can be overridden by using the ignore_local_fs option.

ignore_local_fs
By default, using the nolock lock module automatically turns on the localcaching and localflocks optimizations. ignore_local_fs forces GFS to treat the filesystem as if it were a multihost (clustered) filesystem, with localcaching and localflocks optimizations turned off.
upgrade
This flag tells GFS to upgrade the filesystem's on-disk format to the version supported by the current GFS software installation on this computer. If you try to mount an old-version disk image, GFS will notify you via a syslog message that you need to upgrade. Try mounting again, using the -o upgrade option. When upgrading, only one node may mount the GFS filesystem.
num_glockd
Tunes GFS to alleviate memory pressure when rapidly acquiring many locks (e.g. several processes scanning through huge directory trees). GFS' glockd kernel daemon cleans up memory for no-longer-needed glocks. Multiple instances of the daemon clean up faster than a single instance. The default value is one daemon, with a maximum of 32. Since this option was introduced, other methods of rapid cleanup have been developed within GFS, so this option may go away in the future.
acl
Enables POSIX Access Control List acl(5) support within GFS.
spectator
Mount this filesystem using a special form of read-only mount. The mount does not use one of the filesystem's journals.
suiddir
Sets owner of any newly created file or directory to be that of parent directory, if parent directory has S_ISUID permission attribute bit set. Sets S_ISUID in any new directory, if its parent directory's S_ISUID is set. Strips all execution bits on a new file, if parent directory owner is different from owner of process creating the file. Set this option only if you know why you are setting it.

LINKS

http://sources.redhat.com/cluster
-- home site of GFS
http://www.suse.de/~agruen/acl/linux-acls/
-- good writeup on ACL support in Linux