mount.gfs(8) System Manager's Manual mount.gfs(8)
NAME
mount.gfs - 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 com-
mon 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, sepa-
rated 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 seg-
fault 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
SEE ALSO
gfs(8), mount(8) for general mount options, chmod(1) and chmod(2) for access permission flags, acl(5) for access control lists, lvm(8) for
volume management, ccs(7) for cluster management, umount(8), initrd(4).
mount.gfs(8)