1.4. GFS Software Subsystems

GFS consists of the following subsystems:

Table 1-1 summarizes the GFS Software subsystems and their components.

Software SubsystemComponentsDescription
Cluster Configuration System (CCS)ccs_toolCommand used to create CCS archives.
 ccs_readDiagnostic and testing command that is used to retrieve information from configuration files through ccsd.
 ccsdCCS daemon that runs on all cluster nodes and provides configuration file data to cluster software.
 ccs_servdCCS server daemon that distributes CCS data from a single server to ccsd daemons when a shared device is not used for storing CCS data.
Fencefence_nodeCommand used by lock_gulmd when a fence operation is required. This command takes the name of a node and fences it based on the node's fencing configuration.
 fence_apcFence agent for APC power switch.
 fence_wtiFence agent for WTI power switch.
 fence_brocadeFence agent for Brocade Fibre Channel switch.
 fence_mcdataFence agent for McData Fibre Channel switch.
 fence_vixelFence agent for Vixel Fibre Channel switch.
 fence_ribFence agent for RIB card.
 fence_gnbdFence agent used with GNBD storage.
 fence_egeneraFence agent used with Egenera BladeFrame system.
 fence_xcatFence agent used with xCAT-managed cluster.

Fence agent for manual interaction.
WARNING: Manual fencing should not be used in a production environment. Manual fencing depends on human intervention whenever a node needs recovery. Cluster operation is halted during the intervention.

 fence_ack_manualUser interface for fence_manual agent.
Poolpool.oKernel module implementing the pool block-device driver.
 pool_assembleCommand that activates and deactivates pool volumes.
 pool_toolCommand that configures pool volumes from individual storage devices.
 pool_infoCommand that reports information about system pools.
 pool_growCommand that expands a pool volume.
 pool_mpCommand that manages pool multipathing.
LOCK_GULMlock_gulm.oKernel module that is installed on GFS nodes using the LOCK_GULM lock module.
 lock_gulmdServer/daemon that runs on each node and communicates with all nodes in GFS cluster.
 gulm_toolCommand that configures and debugs the lock_gulmd server.
LOCK_NOLOCKlock_nolock.oKernel module installed on a node using GFS as a local file system.
GFSgfs.oKernel module that implements the GFS file system and is loaded on GFS cluster nodes.
 lock_harness.oKernel module that implements the GFS lock harness into which GFS lock modules can plug.
 gfs_mkfsCommand that creates a GFS file system on a storage device.
 gfs_toolCommand that configures or tunes a GFS file system. This command can also gather a variety of information about the file system.
 gfs_quotaCommand that manages quotas on a mounted GFS file system.
 gfs_growCommand that grows a mounted GFS file system.
 gfs_jaddCommand that adds journals to a mounted GFS file system.
 gfs_fsckCommand that repairs an unmounted GFS file system.
GNBDgnbd.oKernel module that implements the GNBD device driver on clients.
 gnbd_serv.oKernel module that implements the GNBD server. It allows a node to export local storage over the network.
 gnbd_exportCommand to create, export and manage GNBDs on a GNBD server.
 gnbd_importCommand to import and manage GNBDs on a GNBD client.
Upgradegfs_confCommand that retrieves from a cidev configuration information from earlier versions of GFS.

Table 1-1. GFS Software Subsystem Components