The Global File System 6.1pre21 review

by on

GFS (Global File System) is a cluster file system

License: GPL (GNU General Public License)
File size: 169K
Developer: Michael Declerck
0 stars award from

GFS (Global File System) 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 filesystem, but also uses a lock module to allow the computers coordinate their I/O so filesystem consistency is maintained. One of the nifty features of GFS is perfect consistency -- changes made to the filesystem on one machine show up immediately on all other machines in the cluster.

GFS consists of a set of kernel patches and userspace programs.
The GFS lock module lock_dlm depends on CMAN and DLM.
The GFS lock module lock_gulm depends on GULM.
The GFS lock module lock_nolock depends on nothing.
Some GFS tools depend on the iddev library.

Building and Installing

1. build and install from cluster tree
cd cluster
./configure --kernel_src=/path/to/kernel
make; make install

- This builds and installs kernel modules, libraries and user programs.

- Kernel modules can also be built within the original kernel source tree by applying the kernel patches from cman-kernel/patches, dlm-kernel/patches and gfs-kernel/patches.

2. build device mapper user space
cd device-mapper
make; make install

3. build lvm2/clvm
cd LVM2
./configure --with-clvmd --with-cluster=shared
make; make install
LVM2/scripts/ /usr/lib

Load kernel modules

depmod -a
modprobe dm-mod
modprobe gfs
modprobe lock_dlm

Modules that should be loaded: lock_dlm, dlm, cman, gfs, lock_harness and dm-mod if device-mapper was built as a module.

Startup procedure

Run these commands on each cluster node:

> ccsd - Starts the CCS daemon
> cman_tool join - Joins the cluster
> fence_tool join - Joins the fence domain (starts fenced)
> clvmd - Starts the CLVM daemon
> vgchange -aly - Activates LVM volumes (locally)
> mount -t gfs /dev/vg/lvol /mnt - Mounts a GFS file system

Shutdown procedure

Run these commands on each cluster node:

> umount /mnt - Unmounts a GFS file system
> vgchange -aln - Deactivates LVM volumes (locally)
> killall clvmd - Stops the CLVM daemon
> fence_tool leave - Leaves the fence domain (stops fenced)
> cman_tool leave - Leaves the cluster
> killall ccsd - Stops the CCS daemon

The Global File System 6.1pre21 keywords