mkfs.gfs2 [OPTION]... DEVICE [ block-count ]


mkfs.gfs2 is used to create a Global File System.


-b BlockSize

Set the filesystem block size to BlockSize (must be a power of two). The minimum block size is 512. The FS block size cannot exceed the machine's memory page size. On the most architectures (i386, x86_64, s390, s390x), the memory page size is 4096 bytes. On other architectures it may be bigger. The default block size is 4096 bytes. In general, GFS2 filesystems should not deviate from the default value.

-c MegaBytes

Initial size of each journal's quota change file


Enable debugging output.


Print out a help message describing available options, then exit.

-J MegaBytes

The size of the journals in Megabytes. The default journal size is 128 megabytes. The minimum size is 8 megabytes.

-j Number

The number of journals for gfs2_mkfs to create. You need at least one journal per machine that will mount the filesystem. If this option is not specified, one journal will be created.


Keep, do not attempt to discard blocks at mkfs time (discarding blocks initially is useful on solid state devices and sparse / thin-provisioned storage).


This option prevents gfs2_mkfs from asking for confirmation before writing the filesystem.

-p LockProtoName

LockProtoName is the name of the locking protocol to use. Acceptable locking protocols are lock_dlm (for shared storage) or if you are using GFS2 as a local filesystem (1 node only), you can specify the lock_nolock protocol. If this option is not specified, lock_dlm protocol will be assumed.


Be quiet. Don't print anything.

-r MegaBytes

gfs2_mkfs will try to make Resource Groups about this big. Minimum RG size is 32 MB. Maximum RG size is 2048 MB. A large RG size may increase performance on very large file systems. If not specified, mkfs.gfs2 will choose the RG size based on the size of the file system: average size file systems will have 256 MB RGs, and bigger file systems will have bigger RGs for better performance.

-t LockTableName

The lock table field appropriate to the lock module you're using. It is clustername:fsname. Clustername must match that in cluster.conf; only members of this cluster are permitted to use this file system. Fsname is a unique file system name used to distinguish this GFS2 file system from others created (1 to 16 characters). Lock_nolock doesn't use this field.

-u MegaBytes

Initial size of each journal's unlinked tag file


Print program version information, then exit.

[ block-count ]

Make the file system this many blocks in size. If not specified, the entire length of the specified device is used.


gfs2_mkfs -t mycluster:mygfs2 -p lock_dlm -j 2 /dev/vg0/mygfs2

This will make a Global File System on the block device "/dev/vg0/mygfs2". It will belong to "mycluster" and register itself as wanting locking for "mygfs2". It will use DLM for locking and make two journals.

gfs2_mkfs -t mycluster:mygfs2 -p lock_nolock -j 3 /dev/vg0/mygfs2

This will make a Global File System on the block device "/dev/vg0/mygfs2". It will belong to "mycluster" and but have no cluster locking. It will have three journals.