3.1. Creating a File System

3.1. Creating a File System

You can create a GFS file system with the gfs_mkfs command. A file system is created on an activated LVM volume. The following information is required to execute the gfs_mkfs command:

When creating a GFS file system, you can use the gfs_mkfs directly, or you can use the mkfs command with the -t parameter specifying a filesystem of type gfs, followed by the gfs file system options.

Usage

When creating a clustered GFS filesystem, you can use either of the following formats:

gfs_mkfs -p LockProtoName -t LockTableName -j NumberJournals BlockDevice
mkfs -t gfs -p LockProtoName -t LockTableName -j NumberJournals BlockDevice

When creating a local filesystem, you can use either of the following formats:

gfs_mkfs -p LockProtoName -j NumberJournals BlockDevice
mkfs -t gfs -p LockProtoName -j NumberJournals BlockDevice

Warning

Make sure that you are very familiar with using the LockProtoName and LockTableName parameters. Improper use of the LockProtoName and LockTableName parameters may cause file system or lock space corruption.

LockProtoName

Specifies the name of the locking protocol to use. The lock protocol for a cluster is lock_dlm. The lock protocol when GFS is acting as a local file system (one node only) is lock_nolock.

LockTableName

This parameter is specified for GFS filesystem in a cluster configuration. It has two parts separated by a colon (no spaces) as follows: ClusterName:FSName

  • ClusterName, the name of the Red Hat cluster for which the GFS file system is being created.

  • FSName, the file system name, can be 1 to 16 characters long, and the name must be unique among all file systems in the cluster.

NumberJournals

Specifies the number of journals to be created by the gfs_mkfs command. One journal is required for each node that mounts the file system. (More journals than are needed can be specified at creation time to allow for future expansion.)

BlockDevice

Specifies a volume.

Examples

In these examples, lock_dlm is the locking protocol that the file system uses, since this is a clustered file system. The cluster name is alpha, and the file system name is mydata1. The file system contains eight journals and is created on /dev/vg01/lvol0.

[root@ask-07 ~]#  gfs_mkfs -p lock_dlm -t alpha:mydata1 -j 8 /dev/vg01/lvol0
This will destroy any data on /dev/vg01/lvol0.

Are you sure you want to proceed? [y/n] y

Device:                    /dev/vg01/lvol0
Blocksize:                 4096
Filesystem Size:           136380192
Journals:                  8
Resource Groups:           2082
Locking Protocol:          lock_dlm
Lock Table:                alpha:mydata1

Syncing...
All Done
[root@ask-07 ~]#  mkfs -t gfs -p lock_dlm -t alpha:mydata1 -j 8 /dev/vg01/lvol0
This will destroy any data on /dev/vg01/lvol0.

Are you sure you want to proceed? [y/n] y

Device:                    /dev/vg01/lvol0
Blocksize:                 4096
Filesystem Size:           136380192
Journals:                  8
Resource Groups:           2082
Locking Protocol:          lock_dlm
Lock Table:                alpha:mydata1

Syncing...
All Done

In these examples, a second lock_dlm file system is made, which can be used in cluster alpha. The file system name is mydata2. The file system contains eight journals and is created on /dev/vg01/lvol1.

gfs_mkfs -p lock_dlm -t alpha:mydata2 -j 8 /dev/vg01/lvol1
mkfs -t gfs -p lock_dlm -t alpha:mydata2 -j 8 /dev/vg01/lvol1

Complete Options

Table 3.1, “Command Options: gfs_mkfs describes the gfs_mkfs command options.

Flag Parameter Description
-b BlockSize Sets the file system block size to BlockSize. Default block size is 4096 bytes.
-D Enables debugging output.
-h Help. Displays available options.
-J MegaBytes Specifies the size of the journal in megabytes. Default journal size is 128 megabytes. The minimum size is 32 megabytes.
-j Number

Specifies the number of journals to be created by the gfs_mkfs command. One journal is required for each node that mounts the file system.

Note: More journals than are needed can be specified at creation time to allow for future expansion.

-p LockProtoName

Specifies the name of the locking protocol to use. Recognized locking protocols include:

lock_dlm — The standard locking module, required for a clustered file system.

lock_nolock — Used when GFS is acting as a local file system (one node only).

-O Prevents the gfs_mkfs command from asking for confirmation before writing the file system.
-q Quiet. Do not display anything.
-r MegaBytes Specifies the size of the resource groups in megabytes. Default resource group size is 256 megabytes.
-s Blocks Specifies the journal-segment size in file system blocks.
-t LockTableName

Used in a clustered file system. This parameter has two parts separated by a colon (no spaces) as follows: ClusterName:FSName.

ClusterName is the name of the Red Hat cluster for which the GFS file system is being created. The cluster name is set in the /etc/cluster/cluster.conf file via the Cluster Configuration Tool and displayed at the Cluster Status Tool in the Red Hat Cluster Suite cluster management GUI.

FSName, the file system name, can be 1 to 16 characters in length, and the name must be unique among all file systems in the cluster.

-V Displays command version information.
Table 3.1. Command Options: gfs_mkfs


Note: This documentation is provided {and copyrighted} by Red Hat®, Inc. and is released via the Open Publication License. The copyright holder has added the further requirement that Distribution of substantively modified versions of this document is prohibited without the explicit permission of the copyright holder. The CentOS project redistributes these original works (in their unmodified form) as a reference for CentOS-5 because CentOS-5 is built from publicly available, open source SRPMS. The documentation is unmodified to be compliant with upstream distribution policy. Neither CentOS-5 nor the CentOS Project are in any way affiliated with or sponsored by Red Hat®, Inc.