Global File System¶
https://fedorahosted.org/cluster/wiki/HomePage
GFS is a cluster file system. It allows a cluster of computers to simultaneously use a block device that is shared between them (with FC, iSCSI, NBD, etc). GFS reads and writes to the block device like a local file system, but also uses a lock module to allow the computers coordinate their I/O so file system consistency is maintained. One of the nifty features of GFS is perfect consistency – changes made to the file system on one machine show up immediately on all other machines in the cluster.
GFS uses interchangeable inter-node locking mechanisms, the currently supported mechanisms are:
- lock_nolock
allows gfs to be used as a local file system
- lock_dlm
uses a distributed lock manager (dlm) for inter-node locking. The dlm is found at linux/fs/dlm/
Lock_dlm depends on user space cluster management systems found at the URL above.
To use gfs as a local file system, no external clustering systems are needed, simply:
$ mkfs -t gfs2 -p lock_nolock -j 1 /dev/block_device
$ mount -t gfs2 /dev/block_device /dir
If you are using Fedora, you need to install the gfs2-utils package and, for lock_dlm, you will also need to install the cman package and write a cluster.conf as per the documentation. For F17 and above cman has been replaced by the dlm package.
GFS2 is not on-disk compatible with previous versions of GFS, but it is pretty close.
The following man pages can be found at the URL above:
fsck.gfs2
to repair a filesystem
gfs2_grow
to expand a filesystem online
gfs2_jadd
to add journals to a filesystem online
tunegfs2
to manipulate, examine and tune a filesystem
gfs2_convert
to convert a gfs filesystem to gfs2 in-place
mkfs.gfs2
to make a filesystem