Merge branch 'next-general' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris...
[linux-2.6-microblaze.git] / Documentation / filesystems / gfs2.rst
1 .. SPDX-License-Identifier: GPL-2.0
2
3 ==================
4 Global File System
5 ==================
6
7 https://fedorahosted.org/cluster/wiki/HomePage
8
9 GFS is a cluster file system. It allows a cluster of computers to
10 simultaneously use a block device that is shared between them (with FC,
11 iSCSI, NBD, etc).  GFS reads and writes to the block device like a local
12 file system, but also uses a lock module to allow the computers coordinate
13 their I/O so file system consistency is maintained.  One of the nifty
14 features of GFS is perfect consistency -- changes made to the file system
15 on one machine show up immediately on all other machines in the cluster.
16
17 GFS uses interchangeable inter-node locking mechanisms, the currently
18 supported mechanisms are:
19
20   lock_nolock
21     - allows gfs to be used as a local file system
22
23   lock_dlm
24     - uses a distributed lock manager (dlm) for inter-node locking.
25       The dlm is found at linux/fs/dlm/
26
27 Lock_dlm depends on user space cluster management systems found
28 at the URL above.
29
30 To use gfs as a local file system, no external clustering systems are
31 needed, simply::
32
33   $ mkfs -t gfs2 -p lock_nolock -j 1 /dev/block_device
34   $ mount -t gfs2 /dev/block_device /dir
35
36 If you are using Fedora, you need to install the gfs2-utils package
37 and, for lock_dlm, you will also need to install the cman package
38 and write a cluster.conf as per the documentation. For F17 and above
39 cman has been replaced by the dlm package.
40
41 GFS2 is not on-disk compatible with previous versions of GFS, but it
42 is pretty close.
43
44 The following man pages can be found at the URL above:
45
46   ============          =============================================
47   fsck.gfs2             to repair a filesystem
48   gfs2_grow             to expand a filesystem online
49   gfs2_jadd             to add journals to a filesystem online
50   tunegfs2              to manipulate, examine and tune a filesystem
51   gfs2_convert          to convert a gfs filesystem to gfs2 in-place
52   mkfs.gfs2             to make a filesystem
53   ============          =============================================