GFS is a native file system that interfaces directly with the VFS layer of the Linux kernel file-system interface. GFS is a cluster file system that employs distributed metadata and multiple journals for optimal operation in a cluster.
GFS provides the following main functions:
Cluster volume management
Cluster management, fencing, and recovery
Cluster configuration management
Cluster volume management provides simplified management of volumes and the ability to dynamically extend file system capacity without interrupting file-system access. With cluster volume management, you can aggregate multiple physical volumes into a single, logical device across all nodes in a cluster.
Cluster volume management provides a logical view of the storage to GFS, which provides flexibility for the administrator in how the physical storage is managed. Also, cluster volume management provides increased availability because it allows increasing the storage capacity without shutting down the cluster. Refer to Chapter 5 Using the Pool Volume Manager for more information about cluster volume management.
A lock management mechanism is a key component of any cluster file system. The GFS OmniLock architecture provides the following lock managers:
Single Lock Manager (SLM) — A simple centralized lock manager that can be configured to run either on a file system node or on a separate dedicated lock manager node.
Redundant Lock Manager (RLM) — A high-availability lock manager. It allows the configuration of a master and multiple hot-standby failover lock manager nodes. The failover nodes provide failover in case the master lock manager node fails.
The lock managers also provide cluster management functions that control node recovery. Refer to Chapter 8 Using Clustering and Locking Systems for a description of the GFS lock protocols.
Cluster management functions in GFS monitor node status through heartbeat signals to determine cluster membership. Also, cluster management keeps track of which nodes are using each GFS file system, and initiates and coordinates the recovery process when nodes fail. This process involves recovery coordination from the fencing system, the lock manager, and the file system. The cluster management functions are embedded in each of the lock management modules described earlier in Lock Management. Refer to Chapter 8 Using Clustering and Locking Systems for more information on cluster management.
Fencing is the ability to isolate or "fence off" a cluster node when that node loses its heartbeat notification with the rest of the cluster nodes. Fencing ensures that data integrity is maintained during the recovery of a failed cluster node. GFS supports a variety of automated fencing methods and one manual method. In addition, GFS provides the ability to configure each cluster node for cascaded fencing with the automated fencing methods. Refer to Chapter 10 Using the Fencing System for more information about the GFS fencing capability.
Recovery is the process of controlling reentry of a node into a cluster after the node has been fenced. Recovery ensures that storage data integrity is maintained in the cluster while the previously fenced node is reentering the cluster. As stated earlier, recovery involves coordination from fencing, lock management, and the file system.
Cluster configuration management provides a centralized mechanism for the configuration and maintenance of configuration files throughout the cluster. It provides high-availability access to configuration-state information for all nodes in the cluster.
For information about cluster configuration management refer to Chapter 6 Creating the Cluster Configuration System Files and Chapter 7 Using the Cluster Configuration System.